From 88bda26a2c33f5bd45e2e7bf7db78c2eb57181cf Mon Sep 17 00:00:00 2001 From: BK Date: Wed, 21 Oct 2026 13:18:28 +0700 Subject: [PATCH] =?UTF-8?q?feat(symbols,watch):=20Stage=203=20=E2=80=94=20?= =?UTF-8?q?tree-sitter=20WASM=20extraction,=20per-symbol=20chunks,=20watch?= =?UTF-8?q?Roots,=20structured=20search?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - extractSymbolsTree/symbolsFor: swift/ts/tsx/js/py via web-tree-sitter@0.25.4 + tree-sitter-wasms pack; caller-owned grammar map; regex fallback unchanged. Vendored 0.1.8 swift wasm — pack swift >= 0.1.10 is process-fatal on Node 24 (V8 turboshaft Zone OOM in background tier-up; details in grammars/README.md). - NormalizedDocument.chunks? passthrough (F1): pre-chunked docs stored verbatim; repoConnector emits one chunk per symbol (heading_path "symbol: name (kind)"). - repoDocumentFor (F3): per-file normalize for watcher batches, same skip rules. - watchRoots: debounced batches, one OS watch per root, ignore policy, healthy(). - EsCompatRetriever.search (F2): BM25 + heading_path prefix filter, throws on error. - Suite 226 passed (WASM tests run WITHOUT --liftoff-only — vendored swift clean). v0.8.0 --- CHANGELOG.md | 30 +++++ grammars/README.md | 22 ++++ grammars/tree-sitter-swift.wasm | Bin 0 -> 2407608 bytes package.json | 10 +- pnpm-lock.yaml | 16 +++ src/index.ts | 13 ++- src/retrieval/es-compat.ts | 26 +++++ src/sources/connector.ts | 9 +- src/sources/repo.ts | 70 ++++++++++-- src/sources/tree-sitter.ts | 194 +++++++++++++++++++++++++++++--- src/watch.ts | 109 ++++++++++++++++++ test/boundary.test.ts | 5 +- test/es-compat-search.test.ts | 56 +++++++++ test/symbols.test.ts | 8 +- test/tree-sitter-wasm.test.ts | 143 +++++++++++++++++++++++ test/watch.test.ts | 78 +++++++++++++ 16 files changed, 748 insertions(+), 41 deletions(-) create mode 100644 grammars/README.md create mode 100755 grammars/tree-sitter-swift.wasm create mode 100644 src/watch.ts create mode 100644 test/es-compat-search.test.ts create mode 100644 test/tree-sitter-wasm.test.ts create mode 100644 test/watch.test.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 26b8c46..2dc4f45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,33 @@ +## [0.8.0] — 2026-10-21 (Stage 3: tree-sitter symbols + watchRoots + structured search) + +### Added +- **tree-sitter WASM symbol extraction** — `extractSymbolsTree`/`symbolsFor` parse Swift / + TypeScript / TSX / JS / Python via `web-tree-sitter` (0.25.4) + the `tree-sitter-wasms` pack. + Grammar policy is CALLER-supplied (`SymbolGrammars`: ext → pack name or absolute .wasm path); + `defaultSymbolGrammars()` ships butler's preset. No grammar configured → v1 TS/JS regex + fallback; grammar load failure → empty result, never fatal. + **Vendored `grammars/tree-sitter-swift.wasm`** (from tree-sitter-wasms@0.1.8): the pack's + swift build ≥ 0.1.10 aborts Node ≥ 24 (`Fatal process out of memory: Zone`, V8 turboshaft + wasm tier-up — background thread, process-fatal; `--liftoff-only` avoids it but is banned in + NODE_OPTIONS). See grammars/README.md; re-extract when upstream fixes it. +- **Per-symbol chunks (F1)** — `NormalizedDocument.chunks?` passthrough: ingest stores + pre-chunked docs verbatim. `repoConnector(symbols: true)` now emits one chunk per symbol with + `heading_path "symbol: ()"` (v1 concatenated all symbols into doc content, + unretrievable by heading). Doc content stays a browsable summary. +- **`repoDocumentFor(cfg, absPath)`** (F3) — per-file normalize (file doc + symbol doc) honoring + the same skip rules; the freshness watcher path re-ingests one changed file without paying the + walk. `symbolDocFor` exported alongside. +- **`watchRoots(roots, opts, onBatch)`** — debounced changed-path batches, one OS watch per root + (no polling), caller-supplied ignore policy, `healthy()`/`describe()` surface; watcher errors + mark the root dead, never throw into the caller's loop. +- **`EsCompatRetriever.search({ query, headingPrefix?, size })`** (F2) — structured search: + BM25 + optional heading_path prefix filter (match_phrase_prefix over the analyzed field). + Same throw contract as `retrieve()`. +- Hermetic tests: WASM extraction per language, per-file normalize, chunks passthrough + + idempotence, watcher batches/ignore/health (real fs events, tmp dirs), structured search + (fake endpoint). Full suite 226 passed; `node:module` + `web-tree-sitter` added to the + boundary allowlist. + ## [0.7.0] — 2026-10-21 (Stage 2b: ES-compatible retrieval + xerj sidecar runner) ### Added diff --git a/grammars/README.md b/grammars/README.md new file mode 100644 index 0000000..bbfe31f --- /dev/null +++ b/grammars/README.md @@ -0,0 +1,22 @@ +# Vendored grammar WASMs + +## tree-sitter-swift.wasm — from tree-sitter-wasms@0.1.8 + +The swift grammar shipped in tree-sitter-wasms >= 0.1.10 (identical bytes through +0.1.13) aborts Node >= 24 during background wasm tier-up: + + # Fatal process out of memory: Zone + v8::internal::compiler::turboshaft::WasmLoweringPhase + +The parse itself succeeds; the crash fires in the background compile thread, so +any process that loads the module eventually dies (observed on Node 24.12, +web-tree-sitter 0.25.x, macOS arm64; `node --liftoff-only` avoids it but is not +allowed in NODE_OPTIONS). The 0.1.8 build (older, smaller swift grammar) tier-ups +cleanly and extracts the same declaration set. tree-sitter/typescript/tsx/python +from the current pack are unaffected and resolve from `tree-sitter-wasms` at +runtime. + +Re-extract when the upstream pack ships a fixed swift build: + npm pack tree-sitter-wasms@ && tar -xzf … package/out/tree-sitter-swift.wasm +then re-run test/tree-sitter-wasm.test.ts WITHOUT --liftoff-only to prove the +crash is gone before deleting this vendored copy. diff --git a/grammars/tree-sitter-swift.wasm b/grammars/tree-sitter-swift.wasm new file mode 100755 index 0000000000000000000000000000000000000000..5e18be5a737b07b5eaa26a5bb7c1f5b25749680e GIT binary patch literal 2407608 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

