codesift-mcp 0.15.5 → 0.19.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/auto-prune.d.ts +16 -0
- package/dist/cli/auto-prune.d.ts.map +1 -0
- package/dist/cli/auto-prune.js +87 -0
- package/dist/cli/auto-prune.js.map +1 -0
- package/dist/cli/commands-admin.d.ts.map +1 -1
- package/dist/cli/commands-admin.js +11 -0
- package/dist/cli/commands-admin.js.map +1 -1
- package/dist/cli/commands-daemon.d.ts.map +1 -1
- package/dist/cli/commands-daemon.js +41 -0
- package/dist/cli/commands-daemon.js.map +1 -1
- package/dist/cli/commands-index.d.ts.map +1 -1
- package/dist/cli/commands-index.js +8 -0
- package/dist/cli/commands-index.js.map +1 -1
- package/dist/cli/commands-maintenance.d.ts.map +1 -1
- package/dist/cli/commands-maintenance.js +173 -3
- package/dist/cli/commands-maintenance.js.map +1 -1
- package/dist/cli/embed-child.js +5 -1
- package/dist/cli/embed-child.js.map +1 -1
- package/dist/cli/hooks/pre-compact.d.ts.map +1 -1
- package/dist/cli/hooks/pre-compact.js +4 -0
- package/dist/cli/hooks/pre-compact.js.map +1 -1
- package/dist/cli/hooks/pre-tool-use.d.ts.map +1 -1
- package/dist/cli/hooks/pre-tool-use.js +5 -2
- package/dist/cli/hooks/pre-tool-use.js.map +1 -1
- package/dist/cli/hooks/session.d.ts.map +1 -1
- package/dist/cli/hooks/session.js +5 -0
- package/dist/cli/hooks/session.js.map +1 -1
- package/dist/cli/hooks/shared.d.ts.map +1 -1
- package/dist/cli/hooks/shared.js +6 -2
- package/dist/cli/hooks/shared.js.map +1 -1
- package/dist/cli/hooks/wiki.d.ts +13 -0
- package/dist/cli/hooks/wiki.d.ts.map +1 -1
- package/dist/cli/hooks/wiki.js +19 -2
- package/dist/cli/hooks/wiki.js.map +1 -1
- package/dist/cli/orphan-guard.d.ts +22 -0
- package/dist/cli/orphan-guard.d.ts.map +1 -1
- package/dist/cli/orphan-guard.js +30 -0
- package/dist/cli/orphan-guard.js.map +1 -1
- package/dist/cli/owner-only-file.d.ts +9 -0
- package/dist/cli/owner-only-file.d.ts.map +1 -1
- package/dist/cli/owner-only-file.js +40 -8
- package/dist/cli/owner-only-file.js.map +1 -1
- package/dist/cli/service.d.ts +32 -0
- package/dist/cli/service.d.ts.map +1 -1
- package/dist/cli/service.js +74 -4
- package/dist/cli/service.js.map +1 -1
- package/dist/cli/setup/claude.js +3 -3
- package/dist/cli/setup/claude.js.map +1 -1
- package/dist/cli/setup/codex-project-auto.d.ts +27 -0
- package/dist/cli/setup/codex-project-auto.d.ts.map +1 -0
- package/dist/cli/setup/codex-project-auto.js +98 -0
- package/dist/cli/setup/codex-project-auto.js.map +1 -0
- package/dist/cli/setup/codex.d.ts.map +1 -1
- package/dist/cli/setup/codex.js +105 -10
- package/dist/cli/setup/codex.js.map +1 -1
- package/dist/cli/setup/cursor.d.ts.map +1 -1
- package/dist/cli/setup/cursor.js +9 -1
- package/dist/cli/setup/cursor.js.map +1 -1
- package/dist/cli/setup/fs.d.ts +2 -0
- package/dist/cli/setup/fs.d.ts.map +1 -1
- package/dist/cli/setup/fs.js +4 -1
- package/dist/cli/setup/fs.js.map +1 -1
- package/dist/cli/setup/gemini.d.ts.map +1 -1
- package/dist/cli/setup/gemini.js +25 -4
- package/dist/cli/setup/gemini.js.map +1 -1
- package/dist/cli/setup/hooks.d.ts +10 -0
- package/dist/cli/setup/hooks.d.ts.map +1 -1
- package/dist/cli/setup/hooks.js +25 -3
- package/dist/cli/setup/hooks.js.map +1 -1
- package/dist/cli/setup/mcp.d.ts +37 -1
- package/dist/cli/setup/mcp.d.ts.map +1 -1
- package/dist/cli/setup/mcp.js +57 -4
- package/dist/cli/setup/mcp.js.map +1 -1
- package/dist/cli/setup/types.d.ts +19 -1
- package/dist/cli/setup/types.d.ts.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +30 -6
- package/dist/config.js.map +1 -1
- package/dist/formatters-core.d.ts +1 -0
- package/dist/formatters-core.d.ts.map +1 -1
- package/dist/formatters-core.js +8 -2
- package/dist/formatters-core.js.map +1 -1
- package/dist/formatters-shortening.d.ts.map +1 -1
- package/dist/formatters-shortening.js +8 -2
- package/dist/formatters-shortening.js.map +1 -1
- package/dist/instructions.d.ts +22 -1
- package/dist/instructions.d.ts.map +1 -1
- package/dist/instructions.js +61 -1
- package/dist/instructions.js.map +1 -1
- package/dist/lsp/lsp-client.d.ts +1 -1
- package/dist/lsp/lsp-client.d.ts.map +1 -1
- package/dist/lsp/lsp-client.js +2 -1
- package/dist/lsp/lsp-client.js.map +1 -1
- package/dist/lsp/lsp-manager.d.ts.map +1 -1
- package/dist/lsp/lsp-manager.js +10 -2
- package/dist/lsp/lsp-manager.js.map +1 -1
- package/dist/lsp/lsp-servers.d.ts +7 -0
- package/dist/lsp/lsp-servers.d.ts.map +1 -1
- package/dist/lsp/lsp-servers.js +82 -1
- package/dist/lsp/lsp-servers.js.map +1 -1
- package/dist/parser/parser-manager.d.ts.map +1 -1
- package/dist/parser/parser-manager.js +8 -2
- package/dist/parser/parser-manager.js.map +1 -1
- package/dist/register-tool-groups/core/symbols.d.ts.map +1 -1
- package/dist/register-tool-groups/core/symbols.js +71 -6
- package/dist/register-tool-groups/core/symbols.js.map +1 -1
- package/dist/register-tool-groups/meta.d.ts.map +1 -1
- package/dist/register-tool-groups/meta.js +23 -0
- package/dist/register-tool-groups/meta.js.map +1 -1
- package/dist/register-tools/discovery.d.ts +7 -0
- package/dist/register-tools/discovery.d.ts.map +1 -1
- package/dist/register-tools/discovery.js +8 -1
- package/dist/register-tools/discovery.js.map +1 -1
- package/dist/register-tools/runtime.d.ts +1 -1
- package/dist/register-tools/runtime.d.ts.map +1 -1
- package/dist/register-tools/runtime.js +9 -2
- package/dist/register-tools/runtime.js.map +1 -1
- package/dist/register-tools.d.ts +3 -1
- package/dist/register-tools.d.ts.map +1 -1
- package/dist/register-tools.js +7 -2
- package/dist/register-tools.js.map +1 -1
- package/dist/search/bm25-store.d.ts +16 -0
- package/dist/search/bm25-store.d.ts.map +1 -0
- package/dist/search/bm25-store.js +294 -0
- package/dist/search/bm25-store.js.map +1 -0
- package/dist/search/bm25.d.ts +52 -0
- package/dist/search/bm25.d.ts.map +1 -1
- package/dist/search/bm25.js +202 -34
- package/dist/search/bm25.js.map +1 -1
- package/dist/search/embed-gate.d.ts +17 -0
- package/dist/search/embed-gate.d.ts.map +1 -0
- package/dist/search/embed-gate.js +64 -0
- package/dist/search/embed-gate.js.map +1 -0
- package/dist/search/semantic.d.ts.map +1 -1
- package/dist/search/semantic.js +5 -2
- package/dist/search/semantic.js.map +1 -1
- package/dist/server-helpers/cache-report.d.ts +36 -0
- package/dist/server-helpers/cache-report.d.ts.map +1 -0
- package/dist/server-helpers/cache-report.js +26 -0
- package/dist/server-helpers/cache-report.js.map +1 -0
- package/dist/server-helpers/health-vitals.d.ts +45 -0
- package/dist/server-helpers/health-vitals.d.ts.map +1 -0
- package/dist/server-helpers/health-vitals.js +85 -0
- package/dist/server-helpers/health-vitals.js.map +1 -0
- package/dist/server-helpers/request-context.d.ts +34 -4
- package/dist/server-helpers/request-context.d.ts.map +1 -1
- package/dist/server-helpers/request-context.js +4 -0
- package/dist/server-helpers/request-context.js.map +1 -1
- package/dist/server-helpers/response-budget.d.ts +24 -0
- package/dist/server-helpers/response-budget.d.ts.map +1 -0
- package/dist/server-helpers/response-budget.js +29 -0
- package/dist/server-helpers/response-budget.js.map +1 -0
- package/dist/server-helpers/response-hints.d.ts.map +1 -1
- package/dist/server-helpers/response-hints.js +43 -0
- package/dist/server-helpers/response-hints.js.map +1 -1
- package/dist/server-helpers/shown-source.d.ts +59 -0
- package/dist/server-helpers/shown-source.d.ts.map +1 -0
- package/dist/server-helpers/shown-source.js +175 -0
- package/dist/server-helpers/shown-source.js.map +1 -0
- package/dist/server-helpers/stdio-envelope.d.ts +31 -0
- package/dist/server-helpers/stdio-envelope.d.ts.map +1 -0
- package/dist/server-helpers/stdio-envelope.js +67 -0
- package/dist/server-helpers/stdio-envelope.js.map +1 -0
- package/dist/server-helpers.d.ts +7 -0
- package/dist/server-helpers.d.ts.map +1 -1
- package/dist/server-helpers.js +51 -10
- package/dist/server-helpers.js.map +1 -1
- package/dist/server.d.ts +9 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +235 -51
- package/dist/server.js.map +1 -1
- package/dist/storage/_shared.d.ts +26 -1
- package/dist/storage/_shared.d.ts.map +1 -1
- package/dist/storage/_shared.js +74 -3
- package/dist/storage/_shared.js.map +1 -1
- package/dist/storage/index-migration.d.ts.map +1 -1
- package/dist/storage/index-migration.js +6 -2
- package/dist/storage/index-migration.js.map +1 -1
- package/dist/storage/index-store.d.ts +29 -0
- package/dist/storage/index-store.d.ts.map +1 -1
- package/dist/storage/index-store.js +112 -0
- package/dist/storage/index-store.js.map +1 -1
- package/dist/storage/registry.d.ts.map +1 -1
- package/dist/storage/registry.js +13 -1
- package/dist/storage/registry.js.map +1 -1
- package/dist/storage/session-state.d.ts +7 -0
- package/dist/storage/session-state.d.ts.map +1 -1
- package/dist/storage/session-state.js +3 -0
- package/dist/storage/session-state.js.map +1 -1
- package/dist/storage/shared-embedding-cache.d.ts.map +1 -1
- package/dist/storage/shared-embedding-cache.js +153 -2
- package/dist/storage/shared-embedding-cache.js.map +1 -1
- package/dist/storage/sqlite/accessors.d.ts +17 -0
- package/dist/storage/sqlite/accessors.d.ts.map +1 -1
- package/dist/storage/sqlite/accessors.js +20 -0
- package/dist/storage/sqlite/accessors.js.map +1 -1
- package/dist/storage/sqlite/connection.d.ts +20 -0
- package/dist/storage/sqlite/connection.d.ts.map +1 -1
- package/dist/storage/sqlite/connection.js +61 -0
- package/dist/storage/sqlite/connection.js.map +1 -1
- package/dist/storage/sqlite/index-io.d.ts +5 -0
- package/dist/storage/sqlite/index-io.d.ts.map +1 -1
- package/dist/storage/sqlite/index-io.js +98 -9
- package/dist/storage/sqlite/index-io.js.map +1 -1
- package/dist/storage/sqlite/meta.d.ts +7 -0
- package/dist/storage/sqlite/meta.d.ts.map +1 -1
- package/dist/storage/sqlite/meta.js.map +1 -1
- package/dist/storage/sqlite/queries.d.ts +66 -0
- package/dist/storage/sqlite/queries.d.ts.map +1 -0
- package/dist/storage/sqlite/queries.js +196 -0
- package/dist/storage/sqlite/queries.js.map +1 -0
- package/dist/storage/sqlite/schema.d.ts +2 -2
- package/dist/storage/sqlite/schema.d.ts.map +1 -1
- package/dist/storage/sqlite/schema.js +36 -0
- package/dist/storage/sqlite/schema.js.map +1 -1
- package/dist/storage/sqlite-index-store.d.ts +3 -1
- package/dist/storage/sqlite-index-store.d.ts.map +1 -1
- package/dist/storage/sqlite-index-store.js +4 -1
- package/dist/storage/sqlite-index-store.js.map +1 -1
- package/dist/storage/telemetry/uploader.js +1 -1
- package/dist/storage/telemetry/uploader.js.map +1 -1
- package/dist/storage/usage-tracker.d.ts +11 -0
- package/dist/storage/usage-tracker.d.ts.map +1 -1
- package/dist/storage/usage-tracker.js +18 -0
- package/dist/storage/usage-tracker.js.map +1 -1
- package/dist/tools/boundary-tools.js +2 -2
- package/dist/tools/boundary-tools.js.map +1 -1
- package/dist/tools/community-tools.d.ts +7 -0
- package/dist/tools/community-tools.d.ts.map +1 -1
- package/dist/tools/community-tools.js +31 -14
- package/dist/tools/community-tools.js.map +1 -1
- package/dist/tools/complexity-tools.d.ts.map +1 -1
- package/dist/tools/complexity-tools.js +65 -45
- package/dist/tools/complexity-tools.js.map +1 -1
- package/dist/tools/conversation-cache.d.ts +23 -3
- package/dist/tools/conversation-cache.d.ts.map +1 -1
- package/dist/tools/conversation-cache.js +141 -4
- package/dist/tools/conversation-cache.js.map +1 -1
- package/dist/tools/conversation-index-tools.d.ts +12 -0
- package/dist/tools/conversation-index-tools.d.ts.map +1 -1
- package/dist/tools/conversation-index-tools.js +316 -5
- package/dist/tools/conversation-index-tools.js.map +1 -1
- package/dist/tools/conversation-search-tools.d.ts +0 -5
- package/dist/tools/conversation-search-tools.d.ts.map +1 -1
- package/dist/tools/conversation-search-tools.js +78 -7
- package/dist/tools/conversation-search-tools.js.map +1 -1
- package/dist/tools/coupling-tools.d.ts +2 -2
- package/dist/tools/coupling-tools.d.ts.map +1 -1
- package/dist/tools/coupling-tools.js +8 -13
- package/dist/tools/coupling-tools.js.map +1 -1
- package/dist/tools/diff-tools.d.ts.map +1 -1
- package/dist/tools/diff-tools.js +8 -14
- package/dist/tools/diff-tools.js.map +1 -1
- package/dist/tools/explore-tools.d.ts +9 -0
- package/dist/tools/explore-tools.d.ts.map +1 -0
- package/dist/tools/explore-tools.js +177 -0
- package/dist/tools/explore-tools.js.map +1 -0
- package/dist/tools/git-exec.d.ts +42 -0
- package/dist/tools/git-exec.d.ts.map +1 -0
- package/dist/tools/git-exec.js +53 -0
- package/dist/tools/git-exec.js.map +1 -0
- package/dist/tools/graph-tools.d.ts +7 -0
- package/dist/tools/graph-tools.d.ts.map +1 -1
- package/dist/tools/graph-tools.js +41 -2
- package/dist/tools/graph-tools.js.map +1 -1
- package/dist/tools/hotspot-tools.d.ts +25 -0
- package/dist/tools/hotspot-tools.d.ts.map +1 -1
- package/dist/tools/hotspot-tools.js +24 -3
- package/dist/tools/hotspot-tools.js.map +1 -1
- package/dist/tools/impact-tools.d.ts.map +1 -1
- package/dist/tools/impact-tools.js +6 -9
- package/dist/tools/impact-tools.js.map +1 -1
- package/dist/tools/index-tools/file-indexer.d.ts +4 -0
- package/dist/tools/index-tools/file-indexer.d.ts.map +1 -1
- package/dist/tools/index-tools/file-indexer.js +155 -16
- package/dist/tools/index-tools/file-indexer.js.map +1 -1
- package/dist/tools/index-tools/folder-indexer.d.ts.map +1 -1
- package/dist/tools/index-tools/folder-indexer.js +5 -5
- package/dist/tools/index-tools/folder-indexer.js.map +1 -1
- package/dist/tools/index-tools/load-gate.d.ts +15 -0
- package/dist/tools/index-tools/load-gate.d.ts.map +1 -0
- package/dist/tools/index-tools/load-gate.js +57 -0
- package/dist/tools/index-tools/load-gate.js.map +1 -0
- package/dist/tools/index-tools/overload-guard.d.ts +16 -0
- package/dist/tools/index-tools/overload-guard.d.ts.map +1 -0
- package/dist/tools/index-tools/overload-guard.js +68 -0
- package/dist/tools/index-tools/overload-guard.js.map +1 -0
- package/dist/tools/index-tools/registry.d.ts +25 -1
- package/dist/tools/index-tools/registry.d.ts.map +1 -1
- package/dist/tools/index-tools/registry.js +149 -8
- package/dist/tools/index-tools/registry.js.map +1 -1
- package/dist/tools/index-tools/state.d.ts +35 -1
- package/dist/tools/index-tools/state.d.ts.map +1 -1
- package/dist/tools/index-tools/state.js +72 -0
- package/dist/tools/index-tools/state.js.map +1 -1
- package/dist/tools/index-tools/watcher.d.ts.map +1 -1
- package/dist/tools/index-tools/watcher.js +13 -5
- package/dist/tools/index-tools/watcher.js.map +1 -1
- package/dist/tools/index-tools/worktree-seed.d.ts +39 -1
- package/dist/tools/index-tools/worktree-seed.d.ts.map +1 -1
- package/dist/tools/index-tools/worktree-seed.js +154 -21
- package/dist/tools/index-tools/worktree-seed.js.map +1 -1
- package/dist/tools/index-tools.d.ts +2 -2
- package/dist/tools/index-tools.d.ts.map +1 -1
- package/dist/tools/index-tools.js +2 -2
- package/dist/tools/index-tools.js.map +1 -1
- package/dist/tools/insights-tools.d.ts.map +1 -1
- package/dist/tools/insights-tools.js +6 -3
- package/dist/tools/insights-tools.js.map +1 -1
- package/dist/tools/journal-generator-helpers.d.ts.map +1 -1
- package/dist/tools/journal-generator-helpers.js +3 -1
- package/dist/tools/journal-generator-helpers.js.map +1 -1
- package/dist/tools/patterns/execution.d.ts.map +1 -1
- package/dist/tools/patterns/execution.js +28 -10
- package/dist/tools/patterns/execution.js.map +1 -1
- package/dist/tools/review-diff/checks/coupling.js +1 -1
- package/dist/tools/review-diff/checks/coupling.js.map +1 -1
- package/dist/tools/secret-detectors.d.ts +10 -1
- package/dist/tools/secret-detectors.d.ts.map +1 -1
- package/dist/tools/secret-detectors.js +16 -2
- package/dist/tools/secret-detectors.js.map +1 -1
- package/dist/tools/secret-file-scanner.d.ts +3 -1
- package/dist/tools/secret-file-scanner.d.ts.map +1 -1
- package/dist/tools/secret-file-scanner.js +4 -2
- package/dist/tools/secret-file-scanner.js.map +1 -1
- package/dist/tools/secret-tools.d.ts.map +1 -1
- package/dist/tools/secret-tools.js +6 -3
- package/dist/tools/secret-tools.js.map +1 -1
- package/dist/tools/status-tools.d.ts +20 -0
- package/dist/tools/status-tools.d.ts.map +1 -1
- package/dist/tools/status-tools.js +46 -0
- package/dist/tools/status-tools.js.map +1 -1
- package/dist/tools/symbol-analysis-tools.d.ts.map +1 -1
- package/dist/tools/symbol-analysis-tools.js +27 -2
- package/dist/tools/symbol-analysis-tools.js.map +1 -1
- package/dist/tools/symbol-reference-tools.js +4 -4
- package/dist/tools/symbol-reference-tools.js.map +1 -1
- package/dist/tools/symbol-tool-internals.d.ts +10 -0
- package/dist/tools/symbol-tool-internals.d.ts.map +1 -1
- package/dist/tools/symbol-tool-internals.js +16 -1
- package/dist/tools/symbol-tool-internals.js.map +1 -1
- package/dist/tools/test-impact-tools.js +1 -1
- package/dist/tools/test-impact-tools.js.map +1 -1
- package/dist/tools/wiki-overview-sources.d.ts.map +1 -1
- package/dist/tools/wiki-overview-sources.js +3 -0
- package/dist/tools/wiki-overview-sources.js.map +1 -1
- package/dist/utils/import-graph/collect.d.ts +2 -3
- package/dist/utils/import-graph/collect.d.ts.map +1 -1
- package/dist/utils/import-graph/collect.js +73 -8
- package/dist/utils/import-graph/collect.js.map +1 -1
- package/dist/utils/import-graph/edge-accumulator.d.ts.map +1 -1
- package/dist/utils/import-graph/edge-accumulator.js +5 -0
- package/dist/utils/import-graph/edge-accumulator.js.map +1 -1
- package/dist/utils/import-graph/edge-cache.d.ts +15 -0
- package/dist/utils/import-graph/edge-cache.d.ts.map +1 -0
- package/dist/utils/import-graph/edge-cache.js +106 -0
- package/dist/utils/import-graph/edge-cache.js.map +1 -0
- package/dist/utils/import-graph/language-imports.d.ts +2 -2
- package/dist/utils/import-graph/language-imports.d.ts.map +1 -1
- package/dist/utils/import-graph/language-imports.js.map +1 -1
- package/dist/utils/import-graph/path-map.d.ts +2 -2
- package/dist/utils/import-graph/path-map.d.ts.map +1 -1
- package/dist/utils/import-graph/path-map.js.map +1 -1
- package/dist/utils/import-graph/python-php-edge-collectors.d.ts +2 -3
- package/dist/utils/import-graph/python-php-edge-collectors.d.ts.map +1 -1
- package/dist/utils/import-graph/python-php-edge-collectors.js.map +1 -1
- package/dist/utils/import-graph/source-edge-collector.d.ts +2 -3
- package/dist/utils/import-graph/source-edge-collector.d.ts.map +1 -1
- package/dist/utils/import-graph/types.d.ts +36 -1
- package/dist/utils/import-graph/types.d.ts.map +1 -1
- package/dist/utils/import-graph/typescript-edge-collector.d.ts +2 -3
- package/dist/utils/import-graph/typescript-edge-collector.d.ts.map +1 -1
- package/dist/utils/import-graph/typescript-edge-collector.js +6 -2
- package/dist/utils/import-graph/typescript-edge-collector.js.map +1 -1
- package/dist/utils/import-graph/workspace-alias.d.ts +2 -2
- package/dist/utils/import-graph/workspace-alias.d.ts.map +1 -1
- package/dist/utils/import-graph/workspace-alias.js.map +1 -1
- package/dist/utils/language-detect.d.ts +2 -4
- package/dist/utils/language-detect.d.ts.map +1 -1
- package/dist/utils/language-detect.js +26 -4
- package/dist/utils/language-detect.js.map +1 -1
- package/dist/utils/ts-imports.d.ts +16 -0
- package/dist/utils/ts-imports.d.ts.map +1 -1
- package/dist/utils/ts-imports.js +65 -3
- package/dist/utils/ts-imports.js.map +1 -1
- package/package.json +3 -3
- package/rules/codesift.md +19 -0
- package/rules/codesift.mdc +19 -0
- package/rules/codex.md +19 -0
- package/rules/gemini.md +19 -0
|
@@ -529,7 +529,7 @@ function ensureToolRegistered(name) {
|
|
|
529
529
|
return undefined;
|
|
530
530
|
return registerToolDefinition(context.server, tool, context.languages);
|
|
531
531
|
}
|
|
532
|
-
export function enableToolByName(name) {
|
|
532
|
+
export function enableToolByName(name, remember = true) {
|
|
533
533
|
const handle = ensureToolRegistered(name);
|
|
534
534
|
if (!handle)
|
|
535
535
|
return false;
|
|
@@ -541,7 +541,14 @@ export function enableToolByName(name) {
|
|
|
541
541
|
handle.enabled = true;
|
|
542
542
|
// Remember at process scope so the next server instance (the HTTP daemon builds one per request)
|
|
543
543
|
// starts with this tool already callable.
|
|
544
|
-
|
|
544
|
+
//
|
|
545
|
+
// `remember: false` exists for ONE caller: front-loading a frozen-list host. That enables the
|
|
546
|
+
// entire surface, and the daemon serves every client on the machine from one process — so
|
|
547
|
+
// recording it here would hand Claude Code the full list too. Growing that list is the change
|
|
548
|
+
// 3e1ec6c reverted after adoption fell by more than 90%, i.e. remembering a front-load trades one
|
|
549
|
+
// client's outage for another's. A front-load is a property of the REQUEST, not of the process.
|
|
550
|
+
if (remember)
|
|
551
|
+
revealedToolNames.add(name);
|
|
545
552
|
return true;
|
|
546
553
|
}
|
|
547
554
|
/** Framework-specific tool bundles — auto-enabled when the framework is detected in an indexed repo */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/register-tools/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/register-tools/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/register-tools.d.ts
CHANGED
|
@@ -33,7 +33,9 @@ export declare function setFrozenToolListHostForTesting(value: boolean): void;
|
|
|
33
33
|
*
|
|
34
34
|
* Idempotent.
|
|
35
35
|
*/
|
|
36
|
-
export declare function frontLoadHiddenToolsForFrozenHost(
|
|
36
|
+
export declare function frontLoadHiddenToolsForFrozenHost(options?: {
|
|
37
|
+
remember?: boolean;
|
|
38
|
+
}): string[];
|
|
37
39
|
export declare function registerTools(server: McpServer, options?: {
|
|
38
40
|
deferNonCore?: boolean;
|
|
39
41
|
projectRoot?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-tools.d.ts","sourceRoot":"","sources":["../src/register-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAK9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQtD,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,+BAA+B,EAC/B,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iCAAiC,EAAE,+BAA+B,GACnE,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAczG;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAK1E;AAED,sEAAsE;AACtE,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAEpE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iCAAiC,
|
|
1
|
+
{"version":3,"file":"register-tools.d.ts","sourceRoot":"","sources":["../src/register-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAK9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQtD,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,+BAA+B,EAC/B,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iCAAiC,EAAE,+BAA+B,GACnE,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAczG;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAK1E;AAED,sEAAsE;AACtE,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAEpE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,EAAE,CAY5F;AAqBD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACzD,IAAI,CA2IN"}
|
package/dist/register-tools.js
CHANGED
|
@@ -59,11 +59,16 @@ export function setFrozenToolListHostForTesting(value) {
|
|
|
59
59
|
*
|
|
60
60
|
* Idempotent.
|
|
61
61
|
*/
|
|
62
|
-
export function frontLoadHiddenToolsForFrozenHost() {
|
|
62
|
+
export function frontLoadHiddenToolsForFrozenHost(options) {
|
|
63
|
+
// `remember: false` is what the HTTP daemon passes. There, one process answers every client on
|
|
64
|
+
// the machine, so recording the front-load at process scope would give Claude Code the full list
|
|
65
|
+
// as a side effect of a Codex session existing — the exact regression 3e1ec6c reverted. On stdio
|
|
66
|
+
// the process IS the session, so remembering costs nothing and stays the default.
|
|
67
|
+
const remember = options?.remember ?? true;
|
|
63
68
|
setFrozenToolListHost(true);
|
|
64
69
|
const enabled = [];
|
|
65
70
|
for (const definition of getToolDefinitions()) {
|
|
66
|
-
if (enableToolByName(definition.name))
|
|
71
|
+
if (enableToolByName(definition.name, remember))
|
|
67
72
|
enabled.push(definition.name);
|
|
68
73
|
}
|
|
69
74
|
return enabled;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-tools.js","sourceRoot":"","sources":["../src/register-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAyB,MAAM,4BAA4B,CAAC;AAE/F,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACvK,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAClL,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpO,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,gCAAgC,EAAE,+BAA+B,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAGjO,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,+BAA+B,EAC/B,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iCAAiC,EAAE,+BAA+B,GACnE,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEzG,sBAAsB,CAAC,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAExE;;;;;;;GAOG;AACH,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAe,CAAC,OAAO,CAAC,CAAC,CAAC;AAEpE;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAsB;IAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC1D,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3D,OAAO,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAClD,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,+BAA+B,CAAC,KAAc;IAC5D,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,iCAAiC;IAC/
|
|
1
|
+
{"version":3,"file":"register-tools.js","sourceRoot":"","sources":["../src/register-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { BM25Index } from "./bm25.js";
|
|
2
|
+
import type { CodeIndex } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* The format version this build writes, so `prune` can reclaim files no build can read.
|
|
5
|
+
*
|
|
6
|
+
* A format bump strands every existing file: `isStale` rejects the old header and the index rebuilds,
|
|
7
|
+
* but the bytes only go away when that repo is indexed again — and a repo nobody touches is never
|
|
8
|
+
* indexed again. Measured at the v1 -> v2 bump: 47.78 GB of `.bm25.ndjson` on this machine, all of it
|
|
9
|
+
* unreadable the moment the version changed. The shared embedding cache has the same hazard and the
|
|
10
|
+
* same answer (`currentSharedCacheFilename`).
|
|
11
|
+
*/
|
|
12
|
+
export declare function bm25FormatVersion(): number;
|
|
13
|
+
export declare function bm25PathFor(indexPath: string): string;
|
|
14
|
+
export declare function saveBM25Index(indexPath: string, index: BM25Index, code: CodeIndex): Promise<void>;
|
|
15
|
+
export declare function loadBM25Index(indexPath: string, code: CodeIndex): Promise<BM25Index | null>;
|
|
16
|
+
//# sourceMappingURL=bm25-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bm25-store.d.ts","sourceRoot":"","sources":["../../src/search/bm25-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AAgGzD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,IAAI,CAAC,CAiEf;AAgBD,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAwG3B"}
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
import { createReadStream, createWriteStream } from "node:fs";
|
|
2
|
+
import { rename, unlink, stat } from "node:fs/promises";
|
|
3
|
+
import { createInterface } from "node:readline";
|
|
4
|
+
import { cleanupOrphanTempFiles } from "../storage/_shared.js";
|
|
5
|
+
/**
|
|
6
|
+
* Persist a BM25 index next to the code index it was built from.
|
|
7
|
+
*
|
|
8
|
+
* Rebuilding costs 10.04 s on the largest repo here (352,166 symbols, 12.9M tokens) and is paid
|
|
9
|
+
* once per repo per process — so every daemon restart, and every eviction under the cache budget,
|
|
10
|
+
* charges it again. Measured alternative on the same index: reconstructing the maps from flat
|
|
11
|
+
* arrays is **0.70 s** and reading 400 MB off this disk is 0.06 s. 13x, and the reason is that the
|
|
12
|
+
* expensive half of a build is TOKENISING every symbol, not assembling the maps.
|
|
13
|
+
*
|
|
14
|
+
* Line-delimited, not one JSON document: `JSON.stringify` on the whole structure exceeds V8's
|
|
15
|
+
* maximum string length and throws outright. The same reason `embeddings.ndjson` is streamed.
|
|
16
|
+
*
|
|
17
|
+
* `symbols` is deliberately NOT written. Every one of those objects is already in the code index
|
|
18
|
+
* that gets loaded first, so persisting them would double the bytes on a disk that is, on this
|
|
19
|
+
* machine, the actual bottleneck. They are reattached on load from that index.
|
|
20
|
+
*
|
|
21
|
+
* ---------------------------------------------------------------------------
|
|
22
|
+
* v2: symbol ids are interned. Why the format changed (measured 2026-09-27)
|
|
23
|
+
* ---------------------------------------------------------------------------
|
|
24
|
+
*
|
|
25
|
+
* v1 wrote the full symbol id — `repo:file:name:line`, averaging 121 characters — into every
|
|
26
|
+
* postings entry. A document appears once per token it contains, so each id was written many times:
|
|
27
|
+
* measured on a real 53 MB index, 398,712 postings pairs over 17,410 distinct ids, i.e. **22.9
|
|
28
|
+
* repeats each**, and **91% of the file was id strings**.
|
|
29
|
+
*
|
|
30
|
+
* That made the 13x claim above false in practice, which is what this comment used to promise. On
|
|
31
|
+
* the largest conversation index here (159,626 turns) v1 produced a **1,975 MB** file, and loading
|
|
32
|
+
* it was only **1.4x** faster than rebuilding from scratch — parsing two billion characters of
|
|
33
|
+
* repeated strings costs about what tokenising the corpus costs. The cache was not worth its disk:
|
|
34
|
+
* 47.78 GB of `.bm25.ndjson` across this machine's code repos.
|
|
35
|
+
*
|
|
36
|
+
* So the ids move into a table written before the postings, and postings reference them by index.
|
|
37
|
+
* The table is chunked because one JSON array of every id exceeds V8's maximum string length on a
|
|
38
|
+
* large repo — the same reason this file is line-delimited at all.
|
|
39
|
+
*
|
|
40
|
+
* A number where v1 had a string is the only wire change, and the reader accepts BOTH: an id absent
|
|
41
|
+
* from the table (which cannot happen for an index this writer produced, but would be a silent wrong
|
|
42
|
+
* answer if it did) is written as a string and read as one. The version bump is what migrates
|
|
43
|
+
* existing caches — `isStale` rejects a v1 header, the index rebuilds, and the rewrite is v2.
|
|
44
|
+
*/
|
|
45
|
+
/** Bump on any format change: a mismatch rebuilds rather than misreads. */
|
|
46
|
+
const FORMAT_VERSION = 2;
|
|
47
|
+
/**
|
|
48
|
+
* Symbol ids per `["s", …]` line.
|
|
49
|
+
*
|
|
50
|
+
* Bounded for the same reason the file is line-delimited: at 121 characters an id, one array of a
|
|
51
|
+
* large repo's 352,166 ids is 42 MB of JSON — comfortable, but the bound is what keeps a repo ten
|
|
52
|
+
* times larger from hitting the string ceiling instead of degrading.
|
|
53
|
+
*/
|
|
54
|
+
const ID_CHUNK = 20_000;
|
|
55
|
+
const FIELDS = ["name", "signature", "docstring", "body", "comments"];
|
|
56
|
+
function headerFor(index, code) {
|
|
57
|
+
return {
|
|
58
|
+
v: FORMAT_VERSION,
|
|
59
|
+
docCount: index.docCount,
|
|
60
|
+
avg: index.avgFieldLengths,
|
|
61
|
+
tot: index.totalFieldLengths,
|
|
62
|
+
symbolCount: code.symbols.length,
|
|
63
|
+
fileCount: code.files.length,
|
|
64
|
+
indexUpdatedAt: code.updated_at ?? code.created_at ?? 0,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* A cache that does not describe the current index is worse than no cache: it returns confident,
|
|
69
|
+
* wrong search results, which is the one failure mode a search tool must never have. So the check
|
|
70
|
+
* is deliberately cheap AND strict — any disagreement rebuilds, and nothing here tries to repair a
|
|
71
|
+
* partial match.
|
|
72
|
+
*/
|
|
73
|
+
function isStale(header, code) {
|
|
74
|
+
if (header.v !== FORMAT_VERSION)
|
|
75
|
+
return true;
|
|
76
|
+
if (header.symbolCount !== code.symbols.length)
|
|
77
|
+
return true;
|
|
78
|
+
if (header.fileCount !== code.files.length)
|
|
79
|
+
return true;
|
|
80
|
+
return header.indexUpdatedAt !== (code.updated_at ?? code.created_at ?? 0);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* The format version this build writes, so `prune` can reclaim files no build can read.
|
|
84
|
+
*
|
|
85
|
+
* A format bump strands every existing file: `isStale` rejects the old header and the index rebuilds,
|
|
86
|
+
* but the bytes only go away when that repo is indexed again — and a repo nobody touches is never
|
|
87
|
+
* indexed again. Measured at the v1 -> v2 bump: 47.78 GB of `.bm25.ndjson` on this machine, all of it
|
|
88
|
+
* unreadable the moment the version changed. The shared embedding cache has the same hazard and the
|
|
89
|
+
* same answer (`currentSharedCacheFilename`).
|
|
90
|
+
*/
|
|
91
|
+
export function bm25FormatVersion() {
|
|
92
|
+
return FORMAT_VERSION;
|
|
93
|
+
}
|
|
94
|
+
export function bm25PathFor(indexPath) {
|
|
95
|
+
return indexPath.replace(/\.index\.json$/, "").replace(/\.index\.db$/, "") + ".bm25.ndjson";
|
|
96
|
+
}
|
|
97
|
+
export async function saveBM25Index(indexPath, index, code) {
|
|
98
|
+
const target = bm25PathFor(indexPath);
|
|
99
|
+
// Reclaim temp halves left by a writer that was KILLED rather than failed — the `catch` below
|
|
100
|
+
// only runs when the write throws. This writer produces the largest orphans in the data dir by a
|
|
101
|
+
// wide margin: measured 2026-09-27, 13 abandoned `.bm25.ndjson.tmp.*` holding 6.93 GB of the
|
|
102
|
+
// 7.17 GB total, the oldest three weeks old. It was the only large-artifact writer that never
|
|
103
|
+
// swept, and `prune` cannot reach these either — its sweep skips any hash belonging to a LIVE
|
|
104
|
+
// repo, which is what every one of those 13 was.
|
|
105
|
+
await cleanupOrphanTempFiles(target);
|
|
106
|
+
// Temp + rename, like every other artifact here: a process killed mid-write must not leave a
|
|
107
|
+
// truncated file that the next start would read as a complete index.
|
|
108
|
+
//
|
|
109
|
+
// The name carries a per-call NONCE, not just the pid. Temp-then-rename makes ONE writer's write
|
|
110
|
+
// atomic and says nothing about two writers sharing a temp NAME: with `.tmp.<pid>` alone, two
|
|
111
|
+
// concurrent misses for the same repo IN THE SAME PROCESS — the shared daemon's normal shape, and
|
|
112
|
+
// there is no single-flight guard on the BM25 miss path the way `withIndexLoadSlot` guards index
|
|
113
|
+
// loads — open the same path, interleave into one inode, and whichever renames last wins with
|
|
114
|
+
// spliced content. `atomicWriteFile` in `storage/_shared.ts` already carried this reasoning in its
|
|
115
|
+
// own comment; this writer did not. Found by the behaviour audit of this release, against a comment
|
|
116
|
+
// of mine that asserted the opposite.
|
|
117
|
+
const temp = `${target}.tmp.${process.pid}.${Date.now()}.${Math.random().toString(36).slice(2, 8)}`;
|
|
118
|
+
const out = createWriteStream(temp, { encoding: "utf-8" });
|
|
119
|
+
const write = (line) => out.write(line) ? Promise.resolve() : new Promise((r) => out.once("drain", () => r()));
|
|
120
|
+
try {
|
|
121
|
+
await write(`${JSON.stringify(headerFor(index, code))}\n`);
|
|
122
|
+
// The id table goes out FIRST, because postings reference it by position and the reader is a
|
|
123
|
+
// single forward pass over the stream. `fieldLengths` is the authoritative document set: it has
|
|
124
|
+
// exactly one entry per indexed document, which is what a posting can refer to.
|
|
125
|
+
const idIndex = new Map();
|
|
126
|
+
for (const id of index.fieldLengths.keys())
|
|
127
|
+
idIndex.set(id, idIndex.size);
|
|
128
|
+
const ids = [...idIndex.keys()];
|
|
129
|
+
for (let start = 0; start < ids.length; start += ID_CHUNK) {
|
|
130
|
+
await write(`${JSON.stringify(["s", start, ids.slice(start, start + ID_CHUNK)])}\n`);
|
|
131
|
+
}
|
|
132
|
+
for (const field of FIELDS) {
|
|
133
|
+
for (const [token, postings] of index.fields[field]) {
|
|
134
|
+
// Flat [ref, tf, ref, tf, …]: half the JSON of an array of pairs, and it rebuilds with one
|
|
135
|
+
// loop rather than a destructuring per entry. `ref` is the id's index in the table above, or
|
|
136
|
+
// the id itself when it is not in it — see the v2 note in the file header.
|
|
137
|
+
const flat = [];
|
|
138
|
+
for (const [id, tf] of postings) {
|
|
139
|
+
flat.push(idIndex.get(id) ?? id);
|
|
140
|
+
flat.push(tf);
|
|
141
|
+
}
|
|
142
|
+
await write(`${JSON.stringify(["p", field, token, flat])}\n`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
for (const [id, lengths] of index.fieldLengths) {
|
|
146
|
+
const ref = idIndex.get(id) ?? id;
|
|
147
|
+
await write(`${JSON.stringify(["l", ref, lengths.name, lengths.signature, lengths.docstring, lengths.body, lengths.comments])}\n`);
|
|
148
|
+
}
|
|
149
|
+
for (const [file, score] of index.centrality) {
|
|
150
|
+
await write(`${JSON.stringify(["c", file, score])}\n`);
|
|
151
|
+
}
|
|
152
|
+
await new Promise((resolve, reject) => {
|
|
153
|
+
out.end(() => resolve());
|
|
154
|
+
out.on("error", reject);
|
|
155
|
+
});
|
|
156
|
+
await rename(temp, target);
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
await unlink(temp).catch(() => { });
|
|
160
|
+
// Never fail a build over its cache. The caller has a working index in memory either way.
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* A postings reference back to a symbol id.
|
|
165
|
+
*
|
|
166
|
+
* `null`, not a fallback, when a numeric reference has no entry in the table: that means the table
|
|
167
|
+
* was truncated or the chunk that held it was lost, and inventing an id there would produce an index
|
|
168
|
+
* that searches cleanly and returns the wrong symbol. The caller treats `null` the same as a corrupt
|
|
169
|
+
* file and rebuilds, which is always correct.
|
|
170
|
+
*/
|
|
171
|
+
function resolveId(ref, idTable) {
|
|
172
|
+
if (typeof ref === "string")
|
|
173
|
+
return ref;
|
|
174
|
+
if (typeof ref !== "number")
|
|
175
|
+
return null;
|
|
176
|
+
return idTable[ref] ?? null;
|
|
177
|
+
}
|
|
178
|
+
export async function loadBM25Index(indexPath, code) {
|
|
179
|
+
const target = bm25PathFor(indexPath);
|
|
180
|
+
try {
|
|
181
|
+
if (!(await stat(target)).isFile())
|
|
182
|
+
return null;
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
return null;
|
|
186
|
+
}
|
|
187
|
+
const fields = {
|
|
188
|
+
name: new Map(), signature: new Map(), docstring: new Map(),
|
|
189
|
+
body: new Map(), comments: new Map(),
|
|
190
|
+
};
|
|
191
|
+
const fieldLengths = new Map();
|
|
192
|
+
const centrality = new Map();
|
|
193
|
+
const idTable = [];
|
|
194
|
+
let header = null;
|
|
195
|
+
try {
|
|
196
|
+
const rl = createInterface({ input: createReadStream(target, { encoding: "utf-8" }), crlfDelay: Infinity });
|
|
197
|
+
for await (const line of rl) {
|
|
198
|
+
if (!line)
|
|
199
|
+
continue;
|
|
200
|
+
if (header === null) {
|
|
201
|
+
header = JSON.parse(line);
|
|
202
|
+
// Checked BEFORE reading 8.9M posting entries, not after: a stale cache should cost one
|
|
203
|
+
// line, not a full parse followed by a discard.
|
|
204
|
+
if (isStale(header, code)) {
|
|
205
|
+
rl.close();
|
|
206
|
+
return null;
|
|
207
|
+
}
|
|
208
|
+
continue;
|
|
209
|
+
}
|
|
210
|
+
const row = JSON.parse(line);
|
|
211
|
+
const kind = row[0];
|
|
212
|
+
if (kind === "s") {
|
|
213
|
+
// Chunks arrive in order and each states its own start, so a reordered or missing chunk
|
|
214
|
+
// leaves holes rather than shifting every id after it by one — a shift would attach the
|
|
215
|
+
// wrong symbol to every posting and still look like a valid index.
|
|
216
|
+
//
|
|
217
|
+
// The parameters come off disk, so they are bounded before use: a corrupt `start` would
|
|
218
|
+
// index the array at an arbitrary offset (V8 drops it into dictionary mode and the load
|
|
219
|
+
// degrades into a crawl), and a corrupt row shape would put non-strings in the table.
|
|
220
|
+
// A cache that cannot be trusted is rebuilt — that is always correct, and the alternative
|
|
221
|
+
// here is a slow death on a file nobody can read anyway.
|
|
222
|
+
const start = row[1];
|
|
223
|
+
const chunk = row[2];
|
|
224
|
+
// Bounded by the file's OWN header rather than a round constant: the table can never hold
|
|
225
|
+
// more ids than the index has documents, and `symbolCount` was already read and validated
|
|
226
|
+
// against the live index by `isStale` above. An arbitrary 50M ceiling still permitted a
|
|
227
|
+
// 50M-element sparse array from one corrupt integer; this permits exactly what the file
|
|
228
|
+
// claims to contain. Tightened after the cross-model review called the constant too loose.
|
|
229
|
+
const maxIds = header.symbolCount;
|
|
230
|
+
if (typeof start !== "number" || !Number.isInteger(start) || start < 0 ||
|
|
231
|
+
!Array.isArray(chunk) || chunk.length > maxIds || start + chunk.length > maxIds) {
|
|
232
|
+
return null;
|
|
233
|
+
}
|
|
234
|
+
for (let i = 0; i < chunk.length; i++) {
|
|
235
|
+
const id = chunk[i];
|
|
236
|
+
if (typeof id !== "string")
|
|
237
|
+
return null;
|
|
238
|
+
// Two chunks claiming the same slot is not something this writer can produce, so a file
|
|
239
|
+
// that does is corrupt — and taking the later one would attach a DIFFERENT symbol to every
|
|
240
|
+
// posting that referenced it, which searches cleanly and answers wrongly. Rebuild instead.
|
|
241
|
+
if (idTable[start + i] !== undefined)
|
|
242
|
+
return null;
|
|
243
|
+
idTable[start + i] = id;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
else if (kind === "p") {
|
|
247
|
+
const field = row[1];
|
|
248
|
+
const flat = row[3];
|
|
249
|
+
const postings = new Map();
|
|
250
|
+
for (let i = 0; i < flat.length; i += 2) {
|
|
251
|
+
const id = resolveId(flat[i], idTable);
|
|
252
|
+
if (id === null)
|
|
253
|
+
return null;
|
|
254
|
+
postings.set(id, flat[i + 1]);
|
|
255
|
+
}
|
|
256
|
+
fields[field].set(row[2], postings);
|
|
257
|
+
}
|
|
258
|
+
else if (kind === "l") {
|
|
259
|
+
const id = resolveId(row[1], idTable);
|
|
260
|
+
if (id === null)
|
|
261
|
+
return null;
|
|
262
|
+
fieldLengths.set(id, {
|
|
263
|
+
name: row[2], signature: row[3], docstring: row[4],
|
|
264
|
+
body: row[5], comments: row[6],
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
else if (kind === "c") {
|
|
268
|
+
centrality.set(row[1], row[2]);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
catch {
|
|
273
|
+
// Truncated, corrupt, or written by a version that disagrees. Rebuilding is always correct;
|
|
274
|
+
// reading half an index is not.
|
|
275
|
+
return null;
|
|
276
|
+
}
|
|
277
|
+
if (header === null)
|
|
278
|
+
return null;
|
|
279
|
+
// Reattached rather than persisted — see the file header. The map must be built the same way the
|
|
280
|
+
// builder does it (last write wins), because symbol ids are documented as non-unique.
|
|
281
|
+
const symbols = new Map();
|
|
282
|
+
for (const symbol of code.symbols)
|
|
283
|
+
symbols.set(symbol.id, symbol);
|
|
284
|
+
return {
|
|
285
|
+
fields,
|
|
286
|
+
avgFieldLengths: header.avg,
|
|
287
|
+
docCount: header.docCount,
|
|
288
|
+
symbols,
|
|
289
|
+
centrality,
|
|
290
|
+
fieldLengths,
|
|
291
|
+
totalFieldLengths: header.tot,
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
//# sourceMappingURL=bm25-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bm25-store.js","sourceRoot":"","sources":["../../src/search/bm25-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,2EAA2E;AAC3E,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB;;;;;;GAMG;AACH,MAAM,QAAQ,GAAG,MAAM,CAAC;AAIxB,MAAM,MAAM,GAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAanF,SAAS,SAAS,CAAC,KAAgB,EAAE,IAAe;IAClD,OAAO;QACL,CAAC,EAAE,cAAc;QACjB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,EAAE,KAAK,CAAC,eAAe;QAC1B,GAAG,EAAE,KAAK,CAAC,iBAAiB;QAC5B,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;QAChC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;QAC5B,cAAc,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC;KACxD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,OAAO,CAAC,MAAc,EAAE,IAAe;IAC9C,IAAI,MAAM,CAAC,CAAC,KAAK,cAAc;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC5D,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACxD,OAAO,MAAM,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,OAAO,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,GAAG,cAAc,CAAC;AAC9F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAiB,EACjB,KAAgB,EAChB,IAAe;IAEf,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACtC,8FAA8F;IAC9F,iGAAiG;IACjG,6FAA6F;IAC7F,8FAA8F;IAC9F,8FAA8F;IAC9F,iDAAiD;IACjD,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,6FAA6F;IAC7F,qEAAqE;IACrE,EAAE;IACF,iGAAiG;IACjG,8FAA8F;IAC9F,kGAAkG;IAClG,iGAAiG;IACjG,8FAA8F;IAC9F,mGAAmG;IACnG,oGAAoG;IACpG,sCAAsC;IACtC,MAAM,IAAI,GAAG,GAAG,MAAM,QAAQ,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACpG,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG,CAAC,IAAY,EAAiB,EAAE,CAC5C,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEzF,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAE3D,6FAA6F;QAC7F,gGAAgG;QAChG,gFAAgF;QAChF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC1D,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvF,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,2FAA2F;gBAC3F,6FAA6F;gBAC7F,2EAA2E;gBAC3E,MAAM,IAAI,GAAwB,EAAE,CAAC;gBACrC,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;oBAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;oBAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAAC,CAAC;gBACrF,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;QACrI,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YAC7C,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACzB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACnC,0FAA0F;IAC5F,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,GAAY,EAAE,OAAiB;IAChD,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAiB,EACjB,IAAe;IAEf,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE;YAAE,OAAO,IAAI,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAwD;QAClE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE;QAC3D,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE;KACrC,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAqC,CAAC;IAClE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,MAAM,GAAkB,IAAI,CAAC;IAEjC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5G,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW,CAAC;gBACpC,wFAAwF;gBACxF,gDAAgD;gBAChD,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;oBAAC,EAAE,CAAC,KAAK,EAAE,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;gBACvD,SAAS;YACX,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC;YAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,wFAAwF;gBACxF,wFAAwF;gBACxF,mEAAmE;gBACnE,EAAE;gBACF,wFAAwF;gBACxF,wFAAwF;gBACxF,sFAAsF;gBACtF,0FAA0F;gBAC1F,yDAAyD;gBACzD,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrB,0FAA0F;gBAC1F,0FAA0F;gBAC1F,wFAAwF;gBACxF,wFAAwF;gBACxF,2FAA2F;gBAC3F,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;gBAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;oBAClE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;oBACpF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACpB,IAAI,OAAO,EAAE,KAAK,QAAQ;wBAAE,OAAO,IAAI,CAAC;oBACxC,wFAAwF;oBACxF,2FAA2F;oBAC3F,2FAA2F;oBAC3F,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,SAAS;wBAAE,OAAO,IAAI,CAAC;oBAClD,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAc,CAAC;gBAClC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAwB,CAAC;gBAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;gBAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxC,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;oBACvC,IAAI,EAAE,KAAK,IAAI;wBAAE,OAAO,IAAI,CAAC;oBAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAW,EAAE,QAAQ,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACtC,IAAI,EAAE,KAAK,IAAI;oBAAE,OAAO,IAAI,CAAC;gBAC7B,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE;oBACnB,IAAI,EAAE,GAAG,CAAC,CAAC,CAAW,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAW,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAW;oBAChF,IAAI,EAAE,GAAG,CAAC,CAAC,CAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAW;iBACnD,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAW,EAAE,GAAG,CAAC,CAAC,CAAW,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4FAA4F;QAC5F,gCAAgC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEjC,iGAAiG;IACjG,sFAAsF;IACtF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC9C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAElE,OAAO;QACL,MAAM;QACN,eAAe,EAAE,MAAM,CAAC,GAAG;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO;QACP,UAAU;QACV,YAAY;QACZ,iBAAiB,EAAE,MAAM,CAAC,GAAG;KAC9B,CAAC;AACJ,CAAC"}
|
package/dist/search/bm25.d.ts
CHANGED
|
@@ -13,6 +13,12 @@ export interface BM25Index {
|
|
|
13
13
|
centrality: Map<string, number>;
|
|
14
14
|
/** Pre-computed per-document field lengths (avoids O(n*m) recomputation per search) */
|
|
15
15
|
fieldLengths: Map<string, Record<FieldName, number>>;
|
|
16
|
+
/**
|
|
17
|
+
* Running per-field token totals. `avgFieldLengths` is derived from these, and keeping the
|
|
18
|
+
* numerator lets one file's symbols be swapped without rescanning every document. Deriving it
|
|
19
|
+
* back as `avg * docCount` would work on paper and accumulate float error in practice.
|
|
20
|
+
*/
|
|
21
|
+
totalFieldLengths: Record<FieldName, number>;
|
|
16
22
|
}
|
|
17
23
|
/**
|
|
18
24
|
* General-purpose tokenizer for signature, docstring, and body text.
|
|
@@ -20,7 +26,53 @@ export interface BM25Index {
|
|
|
20
26
|
* lowercases, and filters tokens shorter than 2 chars.
|
|
21
27
|
*/
|
|
22
28
|
export declare function tokenizeText(text: string): string[];
|
|
29
|
+
/**
|
|
30
|
+
* Swap one file's symbols in place, instead of throwing the whole index away.
|
|
31
|
+
*
|
|
32
|
+
* Editing a single file used to delete the repository's entire BM25 index, and the next search
|
|
33
|
+
* rebuilt it from scratch — measured 6.8 s on a 372k-symbol repository, against 952 `index_file`
|
|
34
|
+
* calls in a week. The agent loop is edit-then-search, so that rebuild was being paid constantly.
|
|
35
|
+
*
|
|
36
|
+
* `centrality` is deliberately NOT recomputed. It is an O(imports x files) scan over every symbol
|
|
37
|
+
* in the repository — the thing this function exists to avoid — and it is a ranking bonus derived
|
|
38
|
+
* from a substring heuristic, not a correctness input. One file's imports moving leaves it
|
|
39
|
+
* marginally stale until the next full build; a 6.8 s pause would not.
|
|
40
|
+
*/
|
|
41
|
+
export declare function updateBM25ForFile(index: BM25Index, file: string, symbols: CodeSymbol[]): void;
|
|
42
|
+
/**
|
|
43
|
+
* Synchronous build. Correct, and fine for small inputs — the tool-ranker index is ~150 entries.
|
|
44
|
+
* Do NOT use it on a repository index inside the daemon: see buildBM25IndexYielding.
|
|
45
|
+
*/
|
|
46
|
+
/**
|
|
47
|
+
* Bytes a BM25 index occupies, from its own token totals.
|
|
48
|
+
*
|
|
49
|
+
* Measured with a heapUsed delta around a real build: 352,125 symbols / 12,882,846 tokens cost
|
|
50
|
+
* 399 MB, i.e. 32.5 B per token — the postings maps dominate, so tokens are the quantity to price
|
|
51
|
+
* by, not symbols. Rounded UP to 40, on the same reasoning as the index footprint: over-reporting
|
|
52
|
+
* evicts something that would have fitted, under-reporting silently breaks the budget. Re-measured
|
|
53
|
+
* 2026-09-27 on a 344,179-symbol / 14,126,954-token index: estimate 565 MB against 498 MB actual,
|
|
54
|
+
* so it still errs by 12% in the safe direction.
|
|
55
|
+
*
|
|
56
|
+
* It lives here, beside the structure it prices, because there are TWO caches of BM25 indexes — the
|
|
57
|
+
* code one in `index-tools/state.ts` and the conversation one in `tools/conversation-cache.ts`. A
|
|
58
|
+
* copy of this per cache is how their budgets drift apart.
|
|
59
|
+
*/
|
|
60
|
+
export declare function bm25FootprintBytes(index: BM25Index): number;
|
|
61
|
+
/**
|
|
62
|
+
* Resident budget for one BM25 cache, in bytes.
|
|
63
|
+
*
|
|
64
|
+
* Same RAM tiers as the index and embedding budgets, so all of them agree about what a machine this
|
|
65
|
+
* size is willing to hold. `CODESIFT_MAX_BM25_CACHE_MB` overrides.
|
|
66
|
+
*/
|
|
67
|
+
export declare function bm25CacheBudgetBytes(env?: NodeJS.ProcessEnv): number;
|
|
23
68
|
export declare function buildBM25Index(symbols: CodeSymbol[]): BM25Index;
|
|
69
|
+
/**
|
|
70
|
+
* Same index, built without monopolising the event loop.
|
|
71
|
+
*
|
|
72
|
+
* Identical work and identical output — it simply hands the loop a turn every SYMBOLS_PER_TURN
|
|
73
|
+
* symbols, so other clients keep getting answers while a large repository is indexed.
|
|
74
|
+
*/
|
|
75
|
+
export declare function buildBM25IndexYielding(symbols: CodeSymbol[]): Promise<BM25Index>;
|
|
24
76
|
export declare function searchBM25(index: BM25Index, query: string, topK: number, fieldWeights: Record<FieldName, number>): SearchResult[];
|
|
25
77
|
export declare function applyCutoff(results: SearchResult[]): SearchResult[];
|
|
26
78
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bm25.d.ts","sourceRoot":"","sources":["../../src/search/bm25.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bm25.d.ts","sourceRoot":"","sources":["../../src/search/bm25.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAe5D,KAAK,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,CAAC;AAE1E,MAAM,WAAW,SAAS;IACxB,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5D,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3C,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjC,sFAAsF;IACtF,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,uFAAuF;IACvF,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBnD;AA8MD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAsB7F;AAED;;;GAGG;AACH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAM3D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAUjF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,SAAS,CAI/D;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAQtF;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GACtC,YAAY,EAAE,CAwFhB;AAKD,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAWnE"}
|