mirror of
https://github.com/stablyai/orca.git
synced 2026-11-15 10:27:33 +00:00
Correct mutable read checks and fixture type annotations
This commit is contained in:
@@ -4,8 +4,10 @@ import { dirname, join } from 'node:path'
|
||||
import { Readable } from 'node:stream'
|
||||
import { afterEach, beforeEach, expect, it, vi } from 'vitest'
|
||||
import { resetSessionParseCacheForTests } from '../../ai-vault/parse-cache/session-parse-cache-store'
|
||||
import { resetTranscriptConsumersForTests } from '../../ai-vault/transcripts/session-transcript-consumers'
|
||||
import { registerTranscriptConsumer } from '../../ai-vault/transcripts/session-transcript-consumers'
|
||||
import {
|
||||
resetTranscriptConsumersForTests,
|
||||
registerTranscriptConsumer
|
||||
} from '../../ai-vault/transcripts/session-transcript-consumers'
|
||||
import { physicalSessionCandidates } from '../../ai-vault/session-scanner-types'
|
||||
import { isolatedScanRoots } from '../../ai-vault/scanner-fixtures/session-scanner-test-fixtures'
|
||||
import {
|
||||
@@ -21,7 +23,7 @@ import {
|
||||
type SessionSearchIndexFile
|
||||
} from '../storage/session-search-index-test-fixture'
|
||||
|
||||
const io = vi.hoisted(() => ({ failed: '', paths: [] as string[] }))
|
||||
const io = vi.hoisted((): { failed: string; paths: string[] } => ({ failed: '', paths: [] }))
|
||||
vi.mock(
|
||||
'../../native-chat/transcript-filesystem/wsl-transcript-fs-access',
|
||||
async (importOriginal) => {
|
||||
|
||||
@@ -32,12 +32,13 @@ export async function runSessionSearchIndexPass(
|
||||
): Promise<{ stats: SessionParseStats; outOfTime: boolean; left: number }> {
|
||||
const stats = createSessionParseStats()
|
||||
const cutoffMs = store.retentionCutoff
|
||||
const acceptsReads = () => store.acceptingReads !== false
|
||||
let read = 0
|
||||
let outOfTime = false
|
||||
let left = 0
|
||||
for (const choice of candidates) {
|
||||
throwIfAiVaultScanCancelled(options.signal)
|
||||
if (store.acceptingReads === false) {
|
||||
if (!acceptsReads()) {
|
||||
break
|
||||
}
|
||||
let deferred = false
|
||||
@@ -45,7 +46,7 @@ export async function runSessionSearchIndexPass(
|
||||
let admitted = false
|
||||
for (const candidate of physicalSessionCandidates(choice)) {
|
||||
throwIfAiVaultScanCancelled(options.signal)
|
||||
if (store.acceptingReads === false) {
|
||||
if (!acceptsReads()) {
|
||||
break
|
||||
}
|
||||
const path = candidate.file.path
|
||||
@@ -72,7 +73,7 @@ export async function runSessionSearchIndexPass(
|
||||
continue
|
||||
}
|
||||
throwIfAiVaultScanCancelled(options.signal)
|
||||
if (store.acceptingReads === false) {
|
||||
if (!acceptsReads()) {
|
||||
break
|
||||
}
|
||||
admitted = true
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
import { isTranscriptSourceFailure } from './session-scanner-jsonl-reader'
|
||||
import { physicalSessionCandidates, type SessionFileChoice } from '../session-scanner-types'
|
||||
import {
|
||||
physicalSessionCandidates,
|
||||
type SessionFileCandidate,
|
||||
type SessionFileChoice,
|
||||
type SessionParseResult
|
||||
} from '../session-scanner-types'
|
||||
import { yieldToEventLoop } from '../../../shared/event-loop-yield'
|
||||
import { isTextTaskRequestSession } from './text-task-request-sessions'
|
||||
import { candidateFileTime } from '../scanners/antigravity/antigravity-transcript-candidates'
|
||||
@@ -26,7 +31,6 @@ import {
|
||||
sessionParseCacheKey
|
||||
} from '../parse-cache/session-parse-cache-store'
|
||||
import { canStopParsingSessions } from './session-scan-cutoff'
|
||||
import type { SessionFileCandidate, SessionParseResult } from '../session-scanner-types'
|
||||
import { throwIfAiVaultScanCancelled } from '../scan-lifecycle/ai-vault-scan-cancellation'
|
||||
import { noteAiVaultScanWorkChanged } from '../scan-lifecycle/ai-vault-scan-progress'
|
||||
|
||||
|
||||
@@ -9,12 +9,19 @@ import { sessionCandidatesFromDiscoveries } from '../../discovery/session-scanne
|
||||
import { scanAiVaultSessions } from '../../session-scanner'
|
||||
import { isolatedScanRoots, jsonLines } from '../../scanner-fixtures/session-scanner-test-fixtures'
|
||||
|
||||
const reads = vi.hoisted(() => ({
|
||||
failed: '',
|
||||
failedSlice: '',
|
||||
cancel: null as AbortController | null,
|
||||
paths: [] as string[]
|
||||
}))
|
||||
const reads = vi.hoisted(
|
||||
(): {
|
||||
failed: string
|
||||
failedSlice: string
|
||||
cancel: AbortController | null
|
||||
paths: string[]
|
||||
} => ({
|
||||
failed: '',
|
||||
failedSlice: '',
|
||||
cancel: null,
|
||||
paths: []
|
||||
})
|
||||
)
|
||||
vi.mock(
|
||||
'../../../native-chat/transcript-filesystem/wsl-transcript-fs-access',
|
||||
async (importOriginal) => {
|
||||
|
||||
Reference in New Issue
Block a user