b?+9H!HQh|u5xODab;(G`U$xsw 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 rw(adP_L=0.6'} + tree-sitter-wasms@0.1.13: + resolution: {integrity: sha512-wT+cR6DwaIz80/vho3AvSF0N4txuNx/5bcRKoXouOfClpxh/qqrF4URNLQXbbt8MaAxeksZcZd1j8gcGjc+QxQ==} + tsx@4.23.15: resolution: {integrity: sha512-Yiex1Ovn8z2xPpOWckIiysV1SSyRMY9BkLF++q0yKiDxCqRhosKfMg3janKkiLBwZ5c/YryloKwGZcrEmtwxKw==} engines: {node: '>=18.0.0'} @@ -1627,6 +1636,9 @@ packages: typescript: optional: true + web-tree-sitter@0.25.4: + resolution: {integrity: sha512-BNbAL2tgeuqpufHOM4TapD8evwq+J+X514rTL7zMgDSc+RN9LlByE3zVtTheucwQFkQ+FPU0Pz8Wn4Emz9itRg==} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -2964,6 +2976,8 @@ snapshots: toidentifier@1.0.1: {} + tree-sitter-wasms@0.1.13: {} + tsx@4.23.15: dependencies: esbuild: 0.28.2 @@ -3094,6 +3108,8 @@ snapshots: optionalDependencies: typescript: 5.9.3 + web-tree-sitter@0.25.4: {} + which@2.0.2: dependencies: isexe: 2.0.0 diff --git a/src/index.ts b/src/index.ts index 0f49a37..9fa458e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -30,7 +30,7 @@ export type { SourceConnector, NormalizedDocument, IngestResult } from './source export { fileConnector } from './sources/file.ts'; export { jiraConnector, githubConnector } from './sources/jira-github.ts'; export type { JiraSourceConfig, GithubSourceConfig } from './sources/jira-github.ts'; -export { repoConnector } from './sources/repo.ts'; +export { repoConnector, repoDocumentFor, symbolDocFor } from './sources/repo.ts'; export type { RepoSourceConfig } from './sources/repo.ts'; // Stage 4 — transports (conversation API + MCP; consumers mount these) @@ -39,9 +39,14 @@ export type { ConversationDeps, TurnOutcome } from './transport/conversation.ts' export { mountMcp } from './transport/mcp.ts'; export type { McpMountOpts } from './transport/mcp.ts'; -// Roadmap stage G — symbol chunks (repo sources opt-in) -export { extractSymbols, symbolChunks } from './sources/tree-sitter.ts'; -export type { SymbolInfo, SymbolChunk } from './sources/tree-sitter.ts'; +// Roadmap stage G → Stage-3 v2 — symbol chunks (tree-sitter WASM; repo +// sources opt in with a grammar map, regex fallback without) +export { extractSymbols, extractSymbolsTree, symbolsFor, symbolChunksFor, prepareGrammars, defaultSymbolGrammars } from './sources/tree-sitter.ts'; +export type { SymbolInfo, SymbolChunk, SymbolGrammars } from './sources/tree-sitter.ts'; + +// Stage 3 — watchRoots mechanism (freshness; policy lives with the consumer) +export { watchRoots } from './watch.ts'; +export type { WatchHandle, WatchOptions } from './watch.ts'; // Roadmap stage F — postgres storage driver export { PostgresStorage } from './memory/postgres.ts'; diff --git a/src/retrieval/es-compat.ts b/src/retrieval/es-compat.ts index 8a04d20..534112e 100644 --- a/src/retrieval/es-compat.ts +++ b/src/retrieval/es-compat.ts @@ -48,6 +48,32 @@ export class EsCompatRetriever implements Retriever { return (body.hits?.hits ?? []).map((h) => this.map(h)); } + /** Structured search (Stage-3 F2): BM25 over `query` with an optional + * heading_path prefix filter. The mapping's heading_path is text+keyword; + * match_phrase_prefix matches the ANALYZED field, so a prefix like + * "symbol: CliError" hits "symbol: CliError (class)" exactly without + * wildcard cost. Same failure contract as retrieve(): throws. */ + async search(opts: { query: string; headingPrefix?: string; size?: number }): Promise { + const must = opts.query.length > 0 ? [{ match: { [this.field]: opts.query } }] : [{ match_all: {} }]; + const filter = opts.headingPrefix ? [{ bool: { should: [ + { match_phrase_prefix: { heading_path: opts.headingPrefix } }, + { match_phrase: { heading_path: opts.headingPrefix } }, + ] } }] : []; + const res = await this.fetchImpl(`${this.baseUrl}/${this.index}/_search`, { + method: 'POST', + headers: { 'content-type': 'application/json' }, + body: JSON.stringify({ + size: opts.size ?? 10, + query: { bool: { must, filter } }, + }), + }); + if (!res.ok) { + throw new Error(`es-compat structured search failed (${res.status}): ${(await res.text().catch(() => '')).slice(0, 200)}`); + } + const body = (await res.json()) as { hits?: { hits?: EsHit[] } }; + return (body.hits?.hits ?? []).map((h) => this.map(h)); + } + private map(h: EsHit): RetrievedChunk { const src = h._source ?? {}; if (h._id.startsWith('note:')) { diff --git a/src/sources/connector.ts b/src/sources/connector.ts index e2f9b8f..5d3b519 100644 --- a/src/sources/connector.ts +++ b/src/sources/connector.ts @@ -4,7 +4,7 @@ * unchanged content skips re-chunking. Caps per D12. */ import { createHash } from 'node:crypto'; import type { Storage, DocumentRow, ChunkRow } from '../memory/contract.ts'; -import { structuralChunks } from '../chunk.ts'; +import { structuralChunks, type StructuralChunk } from '../chunk.ts'; export interface NormalizedDocument { uri: string; @@ -14,6 +14,11 @@ export interface NormalizedDocument { kind: string; /** binary bytes when content is null → stored at bytes_path */ bytes?: Uint8Array; + /** PRE-CHUNKED content (Stage-3 F1 passthrough): when present, ingest + * stores these chunks verbatim instead of re-chunking `content`. Lets a + * connector emit structured chunks (e.g. per-symbol heading_path) while + * `content` stays a browsable summary. Ordinals as given, 0-based. */ + chunks?: StructuralChunk[]; } export interface SourceConnector { @@ -86,7 +91,7 @@ export async function ingest( let chunks: Array> = []; if (isText) { - chunks = structuralChunks(doc.content!, doc.kind).map((c) => ({ ordinal: c.ordinal, heading_path: c.headingPath, content: c.content, tokens: c.tokens })); + chunks = (doc.chunks ?? structuralChunks(doc.content!, doc.kind)).map((c) => ({ ordinal: c.ordinal, heading_path: c.headingPath, content: c.content, tokens: c.tokens })); if (totalChunks + chunks.length > MAX_CHUNKS_PER_SOURCE) { chunks = chunks.slice(0, Math.max(0, MAX_CHUNKS_PER_SOURCE - totalChunks)); if (chunks.length === 0) { out.skipped.push({ uri: doc.uri, reason: 'chunk cap reached for source' }); continue; } diff --git a/src/sources/repo.ts b/src/sources/repo.ts index bb2d6c4..e1c2f1d 100644 --- a/src/sources/repo.ts +++ b/src/sources/repo.ts @@ -1,13 +1,15 @@ /** repo source connector (plan Stage 3): a codebase as structured source — - * file tree + grep + explicit file fetch (v1; tree-sitter depth deferred per - * ROADMAP). Local path or shallow clone when handed a URL. */ + * file tree + per-file docs + per-symbol chunks (Stage-3 v2: tree-sitter + * WASM when the consumer configures grammars; regex fallback otherwise). + * Local path or shallow clone when handed a URL. */ import { readdirSync, readFileSync, statSync } from 'node:fs'; -import { join, relative } from 'node:path'; +import { join, relative, isAbsolute } from 'node:path'; import { execFileSync } from 'node:child_process'; import { mkdtempSync } from 'node:fs'; import { tmpdir } from 'node:os'; import type { NormalizedDocument, SourceConnector } from './connector.ts'; -import { symbolChunks } from './tree-sitter.ts'; +import { symbolsFor, symbolChunksFor, type SymbolGrammars } from './tree-sitter.ts'; +import type { StructuralChunk } from '../chunk.ts'; const SKIP_DIRS = new Set(['.git', 'node_modules', 'dist', 'build', '.venv', '__pycache__', 'DerivedData', '.derived-data', '.build', 'Pods', '.swiftpm', 'buck-out']); const TEXT_EXT = new Set(['.ts', '.tsx', '.js', '.mjs', '.cjs', '.json', '.md', '.yaml', '.yml', '.txt', '.css', '.scss', '.html', '.swift', '.kt', '.go', '.rs', '.py', '.rb', '.java', '.sql', '.sh']); @@ -20,8 +22,13 @@ export interface RepoSourceConfig { maxFiles?: number; /** include the tree doc (default true) */ treeDoc?: boolean; - /** emit symbol chunks for TS/JS-family files (plan Stage G) */ + /** emit a per-symbol-chunks doc per file (plan Stage G). With + * `symbolGrammars`, extraction is tree-sitter; without, the TS/JS regex + * fallback. */ symbols?: boolean; + /** extension→grammar policy for tree-sitter extraction (caller-owned; + * see defaultSymbolGrammars). Pure mechanism: butler picks nothing. */ + symbolGrammars?: SymbolGrammars; /** ADDITIONAL directory names to skip (consumer-level: workspace clones, * artifact dirs — anything that would eat the walk budget or pollute * context with foreign source). Unioned with the builtin SKIP_DIRS. */ @@ -49,6 +56,50 @@ function listRepoFiles(root: string, maxFiles: number, maxBytes: number, skipDir return out; } +/** file + symbol docs for ONE file (Stage-3: watcher batches re-ingest a + * single changed file without paying the walk). Same skip rules as fetch(); + * null when the path is outside the root, skipped, missing, or oversized. */ +export async function repoDocumentFor(cfg: RepoSourceConfig, absPath: string): Promise { + if (/^https?:\/\//.test(cfg.origin)) return null; // URL origins have no stable local path + const root = cfg.origin; + if (!isAbsolute(absPath) || !absPath.startsWith(root + '/') && absPath !== root) return null; + const rel = relative(root, absPath); + if (rel.startsWith('..') || rel === '') return null; + for (const seg of rel.split('/').slice(0, -1)) { + if (cfg.skipDirs?.includes(seg) || SKIP_DIRS.has(seg)) return null; + } + const ext = rel.slice(rel.lastIndexOf('.')).toLowerCase(); + if (!TEXT_EXT.has(ext)) return null; + let st; + try { st = statSync(absPath); } catch { return null; } // deleted/moved — batch handles + if (st.size > (cfg.maxFileBytes ?? 256 * 1024)) return null; + let content: string; + try { content = readFileSync(absPath, 'utf8'); } catch { return null; } + const docs: NormalizedDocument[] = [{ uri: `repo://${rel}`, title: rel, content, kind: 'plain' }]; + if (cfg.symbols) { + const symDoc = await symbolDocFor(content, rel, cfg.symbolGrammars); + if (symDoc) docs.push(symDoc); + } + return docs; +} + +/** per-symbol doc: content = one summary line per symbol (browsable), + * chunks = one chunk per symbol with heading_path "symbol: ()" + * (Stage-3 shape — structured filtering; v1 concatenated all symbols into + * the content body, unretrievable by heading). */ +export async function symbolDocFor(content: string, rel: string, grammars?: SymbolGrammars): Promise { + const symbols = await symbolsFor(content, rel, grammars ?? {}); + if (symbols.length === 0) return null; + const chunks: StructuralChunk[] = symbolChunksFor(symbols, content, rel); + return { + uri: `repo://${rel}#symbols`, + title: `${rel} (symbols)`, + content: symbols.map((s) => `symbol: ${s.name} (${s.kind}) — ${rel}:${s.line}`).join('\n'), + kind: 'symbols', + chunks, + }; +} + export function repoConnector(sourceId: string, cfg: RepoSourceConfig): SourceConnector { const maxFiles = cfg.maxFiles ?? 2_000; const maxBytes = cfg.maxFileBytes ?? 256 * 1024; @@ -72,12 +123,11 @@ export function repoConnector(sourceId: string, cfg: RepoSourceConfig): SourceCo } for (const f of files) { const rel = relative(root, f); - out.push({ uri: `repo://${rel}`, title: rel, content: readFileSync(f, 'utf8'), kind: 'plain' }); + const content = readFileSync(f, 'utf8'); + out.push({ uri: `repo://${rel}`, title: rel, content, kind: 'plain' }); if (cfg.symbols) { - // symbol chunks ride the SAME pipeline: they're just more chunks - // for this doc's kind, retrievable by "symbol: name (kind)" - const sym = symbolChunks(readFileSync(f, 'utf8'), rel); - if (sym.length > 0) out.push({ uri: `repo://${rel}#symbols`, title: `${rel} (symbols)`, content: sym.map((s) => `${s.headingPath}\n${s.content}`).join('\n\n'), kind: 'symbols' }); + const symDoc = await symbolDocFor(content, rel, cfg.symbolGrammars); + if (symDoc) out.push(symDoc); } } return out; diff --git a/src/sources/tree-sitter.ts b/src/sources/tree-sitter.ts index 97cfc1b..04249a0 100644 --- a/src/sources/tree-sitter.ts +++ b/src/sources/tree-sitter.ts @@ -1,23 +1,167 @@ -/** tree-sitter symbol chunks (plan Stage G, condition 7): repo sources may - * opt into symbol indexing — functions/types/classes become chunks with - * heading_path "symbol: ()". Grammars are WASM loaded at BUILD - * time (no runtime network); missing grammar → plain file chunks, logged. +/** tree-sitter symbol chunks (plan Stage G, condition 7 → Stage-3 v2): repo + * sources may opt into symbol indexing — functions/types/classes become + * chunks with heading_path "symbol: ()". * - * v1 ships a DEPENDENCY-FREE structural fallback (regex-based symbol scan for - * TS/JS-family files) so the chunk SHAPE is proven without pulling - * web-tree-sitter grammars per language — the web-tree-sitter upgrade path - * swaps `extractSymbols()` internals only. This keeps the plan's hermetic-CI - * and no-runtime-network invariants intact while delivering the chunk shape. */ + * v2 (2026-10-21): real parsing via web-tree-sitter WASM grammars + * (tree-sitter-wasms pack — no native modules, no runtime network; the + * grammar set is CALLER-supplied policy, this module is pure mechanism). + * No grammar configured for a file → v1 dependency-free regex fallback for + * TS/JS-family files, [] otherwise (caller keeps plain file chunks). + * Grammar WASM fails to load → empty result, never fatal. */ +import { createRequire } from 'node:module'; +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { Parser, Language, Node as TsNode } from 'web-tree-sitter'; export interface SymbolInfo { name: string; - kind: 'function' | 'class' | 'interface' | 'type' | 'method' | 'const'; + kind: 'function' | 'class' | 'interface' | 'type' | 'method' | 'const' | 'struct' | 'protocol' | 'enum'; line: number; } -/** Structural symbol scan for TS/JS-family sources. Honest scope: regex over - * declaration forms; not a parser. Returns [] for non-matching files so the - * caller falls back to plain chunks. */ +/** caller policy: file extension → grammar. Value is either a grammar name + * in the tree-sitter-wasms pack ('typescript', 'python', …) or an ABSOLUTE + * path to a .wasm file (see grammars/README.md for the vendored-swift + * story). e.g. { swift: '/…/grammars/tree-sitter-swift.wasm', ts: 'typescript' } */ +export type SymbolGrammars = Record; + +const require = createRequire(import.meta.url); + +let parserInit: Promise | null = null; +const grammarCache = new Map>(); + +function wasmSource(value: string): { key: string; src: string; family: string } { + // absolute path → load as-is (family from the file name); bare name → pack + if (value.startsWith('/')) { + const base = value.split('/').pop() ?? value; + return { key: value, src: value, family: base.replace(/^tree-sitter-/, '').replace(/\.wasm$/, '') }; + } + const packDir = dirname(require.resolve('tree-sitter-wasms/package.json')); + return { key: value, src: join(packDir, 'out', `tree-sitter-${value}.wasm`), family: value }; +} + +/** butler's shipped default: swift via the vendored 0.1.8 wasm (see + * grammars/README.md — pack swift >= 0.1.10 crashes Node 24 tier-up), the + * rest from the pack. Consumers pass their own map to override. */ +export function defaultSymbolGrammars(): SymbolGrammars { + return { + swift: join(dirname(fileURLToPath(import.meta.url)), '../../grammars/tree-sitter-swift.wasm'), + ts: 'typescript', + mts: 'typescript', + cts: 'typescript', + tsx: 'tsx', + js: 'typescript', + mjs: 'typescript', + cjs: 'typescript', + py: 'python', + }; +} + +async function loadParser(): Promise { + parserInit ??= Parser.init(); + return parserInit; +} + +async function loadGrammar(key: string, src: string): Promise { + if (!grammarCache.has(key)) { + grammarCache.set(key, (async () => { + try { + await loadParser(); + return await Language.load(src); + } catch { + return null; // empty result per file; never fatal to the walk + } + })()); + } + return grammarCache.get(key)!; +} + +/** node.type → SymbolInfo kind, per grammar family. Verified against the + * tree-sitter-wasms grammars by parsing fixtures (test/tree-sitter-wasm.test.ts). */ +const NODE_KINDS: Record> = { + swift: { + function_declaration: 'function', + class_declaration: 'class', + struct_declaration: 'struct', + protocol_declaration: 'protocol', + enum_declaration: 'enum', + type_alias: 'type', + property_declaration: 'const', + }, + typescript: { + function_declaration: 'function', + class_declaration: 'class', + interface_declaration: 'interface', + type_alias_declaration: 'type', + method_definition: 'method', + enum_declaration: 'enum', + lexical_declaration: 'const', + }, + tsx: { + function_declaration: 'function', + class_declaration: 'class', + interface_declaration: 'interface', + type_alias_declaration: 'type', + method_definition: 'method', + enum_declaration: 'enum', + lexical_declaration: 'const', + }, + python: { + function_definition: 'function', + class_definition: 'class', + }, +}; + +/** Tree-sitter symbols for one file. Returns [] when no grammar is configured + * for the extension or the grammar fails to load — the caller falls back. */ +export async function extractSymbolsTree(source: string, filePath: string, grammars: SymbolGrammars): Promise { + const ext = /(?:^|\.)([a-z0-9]+)$/i.exec(filePath)?.[1]?.toLowerCase() ?? ''; + const value = grammars[ext]; + if (!value) return []; + const { key, src, family } = wasmSource(value); + const lang = await loadGrammar(key, src); + if (!lang) return []; + const kinds = NODE_KINDS[family]; + if (!kinds) return []; + await loadParser(); + const parser = new Parser(); + parser.setLanguage(lang); + const tree = parser.parse(source); + const out: SymbolInfo[] = []; + const visit = (node: TsNode): void => { + let kind = kinds[node.type]; + if (kind) { + // swift models struct/class/extension all as class_declaration — the + // keyword token child says which (verified against the 0.1.8 grammar) + if (family === 'swift' && node.type === 'class_declaration') { + const toks = [...Array(node.childCount).keys()].map((i) => node.child(i)?.type); + kind = toks.includes('struct') ? 'struct' : toks.includes('enum') ? 'enum' : 'class'; + } + // typescript: `const NAME = …` carries its identifier on the + // variable_declarator child, not on the declaration itself + if ((family === 'typescript' || family === 'tsx') && node.type === 'lexical_declaration') { + for (let i = 0; i < node.childCount; i++) { + const d = node.child(i)!; + if (d.type === 'variable_declarator') { + const dn = d.childForFieldName('name')?.text?.trim(); + if (dn) out.push({ name: dn, kind: 'const', line: (d.startPosition.row) + 1 }); + } + } + kind = undefined; // handled per-declarator above + } + // these grammars expose the declared identifier as the `name` field + const nameNode = node.childForFieldName('name'); + const name = nameNode?.text?.trim(); + if (kind && name) out.push({ name, kind, line: (nameNode?.startPosition.row ?? node.startPosition.row) + 1 }); + } + for (let i = 0; i < node.childCount; i++) visit(node.child(i)!); + } + if (tree) visit(tree.rootNode); + return out; +} + +/** v1 structural symbol scan for TS/JS-family sources. Honest scope: regex + * over declaration forms; not a parser. Returns [] for non-matching files. */ export function extractSymbols(source: string, filePath: string): SymbolInfo[] { const isTsFamily = /\.(ts|tsx|js|jsx|mjs|cjs)$/.test(filePath); if (!isTsFamily) return []; @@ -51,12 +195,12 @@ export interface SymbolChunk { tokens: number; } -/** file source → symbol chunks (the repo connector merges these with file chunks) */ -export function symbolChunks(source: string, filePath: string): SymbolChunk[] { - const symbols = extractSymbols(source, filePath); +/** one chunk per symbol — the Stage-3 shape (heading_path carries the symbol + * for structured filtering; v1 concatenated all symbols into doc content) */ +export function symbolChunksFor(symbols: SymbolInfo[], source: string, filePath: string, contextLines = 6): SymbolChunk[] { const lines = source.split('\n'); return symbols.map((s, i) => { - const head = lines.slice(s.line - 1, s.line + 6).join('\n'); // decl + 6 lines of context + const head = lines.slice(s.line - 1, s.line + contextLines).join('\n'); // decl + context return { ordinal: i, headingPath: `symbol: ${s.name} (${s.kind})`, @@ -65,3 +209,19 @@ export function symbolChunks(source: string, filePath: string): SymbolChunk[] { }; }); } + +/** best-effort symbols for a file: tree-sitter when a grammar is configured + * for the extension (even if it yields nothing — a truly declaration-free + * file must not fall through to the TS regex), else the v1 regex fallback. */ +export async function symbolsFor(source: string, filePath: string, grammars: SymbolGrammars): Promise { + const ext = /(?:^|\.)([a-z0-9]+)$/i.exec(filePath)?.[1]?.toLowerCase() ?? ''; + if (grammars[ext]) return extractSymbolsTree(source, filePath, grammars); + return extractSymbols(source, filePath); +} + +/** pre-warm the WASM parser + configured grammars (one-time; else lazy per + * first file of each language) */ +export async function prepareGrammars(grammars: SymbolGrammars): Promise { + const sources = [...new Set(Object.values(grammars))].map((v) => wasmSource(v)); + await Promise.all(sources.map((s) => loadGrammar(s.key, s.src))); +} diff --git a/src/watch.ts b/src/watch.ts new file mode 100644 index 0000000..4607f07 --- /dev/null +++ b/src/watch.ts @@ -0,0 +1,109 @@ +/** watchRoots (Stage 3, plan F3): debounced changed-path batches over one or + * more directory roots. Pure mechanism — the consumer owns policy (which + * roots, what to ignore, what to do with batches). + * + * One OS watch per root (fs.watch recursive — FSEvents on macOS); no + * polling. A watcher error (root deleted, EMFILE) marks that root dead and + * surfaces via healthy(); it does NOT throw into the caller's loop. No + * mid-process resurrection — restart on next boot keeps the contract simple + * (the stale-trigger full walk remains the fallback leg). */ +import { watch, type FSWatcher } from 'node:fs'; +import { join } from 'node:path'; + +export interface WatchHandle { + /** stop every watcher; pending batch is dropped (shutdown, not flush) */ + stop(): void; + /** false once every root has died (caller degrades to its fallback leg) */ + healthy(): boolean; + /** human-readable state for status notes */ + describe(): string; +} + +export interface WatchOptions { + /** quiet period before a batch fires (default 400ms — one editor save is + * several filesystem events) */ + debounceMs?: number; + /** policy: return true to IGNORE a changed path (abs) */ + ignore?: (absPath: string) => boolean; +} + +interface RootState { + root: string; + watcher: FSWatcher | null; + alive: boolean; + lastError: string | null; +} + +export function watchRoots(roots: string[], opts: WatchOptions, onBatch: (changedAbsPaths: string[]) => void): WatchHandle { + const debounceMs = opts.debounceMs ?? 400; + const pending = new Map(); // absPath → seq + let timer: ReturnType | null = null; + const states: RootState[] = roots.map((root) => ({ root, watcher: null, alive: false, lastError: null })); + + const flush = (): void => { + timer = null; + if (pending.size === 0) return; + const batch = [...pending.keys()]; + pending.clear(); + try { + onBatch(batch); + } catch { + // consumer errors never kill the watcher; their problem to log + } + }; + + const schedule = (absPath: string): void => { + pending.set(absPath, (pending.get(absPath) ?? 0) + 1); + if (timer) clearTimeout(timer); + timer = setTimeout(flush, debounceMs); + }; + + const startRoot = (state: RootState): void => { + try { + state.watcher = watch(state.root, { recursive: true }, (_event, filename) => { + if (!state.alive) return; + if (typeof filename !== 'string') { schedule(state.root); return; } // whole-root event + const abs = join(state.root, filename); + if (opts.ignore?.(abs)) return; + schedule(abs); + }); + state.alive = true; + state.lastError = null; + state.watcher.on('error', (err: Error) => { + // root deleted / perms / EMFILE — mark dead, surface, keep others up + state.alive = false; + state.lastError = err.message; + try { state.watcher?.close(); } catch { /* already gone */ } + state.watcher = null; + }); + state.watcher.on('close', () => { state.alive = false; }); + } catch (err) { + state.alive = false; + state.lastError = err instanceof Error ? err.message : String(err); + } + }; + + for (const state of states) startRoot(state); + + return { + stop(): void { + if (timer) { clearTimeout(timer); timer = null; } + pending.clear(); + for (const state of states) { + try { state.watcher?.close(); } catch { /* already gone */ } + state.watcher = null; + state.alive = false; + } + }, + healthy(): boolean { + return states.some((s) => s.alive); + }, + describe(): string { + const alive = states.filter((s) => s.alive).length; + const dead = states.filter((s) => !s.alive && s.lastError); + return dead.length > 0 + ? `${alive}/${states.length} roots watching (dead: ${dead.map((d) => `${d.root.split('/').pop()}: ${d.lastError}`).join('; ')})` + : `${alive}/${states.length} roots watching`; + }, + }; +} diff --git a/test/boundary.test.ts b/test/boundary.test.ts index bb0d02f..1c67fec 100644 --- a/test/boundary.test.ts +++ b/test/boundary.test.ts @@ -20,8 +20,11 @@ const ALLOWED_PACKAGES = new Set([ 'yaml', 'pg', 'zod', + // Stage 3 — symbol extraction (web-tree-sitter runs the grammar WASMs; + // tree-sitter-wasms is assets-only, reached via createRequire) + 'web-tree-sitter', 'node:fs', 'node:path', 'node:os', 'node:crypto', 'node:util', 'node:events', - 'node:child_process', 'node:url', 'node:buffer', 'node:stream', 'node:abort-controller', + 'node:child_process', 'node:url', 'node:buffer', 'node:stream', 'node:abort-controller', 'node:module', ]); function tsFiles(dir: string): string[] { diff --git a/test/es-compat-search.test.ts b/test/es-compat-search.test.ts new file mode 100644 index 0000000..9798cb2 --- /dev/null +++ b/test/es-compat-search.test.ts @@ -0,0 +1,56 @@ +import { describe, expect, it } from 'vitest'; +import { EsCompatRetriever } from '../src/retrieval/es-compat.ts'; + +/** Stage-3 F2: structured search — heading_path prefix filter + BM25, same + * failure contract as retrieve(). Hermetic fake endpoint. */ + +type Call = { path: string; body: unknown }; + +function fakeEndpoint(hits: unknown[], log: Call[]) { + return (async (url: string | URL | Request, init?: RequestInit) => { + log.push({ path: String(url), body: JSON.parse(String(init?.body ?? '{}')) }); + return new Response(JSON.stringify({ hits: { hits, total: { value: hits.length } } }), { status: 200, headers: { 'content-type': 'application/json' } }); + }) as unknown as typeof fetch; +} + +describe('EsCompatRetriever.search', () => { + it('filter-only query (empty q) with heading_prefix — symbol lookups', async () => { + const calls: Call[] = []; + const r = new EsCompatRetriever({ + baseUrl: 'http://x', index: 'corpus', + fetchImpl: fakeEndpoint([{ _id: 'abc#2', _score: 3.1, _source: { content: 'src/a.swift:5\nfunc validate', heading_path: 'symbol: validate (function)', ordinal: 2 } }], calls), + }); + const hits = await r.search({ query: '', headingPrefix: 'symbol: validate', size: 5 }); + expect(hits[0]?.headingPath).toBe('symbol: validate (function)'); + expect(hits[0]?.ordinal).toBe(2); + const body = calls[0]!.body as { size: number; query: { bool: { must: unknown[]; filter: unknown[] } } }; + expect(body.size).toBe(5); + expect(body.query.bool.must[0]).toEqual({ match_all: {} }); + expect(JSON.stringify(body.query.bool.filter)).toContain('match_phrase_prefix'); + }); + + it('query + heading_prefix combine (must + filter)', async () => { + const calls: Call[] = []; + const r = new EsCompatRetriever({ baseUrl: 'http://x', index: 'corpus', fetchImpl: fakeEndpoint([], calls) }); + await r.search({ query: 'validator', headingPrefix: 'symbol: Validator' }); + const body = calls[0]!.body as { query: { bool: { must: unknown[]; filter: unknown[] } } }; + expect(JSON.stringify(body.query.bool.must)).toContain('"validator"'); + expect(body.query.bool.filter.length).toBe(1); + }); + + it('no headingPrefix → no filter clause', async () => { + const calls: Call[] = []; + const r = new EsCompatRetriever({ baseUrl: 'http://x', index: 'corpus', fetchImpl: fakeEndpoint([], calls) }); + await r.search({ query: 'anything' }); + const body = calls[0]!.body as { query: { bool: { must: unknown[]; filter: unknown[] } } }; + expect(body.query.bool.filter).toEqual([]); + }); + + it('non-2xx throws (same contract as retrieve)', async () => { + const r = new EsCompatRetriever({ + baseUrl: 'http://x', index: 'corpus', + fetchImpl: (async () => new Response('boom', { status: 500 })) as unknown as typeof fetch, + }); + await expect(r.search({ query: 'x' })).rejects.toThrow(/structured search failed \(500\)/); + }); +}); diff --git a/test/symbols.test.ts b/test/symbols.test.ts index cdab189..9698b06 100644 --- a/test/symbols.test.ts +++ b/test/symbols.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { extractSymbols, symbolChunks } from '../src/sources/tree-sitter.ts'; +import { extractSymbols, symbolChunksFor } from '../src/sources/tree-sitter.ts'; import { repoConnector } from '../src/sources/repo.ts'; import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from 'node:fs'; import { tmpdir } from 'node:os'; @@ -52,13 +52,13 @@ describe('extractSymbols (TS-family structural scan)', () => { expect(extractSymbols('def f(): pass', 'script.py')).toEqual([]); expect(extractChunksPlain()).toBe(true); function extractChunksPlain(): boolean { - const chunks = symbolChunks('def f(): pass', 'script.py'); + const chunks = symbolChunksFor(extractSymbols('def f(): pass', 'script.py'), 'def f(): pass', 'script.py'); return chunks.length === 0; } }); it('symbolChunks carry heading_path + file:line + context', () => { - const chunks = symbolChunks(SAMPLE, 'src/sample.ts'); + const chunks = symbolChunksFor(extractSymbols(SAMPLE, 'src/sample.ts'), SAMPLE, 'src/sample.ts'); const rl = chunks.find((c) => c.headingPath === 'symbol: runLoop (function)')!; expect(rl.content).toContain('src/sample.ts:'); expect(rl.content).toContain('export async function runLoop'); @@ -80,6 +80,8 @@ describe('repo connector symbols opt-in', () => { expect(symDoc).toBeTruthy(); expect(symDoc!.content).toContain('symbol: alpha (function)'); expect(symDoc!.content).toContain('symbol: beta (function)'); + // Stage-3 shape: per-symbol chunks with structured heading_path (F1) + expect(symDoc!.chunks?.map((c) => c.headingPath)).toContain('symbol: beta (function)'); rmSync(dir, { recursive: true, force: true }); }); }); diff --git a/test/tree-sitter-wasm.test.ts b/test/tree-sitter-wasm.test.ts new file mode 100644 index 0000000..2cc9bf7 --- /dev/null +++ b/test/tree-sitter-wasm.test.ts @@ -0,0 +1,143 @@ +import { describe, expect, it } from 'vitest'; +import { extractSymbolsTree, symbolsFor, defaultSymbolGrammars, prepareGrammars, symbolChunksFor } from '../src/sources/tree-sitter.ts'; +import { repoDocumentFor } from '../src/sources/repo.ts'; +import { SqliteStorage } from '../src/memory/sqlite.ts'; +import { ingest } from '../src/sources/connector.ts'; +import { mkdtempSync, writeFileSync, rmSync } from 'node:fs'; +import { tmpdir } from 'node:os'; +import { join } from 'node:path'; + +/** Stage-3 v2: tree-sitter WASM extraction over the shipped grammars + * (vendored swift — see grammars/README.md — + pack typescript/tsx/python). + * Hermetic: grammars load from node_modules, no network. */ + +const SWIFT = `import Foundation + +public struct PostalRule { let code: String } + +public final class AddressValidator { + public func validate(_ code: String) -> Bool { return !code.isEmpty } +} + +protocol Validating { func validate(_ code: String) -> Bool } + +enum Region { case intl, domestic } +`; + +const TS = `export interface Rule { code: string } +export type Alias = string; +export class Validator { method(x: string): boolean { return true } } +export function validate(code: string): boolean { return true } +export const MAX = 10; +`; + +const PY = `def top_level(): pass + +class Thing: + def method(self): pass +`; + +describe('tree-sitter WASM extraction (defaultSymbolGrammars)', () => { + it('swift: struct/class/protocol/enum + functions with lines', async () => { + const g = defaultSymbolGrammars(); + const syms = await extractSymbolsTree(SWIFT, 'a.swift', g); + const names = syms.map((s) => `${s.name}:${s.kind}`); + expect(names).toContain('PostalRule:struct'); + expect(names).toContain('AddressValidator:class'); + expect(names).toContain('validate:function'); + expect(names).toContain('Validating:protocol'); + expect(names).toContain('Region:enum'); + const v = syms.find((s) => s.name === 'validate')!; + expect(v.line).toBeGreaterThan(3); + }); + + it('typescript: interface/type/class/method/function/const', async () => { + const g = defaultSymbolGrammars(); + const syms = await extractSymbolsTree(TS, 'a.ts', g); + const names = syms.map((s) => `${s.name}:${s.kind}`); + expect(names).toContain('Rule:interface'); + expect(names).toContain('Alias:type'); + expect(names).toContain('Validator:class'); + expect(names).toContain('method:method'); + expect(names).toContain('validate:function'); + expect(names).toContain('MAX:const'); + }); + + it('python: functions and classes', async () => { + const g = defaultSymbolGrammars(); + const syms = await extractSymbolsTree(PY, 'a.py', g); + const names = syms.map((s) => `${s.name}:${s.kind}`); + expect(names).toContain('top_level:function'); + expect(names).toContain('Thing:class'); + expect(names).toContain('method:function'); + }); + + it('symbolsFor: grammar-configured extension uses tree-sitter even when the file has no decls', async () => { + const g = defaultSymbolGrammars(); + // a decl-free swift body (property/func/class-free): plain statements + expect(await symbolsFor('print("hi")\n', 'a.swift', g)).toEqual([]); // swift path, NOT the regex + expect((await symbolsFor('export function f() {}\n', 'a.ts', g)).length).toBeGreaterThan(0); + }); + + it('prepareGrammars warms the set (idempotent)', async () => { + const g = defaultSymbolGrammars(); + await prepareGrammars(g); + await prepareGrammars(g); + }); + + it('symbolChunksFor emits one chunk per symbol with structured heading', async () => { + const g = defaultSymbolGrammars(); + const syms = await extractSymbolsTree(SWIFT, 'a.swift', g); + const chunks = symbolChunksFor(syms, SWIFT, 'a.swift'); + expect(chunks.length).toBe(syms.length); + const rule = chunks.find((c) => c.headingPath === 'symbol: PostalRule (struct)')!; + expect(rule.content).toContain('a.swift:'); + expect(rule.content).toContain('public struct PostalRule'); + }); +}); + +describe('repoDocumentFor (per-file normalize, F3)', () => { + it('one changed file → file doc + per-symbol doc, no walk', async () => { + const dir = mkdtempSync(join(tmpdir(), 'butler-docfor-')); + writeFileSync(join(dir, 'a.swift'), SWIFT); + const cfg = { origin: dir, symbols: true, symbolGrammars: defaultSymbolGrammars() }; + const docs = await repoDocumentFor(cfg, join(dir, 'a.swift')); + expect(docs?.map((d) => d.uri)).toContain('repo://a.swift'); + const sym = docs?.find((d) => d.uri === 'repo://a.swift#symbols'); + expect(sym?.chunks?.length).toBeGreaterThan(0); + rmSync(dir, { recursive: true, force: true }); + }); + + it('outside root / skipped dir / missing file → null', async () => { + const dir = mkdtempSync(join(tmpdir(), 'butler-docfor2-')); + const cfg = { origin: dir, symbols: true }; + expect(await repoDocumentFor(cfg, '/etc/hosts')).toBeNull(); + expect(await repoDocumentFor(cfg, join(dir, 'nope.swift'))).toBeNull(); + rmSync(dir, { recursive: true, force: true }); + }); +}); + +describe('ingest chunks passthrough (F1)', () => { + it('pre-chunked docs land verbatim — heading_path per symbol, idempotent re-ingest', async () => { + const dir = mkdtempSync(join(tmpdir(), 'butler-passthru-')); + const storage = new SqliteStorage(join(dir, 't.db')); + const repoDir = mkdtempSync(join(tmpdir(), 'butler-passthru-repo-')); + writeFileSync(join(repoDir, 'a.swift'), SWIFT); + const connector = { + kind: 'repo' as const, + sourceId: 't-passthru', + fetch: async () => (await repoDocumentFor({ origin: repoDir, symbols: true, symbolGrammars: defaultSymbolGrammars() }, join(repoDir, 'a.swift')))!, + }; + const r1 = await ingest(connector, storage, { artifactsDir: dir }); + expect(r1.documents.some((d) => d.uri.endsWith('#symbols'))).toBe(true); + const sha = r1.documents.find((d) => d.uri.endsWith('#symbols'))!.sha256; + const chunks = await storage.documentChunks(sha); + expect(chunks.some((c) => c.heading_path === 'symbol: PostalRule (struct)')).toBe(true); + // content-addressed idempotence: re-ingest → cached, chunks unchanged + const r2 = await ingest(connector, storage, { artifactsDir: dir }); + expect(r2.documents.find((d) => d.uri.endsWith('#symbols'))!.cached).toBe(true); + await storage.close?.(); + rmSync(dir, { recursive: true, force: true }); + rmSync(repoDir, { recursive: true, force: true }); + }); +}); diff --git a/test/watch.test.ts b/test/watch.test.ts new file mode 100644 index 0000000..8e22104 --- /dev/null +++ b/test/watch.test.ts @@ -0,0 +1,78 @@ +import { describe, expect, it } from 'vitest'; +import { watchRoots } from '../src/watch.ts'; +import { mkdtempSync, mkdirSync, writeFileSync, appendFileSync, rmSync } from 'node:fs'; +import { tmpdir } from 'node:os'; +import { join } from 'node:path'; +import { vi } from 'vitest'; + +/** Stage-3 watchRoots mechanism: debounced batches, ignore policy, health. + * Real fs events on a tmp dir (FSEvents on macOS) with a short debounce. */ + +describe('watchRoots', () => { + it('coalesces a save into one debounced batch of changed paths', async () => { + const dir = mkdtempSync(join(tmpdir(), 'butler-watch-')); + const batches: string[][] = []; + const h = watchRoots([dir], { debounceMs: 60 }, (b) => batches.push(b)); + try { + expect(h.healthy()).toBe(true); + writeFileSync(join(dir, 'a.ts'), 'export const a = 1;\n'); + // one editor save = several events; debounce must merge them + appendFileSync(join(dir, 'a.ts'), 'export const b = 2;\n'); + await vi.waitFor(() => expect(batches.length).toBeGreaterThan(0)); + const flat = batches.flat(); + expect(flat).toContain(join(dir, 'a.ts')); + expect(flat.filter((p) => p === join(dir, 'a.ts')).length).toBe(1); + } finally { + h.stop(); + rmSync(dir, { recursive: true, force: true }); + } + }); + + it('ignore policy filters paths from batches', async () => { + const dir = mkdtempSync(join(tmpdir(), 'butler-watch2-')); + mkdirSync(join(dir, 'noise')); + const batches: string[][] = []; + const h = watchRoots([dir], { debounceMs: 60, ignore: (p) => p.includes('/noise/') }, (b) => batches.push(b)); + try { + writeFileSync(join(dir, 'noise', 'junk.log'), 'x'); + writeFileSync(join(dir, 'keep.ts'), 'export const k = 1;\n'); + await vi.waitFor(() => expect(batches.flat().length).toBeGreaterThan(0)); + expect(batches.flat()).not.toContain(join(dir, 'noise', 'junk.log')); + expect(batches.flat()).toContain(join(dir, 'keep.ts')); + } finally { + h.stop(); + rmSync(dir, { recursive: true, force: true }); + } + }); + + it('stop() silences future events and reports unhealthy', async () => { + const dir = mkdtempSync(join(tmpdir(), 'butler-watch3-')); + let fired = 0; + const h = watchRoots([dir], { debounceMs: 50 }, () => { fired += 1; }); + h.stop(); + expect(h.healthy()).toBe(false); + writeFileSync(join(dir, 'late.ts'), 'late'); + await new Promise((r) => setTimeout(r, 250)); + expect(fired).toBe(0); + rmSync(dir, { recursive: true, force: true }); + }); + + it('a dead root surfaces via describe(); other roots keep watching', async () => { + const dirA = mkdtempSync(join(tmpdir(), 'butler-watchA-')); + const dirB = mkdtempSync(join(tmpdir(), 'butler-watchB-')); + const batches: string[][] = []; + // dirA does not exist → its watcher dies at start; dirB must survive + const gone = join(dirA, 'missing-root'); + const h = watchRoots([gone, dirB], { debounceMs: 60 }, (b) => batches.push(b)); + try { + expect(h.healthy()).toBe(true); // B alive + expect(h.describe()).toContain('1/2 roots watching'); + writeFileSync(join(dirB, 'b.ts'), 'export const b = 1;\n'); + await vi.waitFor(() => expect(batches.flat()).toContain(join(dirB, 'b.ts'))); + } finally { + h.stop(); + rmSync(dirA, { recursive: true, force: true }); + rmSync(dirB, { recursive: true, force: true }); + } + }); +});