codesift-mcp 0.13.1 → 0.15.0
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/README.md +5 -1
- package/dist/cli/commands-admin.d.ts +18 -0
- package/dist/cli/commands-admin.d.ts.map +1 -0
- package/dist/cli/commands-admin.js +187 -0
- package/dist/cli/commands-admin.js.map +1 -0
- package/dist/cli/commands-daemon.d.ts +42 -0
- package/dist/cli/commands-daemon.d.ts.map +1 -0
- package/dist/cli/commands-daemon.js +163 -0
- package/dist/cli/commands-daemon.js.map +1 -0
- package/dist/cli/commands-index.d.ts +12 -0
- package/dist/cli/commands-index.d.ts.map +1 -0
- package/dist/cli/commands-index.js +133 -0
- package/dist/cli/commands-index.js.map +1 -0
- package/dist/cli/commands-maintenance.d.ts +12 -0
- package/dist/cli/commands-maintenance.d.ts.map +1 -0
- package/dist/cli/commands-maintenance.js +409 -0
- package/dist/cli/commands-maintenance.js.map +1 -0
- package/dist/cli/commands-query.d.ts +21 -0
- package/dist/cli/commands-query.d.ts.map +1 -0
- package/dist/cli/commands-query.js +270 -0
- package/dist/cli/commands-query.js.map +1 -0
- package/dist/cli/commands.d.ts +2 -36
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +8 -854
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/embed-child.js +13 -2
- package/dist/cli/embed-child.js.map +1 -1
- package/dist/cli/hooks/pre-tool-use.d.ts +1 -0
- package/dist/cli/hooks/pre-tool-use.d.ts.map +1 -1
- package/dist/cli/hooks/pre-tool-use.js +11 -2
- package/dist/cli/hooks/pre-tool-use.js.map +1 -1
- package/dist/config.d.ts +13 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +21 -0
- package/dist/config.js.map +1 -1
- package/dist/formatters-core.d.ts +7 -0
- package/dist/formatters-core.d.ts.map +1 -1
- package/dist/formatters-core.js +14 -3
- package/dist/formatters-core.js.map +1 -1
- package/dist/instructions.d.ts +1 -1
- package/dist/instructions.d.ts.map +1 -1
- package/dist/instructions.js +5 -2
- package/dist/instructions.js.map +1 -1
- package/dist/parser/extractors/hono-inline-analyzer.js +2 -2
- package/dist/parser/extractors/hono-inline-analyzer.js.map +1 -1
- package/dist/parser/extractors/php-class-metadata.d.ts +10 -0
- package/dist/parser/extractors/php-class-metadata.d.ts.map +1 -0
- package/dist/parser/extractors/php-class-metadata.js +65 -0
- package/dist/parser/extractors/php-class-metadata.js.map +1 -0
- package/dist/parser/extractors/php-doc.d.ts +13 -0
- package/dist/parser/extractors/php-doc.d.ts.map +1 -0
- package/dist/parser/extractors/php-doc.js +39 -0
- package/dist/parser/extractors/php-doc.js.map +1 -0
- package/dist/parser/extractors/php-node-metadata.d.ts +26 -0
- package/dist/parser/extractors/php-node-metadata.d.ts.map +1 -0
- package/dist/parser/extractors/php-node-metadata.js +132 -0
- package/dist/parser/extractors/php-node-metadata.js.map +1 -0
- package/dist/parser/extractors/php-symbol-builders.d.ts +13 -0
- package/dist/parser/extractors/php-symbol-builders.d.ts.map +1 -0
- package/dist/parser/extractors/php-symbol-builders.js +58 -0
- package/dist/parser/extractors/php-symbol-builders.js.map +1 -0
- package/dist/parser/extractors/php-walker.d.ts +4 -0
- package/dist/parser/extractors/php-walker.d.ts.map +1 -0
- package/dist/parser/extractors/php-walker.js +238 -0
- package/dist/parser/extractors/php-walker.js.map +1 -0
- package/dist/parser/extractors/php.d.ts +2 -33
- package/dist/parser/extractors/php.d.ts.map +1 -1
- package/dist/parser/extractors/php.js +2 -747
- package/dist/parser/extractors/php.js.map +1 -1
- package/dist/register-tool-groups/core/search.d.ts.map +1 -1
- package/dist/register-tool-groups/core/search.js +14 -0
- package/dist/register-tool-groups/core/search.js.map +1 -1
- package/dist/register-tool-groups/core/symbols.d.ts.map +1 -1
- package/dist/register-tool-groups/core/symbols.js +50 -5
- package/dist/register-tool-groups/core/symbols.js.map +1 -1
- package/dist/register-tool-loaders.d.ts +11 -11
- package/dist/register-tool-loaders.d.ts.map +1 -1
- package/dist/register-tools/runtime.d.ts +11 -0
- package/dist/register-tools/runtime.d.ts.map +1 -1
- package/dist/register-tools/runtime.js +40 -0
- package/dist/register-tools/runtime.js.map +1 -1
- package/dist/register-tools.d.ts.map +1 -1
- package/dist/register-tools.js +5 -1
- package/dist/register-tools.js.map +1 -1
- package/dist/retrieval/semantic-handlers.d.ts.map +1 -1
- package/dist/retrieval/semantic-handlers.js +10 -3
- package/dist/retrieval/semantic-handlers.js.map +1 -1
- package/dist/search/semantic.d.ts +2 -0
- package/dist/search/semantic.d.ts.map +1 -1
- package/dist/search/semantic.js +41 -9
- package/dist/search/semantic.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +54 -2
- package/dist/server.js.map +1 -1
- package/dist/storage/_shared.d.ts +21 -0
- package/dist/storage/_shared.d.ts.map +1 -1
- package/dist/storage/_shared.js +36 -0
- package/dist/storage/_shared.js.map +1 -1
- package/dist/storage/chunk-store.d.ts +14 -2
- package/dist/storage/chunk-store.d.ts.map +1 -1
- package/dist/storage/chunk-store.js +214 -34
- package/dist/storage/chunk-store.js.map +1 -1
- package/dist/storage/embedding-store.d.ts +0 -12
- package/dist/storage/embedding-store.d.ts.map +1 -1
- package/dist/storage/embedding-store.js +69 -9
- package/dist/storage/embedding-store.js.map +1 -1
- package/dist/storage/index-cache.d.ts +12 -0
- package/dist/storage/index-cache.d.ts.map +1 -0
- package/dist/storage/index-cache.js +89 -0
- package/dist/storage/index-cache.js.map +1 -0
- package/dist/storage/index-footprint.d.ts +12 -0
- package/dist/storage/index-footprint.d.ts.map +1 -0
- package/dist/storage/index-footprint.js +41 -0
- package/dist/storage/index-footprint.js.map +1 -0
- package/dist/storage/index-json-mutations.d.ts +11 -0
- package/dist/storage/index-json-mutations.d.ts.map +1 -0
- package/dist/storage/index-json-mutations.js +93 -0
- package/dist/storage/index-json-mutations.js.map +1 -0
- package/dist/storage/index-migration.d.ts +22 -0
- package/dist/storage/index-migration.d.ts.map +1 -0
- package/dist/storage/index-migration.js +80 -0
- package/dist/storage/index-migration.js.map +1 -0
- package/dist/storage/index-store.d.ts +26 -55
- package/dist/storage/index-store.d.ts.map +1 -1
- package/dist/storage/index-store.js +82 -350
- package/dist/storage/index-store.js.map +1 -1
- package/dist/storage/index-version.d.ts +39 -0
- package/dist/storage/index-version.d.ts.map +1 -0
- package/dist/storage/index-version.js +87 -0
- package/dist/storage/index-version.js.map +1 -0
- package/dist/storage/registry.d.ts +9 -1
- package/dist/storage/registry.d.ts.map +1 -1
- package/dist/storage/registry.js +233 -9
- package/dist/storage/registry.js.map +1 -1
- package/dist/storage/shared-embedding-cache.d.ts +23 -3
- package/dist/storage/shared-embedding-cache.d.ts.map +1 -1
- package/dist/storage/shared-embedding-cache.js +300 -45
- package/dist/storage/shared-embedding-cache.js.map +1 -1
- package/dist/storage/sqlite/accessors.d.ts +34 -0
- package/dist/storage/sqlite/accessors.d.ts.map +1 -0
- package/dist/storage/sqlite/accessors.js +178 -0
- package/dist/storage/sqlite/accessors.js.map +1 -0
- package/dist/storage/sqlite/connection.d.ts +43 -0
- package/dist/storage/sqlite/connection.d.ts.map +1 -0
- package/dist/storage/sqlite/connection.js +241 -0
- package/dist/storage/sqlite/connection.js.map +1 -0
- package/dist/storage/sqlite/errors.d.ts +38 -0
- package/dist/storage/sqlite/errors.d.ts.map +1 -0
- package/dist/storage/sqlite/errors.js +150 -0
- package/dist/storage/sqlite/errors.js.map +1 -0
- package/dist/storage/sqlite/index-io.d.ts +49 -0
- package/dist/storage/sqlite/index-io.d.ts.map +1 -0
- package/dist/storage/sqlite/index-io.js +268 -0
- package/dist/storage/sqlite/index-io.js.map +1 -0
- package/dist/storage/sqlite/meta.d.ts +41 -0
- package/dist/storage/sqlite/meta.d.ts.map +1 -0
- package/dist/storage/sqlite/meta.js +28 -0
- package/dist/storage/sqlite/meta.js.map +1 -0
- package/dist/storage/sqlite/rows.d.ts +64 -0
- package/dist/storage/sqlite/rows.d.ts.map +1 -0
- package/dist/storage/sqlite/rows.js +186 -0
- package/dist/storage/sqlite/rows.js.map +1 -0
- package/dist/storage/sqlite/runtime.d.ts +6 -0
- package/dist/storage/sqlite/runtime.d.ts.map +1 -0
- package/dist/storage/sqlite/runtime.js +31 -0
- package/dist/storage/sqlite/runtime.js.map +1 -0
- package/dist/storage/sqlite/schema.d.ts +34 -0
- package/dist/storage/sqlite/schema.d.ts.map +1 -0
- package/dist/storage/sqlite/schema.js +98 -0
- package/dist/storage/sqlite/schema.js.map +1 -0
- package/dist/storage/sqlite-index-store.d.ts +40 -80
- package/dist/storage/sqlite-index-store.d.ts.map +1 -1
- package/dist/storage/sqlite-index-store.js +32 -577
- package/dist/storage/sqlite-index-store.js.map +1 -1
- package/dist/storage/telemetry/config.d.ts.map +1 -1
- package/dist/storage/telemetry/config.js +15 -3
- package/dist/storage/telemetry/config.js.map +1 -1
- package/dist/storage/telemetry/payload.d.ts.map +1 -1
- package/dist/storage/telemetry/payload.js +4 -1
- package/dist/storage/telemetry/payload.js.map +1 -1
- package/dist/storage/telemetry/retro-aggregator.d.ts +48 -0
- package/dist/storage/telemetry/retro-aggregator.d.ts.map +1 -0
- package/dist/storage/telemetry/retro-aggregator.js +221 -0
- package/dist/storage/telemetry/retro-aggregator.js.map +1 -0
- package/dist/storage/telemetry/sanitizer.d.ts +46 -0
- package/dist/storage/telemetry/sanitizer.d.ts.map +1 -1
- package/dist/storage/telemetry/sanitizer.js +25 -0
- package/dist/storage/telemetry/sanitizer.js.map +1 -1
- package/dist/storage/telemetry/uploader.d.ts +3 -1
- package/dist/storage/telemetry/uploader.d.ts.map +1 -1
- package/dist/storage/telemetry/uploader.js +161 -18
- package/dist/storage/telemetry/uploader.js.map +1 -1
- package/dist/storage/workspace-resolver.js +1 -1
- package/dist/storage/workspace-resolver.js.map +1 -1
- package/dist/tools/cross-repo-contract-adapters.d.ts +39 -0
- package/dist/tools/cross-repo-contract-adapters.d.ts.map +1 -0
- package/dist/tools/cross-repo-contract-adapters.js +70 -0
- package/dist/tools/cross-repo-contract-adapters.js.map +1 -0
- package/dist/tools/cross-repo-contract-group.d.ts +17 -0
- package/dist/tools/cross-repo-contract-group.d.ts.map +1 -0
- package/dist/tools/cross-repo-contract-group.js +89 -0
- package/dist/tools/cross-repo-contract-group.js.map +1 -0
- package/dist/tools/cross-repo-contract-matcher.d.ts +24 -0
- package/dist/tools/cross-repo-contract-matcher.d.ts.map +1 -0
- package/dist/tools/cross-repo-contract-matcher.js +134 -0
- package/dist/tools/cross-repo-contract-matcher.js.map +1 -0
- package/dist/tools/cross-repo-contract-resolver.d.ts +9 -0
- package/dist/tools/cross-repo-contract-resolver.d.ts.map +1 -0
- package/dist/tools/cross-repo-contract-resolver.js +86 -0
- package/dist/tools/cross-repo-contract-resolver.js.map +1 -0
- package/dist/tools/cross-repo-contract-tools.d.ts +12 -135
- package/dist/tools/cross-repo-contract-tools.d.ts.map +1 -1
- package/dist/tools/cross-repo-contract-tools.js +8 -589
- package/dist/tools/cross-repo-contract-tools.js.map +1 -1
- package/dist/tools/cross-repo-contract-types.d.ts +30 -0
- package/dist/tools/cross-repo-contract-types.d.ts.map +1 -0
- package/dist/tools/cross-repo-contract-types.js +3 -0
- package/dist/tools/cross-repo-contract-types.js.map +1 -0
- package/dist/tools/cross-repo-outbound-calls.d.ts +28 -0
- package/dist/tools/cross-repo-outbound-calls.d.ts.map +1 -0
- package/dist/tools/cross-repo-outbound-calls.js +347 -0
- package/dist/tools/cross-repo-outbound-calls.js.map +1 -0
- package/dist/tools/cross-repo-outbound-lexer/call-detectors.d.ts.map +1 -1
- package/dist/tools/cross-repo-outbound-lexer/call-detectors.js +2 -0
- package/dist/tools/cross-repo-outbound-lexer/call-detectors.js.map +1 -1
- package/dist/tools/cross-repo-outbound-lexer/types.d.ts +2 -0
- package/dist/tools/cross-repo-outbound-lexer/types.d.ts.map +1 -1
- package/dist/tools/index-tools/file-indexer.js +3 -3
- 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 +51 -3
- package/dist/tools/index-tools/folder-indexer.js.map +1 -1
- package/dist/tools/index-tools/parse.d.ts +12 -3
- package/dist/tools/index-tools/parse.d.ts.map +1 -1
- package/dist/tools/index-tools/parse.js +33 -8
- package/dist/tools/index-tools/parse.js.map +1 -1
- package/dist/tools/index-tools/registry.d.ts +35 -0
- package/dist/tools/index-tools/registry.d.ts.map +1 -1
- package/dist/tools/index-tools/registry.js +167 -3
- package/dist/tools/index-tools/registry.js.map +1 -1
- package/dist/tools/index-tools/state.d.ts +31 -0
- package/dist/tools/index-tools/state.d.ts.map +1 -1
- package/dist/tools/index-tools/state.js +53 -0
- package/dist/tools/index-tools/state.js.map +1 -1
- package/dist/tools/index-tools/types.d.ts +9 -0
- package/dist/tools/index-tools/types.d.ts.map +1 -1
- package/dist/tools/index-tools/watcher.js +3 -3
- package/dist/tools/index-tools/watcher.js.map +1 -1
- package/dist/tools/index-tools/worktree-seed.d.ts +44 -0
- package/dist/tools/index-tools/worktree-seed.d.ts.map +1 -0
- package/dist/tools/index-tools/worktree-seed.js +302 -0
- package/dist/tools/index-tools/worktree-seed.js.map +1 -0
- 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 +5 -3
- package/dist/tools/index-tools.js.map +1 -1
- package/dist/tools/nest-ext-tools/graphql.d.ts +17 -0
- package/dist/tools/nest-ext-tools/graphql.d.ts.map +1 -0
- package/dist/tools/nest-ext-tools/graphql.js +54 -0
- package/dist/tools/nest-ext-tools/graphql.js.map +1 -0
- package/dist/tools/nest-ext-tools/microservice.d.ts +17 -0
- package/dist/tools/nest-ext-tools/microservice.d.ts.map +1 -0
- package/dist/tools/nest-ext-tools/microservice.js +51 -0
- package/dist/tools/nest-ext-tools/microservice.js.map +1 -0
- package/dist/tools/nest-ext-tools/openapi.d.ts +81 -0
- package/dist/tools/nest-ext-tools/openapi.d.ts.map +1 -0
- package/dist/tools/nest-ext-tools/openapi.js +254 -0
- package/dist/tools/nest-ext-tools/openapi.js.map +1 -0
- package/dist/tools/nest-ext-tools/queue.d.ts +27 -0
- package/dist/tools/nest-ext-tools/queue.d.ts.map +1 -0
- package/dist/tools/nest-ext-tools/queue.js +95 -0
- package/dist/tools/nest-ext-tools/queue.js.map +1 -0
- package/dist/tools/nest-ext-tools/schedule.d.ts +19 -0
- package/dist/tools/nest-ext-tools/schedule.d.ts.map +1 -0
- package/dist/tools/nest-ext-tools/schedule.js +89 -0
- package/dist/tools/nest-ext-tools/schedule.js.map +1 -0
- package/dist/tools/nest-ext-tools/scope.d.ts +19 -0
- package/dist/tools/nest-ext-tools/scope.d.ts.map +1 -0
- package/dist/tools/nest-ext-tools/scope.js +151 -0
- package/dist/tools/nest-ext-tools/scope.js.map +1 -0
- package/dist/tools/nest-ext-tools/shared.d.ts +33 -0
- package/dist/tools/nest-ext-tools/shared.d.ts.map +1 -0
- package/dist/tools/nest-ext-tools/shared.js +279 -0
- package/dist/tools/nest-ext-tools/shared.js.map +1 -0
- package/dist/tools/nest-ext-tools/typeorm.d.ts +22 -0
- package/dist/tools/nest-ext-tools/typeorm.d.ts.map +1 -0
- package/dist/tools/nest-ext-tools/typeorm.js +59 -0
- package/dist/tools/nest-ext-tools/typeorm.js.map +1 -0
- package/dist/tools/nest-ext-tools/websocket.d.ts +21 -0
- package/dist/tools/nest-ext-tools/websocket.d.ts.map +1 -0
- package/dist/tools/nest-ext-tools/websocket.js +70 -0
- package/dist/tools/nest-ext-tools/websocket.js.map +1 -0
- package/dist/tools/nest-ext-tools.d.ts +10 -204
- package/dist/tools/nest-ext-tools.d.ts.map +1 -1
- package/dist/tools/nest-ext-tools.js +10 -749
- package/dist/tools/nest-ext-tools.js.map +1 -1
- package/dist/tools/perf-tools.js +2 -2
- package/dist/tools/plan-turn/stale-index.d.ts +32 -0
- package/dist/tools/plan-turn/stale-index.d.ts.map +1 -1
- package/dist/tools/plan-turn/stale-index.js +42 -5
- package/dist/tools/plan-turn/stale-index.js.map +1 -1
- package/dist/tools/python-audit/checks/dead-code.d.ts +1 -1
- package/dist/tools/python-audit/checks/dead-code.d.ts.map +1 -1
- package/dist/tools/python-constants/constant-match.d.ts +5 -0
- package/dist/tools/python-constants/constant-match.d.ts.map +1 -0
- package/dist/tools/python-constants/constant-match.js +24 -0
- package/dist/tools/python-constants/constant-match.js.map +1 -0
- package/dist/tools/python-constants/file-context.d.ts +5 -0
- package/dist/tools/python-constants/file-context.d.ts.map +1 -0
- package/dist/tools/python-constants/file-context.js +91 -0
- package/dist/tools/python-constants/file-context.js.map +1 -0
- package/dist/tools/python-constants/function-defaults.d.ts +5 -0
- package/dist/tools/python-constants/function-defaults.d.ts.map +1 -0
- package/dist/tools/python-constants/function-defaults.js +98 -0
- package/dist/tools/python-constants/function-defaults.js.map +1 -0
- package/dist/tools/python-constants/model.d.ts +78 -0
- package/dist/tools/python-constants/model.d.ts.map +1 -0
- package/dist/tools/python-constants/model.js +2 -0
- package/dist/tools/python-constants/model.js.map +1 -0
- package/dist/tools/python-constants/syntax.d.ts +22 -0
- package/dist/tools/python-constants/syntax.d.ts.map +1 -0
- package/dist/tools/python-constants/syntax.js +93 -0
- package/dist/tools/python-constants/syntax.js.map +1 -0
- package/dist/tools/python-constants/value-resolver.d.ts +6 -0
- package/dist/tools/python-constants/value-resolver.d.ts.map +1 -0
- package/dist/tools/python-constants/value-resolver.js +320 -0
- package/dist/tools/python-constants/value-resolver.js.map +1 -0
- package/dist/tools/python-constants-tools.d.ts +3 -45
- package/dist/tools/python-constants-tools.d.ts.map +1 -1
- package/dist/tools/python-constants-tools.js +2 -505
- package/dist/tools/python-constants-tools.js.map +1 -1
- package/dist/tools/route-tools/django.d.ts +8 -0
- package/dist/tools/route-tools/django.d.ts.map +1 -0
- package/dist/tools/route-tools/django.js +52 -0
- package/dist/tools/route-tools/django.js.map +1 -0
- package/dist/tools/route-tools/express.d.ts +5 -0
- package/dist/tools/route-tools/express.d.ts.map +1 -0
- package/dist/tools/route-tools/express.js +33 -0
- package/dist/tools/route-tools/express.js.map +1 -0
- package/dist/tools/route-tools/file-sources.d.ts +7 -0
- package/dist/tools/route-tools/file-sources.d.ts.map +1 -0
- package/dist/tools/route-tools/file-sources.js +15 -0
- package/dist/tools/route-tools/file-sources.js.map +1 -0
- package/dist/tools/route-tools/handler-discovery.d.ts +4 -0
- package/dist/tools/route-tools/handler-discovery.d.ts.map +1 -0
- package/dist/tools/route-tools/handler-discovery.js +38 -0
- package/dist/tools/route-tools/handler-discovery.js.map +1 -0
- package/dist/tools/route-tools/hono.d.ts +5 -0
- package/dist/tools/route-tools/hono.d.ts.map +1 -0
- package/dist/tools/route-tools/hono.js +61 -0
- package/dist/tools/route-tools/hono.js.map +1 -0
- package/dist/tools/route-tools/ktor.d.ts +5 -0
- package/dist/tools/route-tools/ktor.d.ts.map +1 -0
- package/dist/tools/route-tools/ktor.js +76 -0
- package/dist/tools/route-tools/ktor.js.map +1 -0
- package/dist/tools/route-tools/laravel.d.ts +5 -0
- package/dist/tools/route-tools/laravel.d.ts.map +1 -0
- package/dist/tools/route-tools/laravel.js +45 -0
- package/dist/tools/route-tools/laravel.js.map +1 -0
- package/dist/tools/route-tools/mermaid-call-chain.d.ts +3 -0
- package/dist/tools/route-tools/mermaid-call-chain.d.ts.map +1 -0
- package/dist/tools/route-tools/mermaid-call-chain.js +50 -0
- package/dist/tools/route-tools/mermaid-call-chain.js.map +1 -0
- package/dist/tools/route-tools/nest.d.ts +5 -0
- package/dist/tools/route-tools/nest.d.ts.map +1 -0
- package/dist/tools/route-tools/nest.js +75 -0
- package/dist/tools/route-tools/nest.js.map +1 -0
- package/dist/tools/route-tools/next-trace.d.ts +4 -0
- package/dist/tools/route-tools/next-trace.d.ts.map +1 -0
- package/dist/tools/route-tools/next-trace.js +48 -0
- package/dist/tools/route-tools/next-trace.js.map +1 -0
- package/dist/tools/route-tools/next.d.ts +7 -0
- package/dist/tools/route-tools/next.d.ts.map +1 -0
- package/dist/tools/route-tools/next.js +77 -0
- package/dist/tools/route-tools/next.js.map +1 -0
- package/dist/tools/route-tools/python-decorators.d.ts +7 -0
- package/dist/tools/route-tools/python-decorators.d.ts.map +1 -0
- package/dist/tools/route-tools/python-decorators.js +53 -0
- package/dist/tools/route-tools/python-decorators.js.map +1 -0
- package/dist/tools/route-tools/route-mermaid.d.ts +4 -0
- package/dist/tools/route-tools/route-mermaid.d.ts.map +1 -0
- package/dist/tools/route-tools/route-mermaid.js +53 -0
- package/dist/tools/route-tools/route-mermaid.js.map +1 -0
- package/dist/tools/route-tools/spring-kotlin.d.ts +5 -0
- package/dist/tools/route-tools/spring-kotlin.d.ts.map +1 -0
- package/dist/tools/route-tools/spring-kotlin.js +52 -0
- package/dist/tools/route-tools/spring-kotlin.js.map +1 -0
- package/dist/tools/route-tools/trace-analysis.d.ts +4 -0
- package/dist/tools/route-tools/trace-analysis.d.ts.map +1 -0
- package/dist/tools/route-tools/trace-analysis.js +37 -0
- package/dist/tools/route-tools/trace-analysis.js.map +1 -0
- package/dist/tools/route-tools/trace-route.d.ts +6 -0
- package/dist/tools/route-tools/trace-route.d.ts.map +1 -0
- package/dist/tools/route-tools/trace-route.js +53 -0
- package/dist/tools/route-tools/trace-route.js.map +1 -0
- package/dist/tools/route-tools/types.d.ts +35 -0
- package/dist/tools/route-tools/types.d.ts.map +1 -0
- package/dist/tools/route-tools/types.js +2 -0
- package/dist/tools/route-tools/types.js.map +1 -0
- package/dist/tools/route-tools/yii2.d.ts +5 -0
- package/dist/tools/route-tools/yii2.d.ts.map +1 -0
- package/dist/tools/route-tools/yii2.js +73 -0
- package/dist/tools/route-tools/yii2.js.map +1 -0
- package/dist/tools/route-tools.d.ts +7 -49
- package/dist/tools/route-tools.d.ts.map +1 -1
- package/dist/tools/route-tools.js +5 -978
- package/dist/tools/route-tools.js.map +1 -1
- package/dist/tools/search-tools/types.d.ts +20 -0
- package/dist/tools/search-tools/types.d.ts.map +1 -1
- package/dist/tools/search-tools/zero-hit.d.ts.map +1 -1
- package/dist/tools/search-tools/zero-hit.js +0 -0
- package/dist/tools/search-tools/zero-hit.js.map +1 -1
- package/dist/tools/status-tools.d.ts +10 -0
- package/dist/tools/status-tools.d.ts.map +1 -1
- package/dist/tools/status-tools.js +14 -4
- package/dist/tools/status-tools.js.map +1 -1
- package/dist/tools/symbol-analysis-tools.d.ts +81 -0
- package/dist/tools/symbol-analysis-tools.d.ts.map +1 -0
- package/dist/tools/symbol-analysis-tools.js +327 -0
- package/dist/tools/symbol-analysis-tools.js.map +1 -0
- package/dist/tools/symbol-context-tools.d.ts +68 -0
- package/dist/tools/symbol-context-tools.d.ts.map +1 -0
- package/dist/tools/symbol-context-tools.js +232 -0
- package/dist/tools/symbol-context-tools.js.map +1 -0
- package/dist/tools/symbol-lookup-tools.d.ts +77 -0
- package/dist/tools/symbol-lookup-tools.d.ts.map +1 -0
- package/dist/tools/symbol-lookup-tools.js +305 -0
- package/dist/tools/symbol-lookup-tools.js.map +1 -0
- package/dist/tools/symbol-reference-tools.d.ts +38 -0
- package/dist/tools/symbol-reference-tools.d.ts.map +1 -0
- package/dist/tools/symbol-reference-tools.js +253 -0
- package/dist/tools/symbol-reference-tools.js.map +1 -0
- package/dist/tools/symbol-tool-internals.d.ts +9 -0
- package/dist/tools/symbol-tool-internals.d.ts.map +1 -0
- package/dist/tools/symbol-tool-internals.js +47 -0
- package/dist/tools/symbol-tool-internals.js.map +1 -0
- package/dist/tools/symbol-tools.d.ts +11 -176
- package/dist/tools/symbol-tools.d.ts.map +1 -1
- package/dist/tools/symbol-tools.js +7 -975
- package/dist/tools/symbol-tools.js.map +1 -1
- package/dist/tools/taint/python-context.d.ts +10 -0
- package/dist/tools/taint/python-context.d.ts.map +1 -0
- package/dist/tools/taint/python-context.js +150 -0
- package/dist/tools/taint/python-context.js.map +1 -0
- package/dist/tools/taint/taint-analyzer.d.ts +2 -0
- package/dist/tools/taint/taint-analyzer.d.ts.map +1 -0
- package/dist/tools/taint/taint-analyzer.js +2 -0
- package/dist/tools/taint/taint-analyzer.js.map +1 -0
- package/dist/tools/taint/taint-expression.d.ts +18 -0
- package/dist/tools/taint/taint-expression.d.ts.map +1 -0
- package/dist/tools/taint/taint-expression.js +265 -0
- package/dist/tools/taint/taint-expression.js.map +1 -0
- package/dist/tools/taint/taint-flow.d.ts +10 -0
- package/dist/tools/taint/taint-flow.d.ts.map +1 -0
- package/dist/tools/taint/taint-flow.js +178 -0
- package/dist/tools/taint/taint-flow.js.map +1 -0
- package/dist/tools/taint/taint-model.d.ts +113 -0
- package/dist/tools/taint/taint-model.d.ts.map +1 -0
- package/dist/tools/taint/taint-model.js +277 -0
- package/dist/tools/taint/taint-model.js.map +1 -0
- package/dist/tools/taint-tools.d.ts +2 -34
- package/dist/tools/taint-tools.d.ts.map +1 -1
- package/dist/tools/taint-tools.js +2 -852
- package/dist/tools/taint-tools.js.map +1 -1
- package/dist/tools/typescript-constants/file-context.d.ts +7 -0
- package/dist/tools/typescript-constants/file-context.d.ts.map +1 -0
- package/dist/tools/typescript-constants/file-context.js +219 -0
- package/dist/tools/typescript-constants/file-context.js.map +1 -0
- package/dist/tools/typescript-constants/symbol-resolver.d.ts +7 -0
- package/dist/tools/typescript-constants/symbol-resolver.d.ts.map +1 -0
- package/dist/tools/typescript-constants/symbol-resolver.js +165 -0
- package/dist/tools/typescript-constants/symbol-resolver.js.map +1 -0
- package/dist/tools/typescript-constants/types.d.ts +44 -0
- package/dist/tools/typescript-constants/types.d.ts.map +1 -0
- package/dist/tools/typescript-constants/types.js +2 -0
- package/dist/tools/typescript-constants/types.js.map +1 -0
- package/dist/tools/typescript-constants/value-evaluator.d.ts +8 -0
- package/dist/tools/typescript-constants/value-evaluator.d.ts.map +1 -0
- package/dist/tools/typescript-constants/value-evaluator.js +404 -0
- package/dist/tools/typescript-constants/value-evaluator.js.map +1 -0
- package/dist/tools/typescript-constants-tools.d.ts.map +1 -1
- package/dist/tools/typescript-constants-tools.js +19 -709
- package/dist/tools/typescript-constants-tools.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/git-head.d.ts +12 -0
- package/dist/utils/git-head.d.ts.map +1 -1
- package/dist/utils/git-head.js +25 -0
- package/dist/utils/git-head.js.map +1 -1
- package/dist/utils/import-graph/collect.d.ts +5 -0
- package/dist/utils/import-graph/collect.d.ts.map +1 -0
- package/dist/utils/import-graph/collect.js +47 -0
- package/dist/utils/import-graph/collect.js.map +1 -0
- package/dist/utils/import-graph/edge-accumulator.d.ts +7 -0
- package/dist/utils/import-graph/edge-accumulator.d.ts.map +1 -0
- package/dist/utils/import-graph/edge-accumulator.js +47 -0
- package/dist/utils/import-graph/edge-accumulator.js.map +1 -0
- package/dist/utils/import-graph/language-imports.d.ts +6 -0
- package/dist/utils/import-graph/language-imports.d.ts.map +1 -0
- package/dist/utils/import-graph/language-imports.js +84 -0
- package/dist/utils/import-graph/language-imports.js.map +1 -0
- package/dist/utils/import-graph/metrics.d.ts +6 -0
- package/dist/utils/import-graph/metrics.d.ts.map +1 -0
- package/dist/utils/import-graph/metrics.js +51 -0
- package/dist/utils/import-graph/metrics.js.map +1 -0
- package/dist/utils/import-graph/path-map.d.ts +7 -0
- package/dist/utils/import-graph/path-map.d.ts.map +1 -0
- package/dist/utils/import-graph/path-map.js +56 -0
- package/dist/utils/import-graph/path-map.js.map +1 -0
- package/dist/utils/import-graph/python-php-edge-collectors.d.ts +5 -0
- package/dist/utils/import-graph/python-php-edge-collectors.d.ts.map +1 -0
- package/dist/utils/import-graph/python-php-edge-collectors.js +56 -0
- package/dist/utils/import-graph/python-php-edge-collectors.js.map +1 -0
- package/dist/utils/import-graph/source-edge-collector.d.ts +13 -0
- package/dist/utils/import-graph/source-edge-collector.d.ts.map +1 -0
- package/dist/utils/import-graph/source-edge-collector.js +42 -0
- package/dist/utils/import-graph/source-edge-collector.js.map +1 -0
- package/dist/utils/import-graph/source-imports.d.ts +5 -0
- package/dist/utils/import-graph/source-imports.d.ts.map +1 -0
- package/dist/utils/import-graph/source-imports.js +33 -0
- package/dist/utils/import-graph/source-imports.js.map +1 -0
- package/dist/utils/import-graph/types.d.ts +15 -0
- package/dist/utils/import-graph/types.d.ts.map +1 -0
- package/dist/utils/import-graph/types.js +2 -0
- package/dist/utils/import-graph/types.js.map +1 -0
- package/dist/utils/import-graph/typescript-edge-collector.d.ts +7 -0
- package/dist/utils/import-graph/typescript-edge-collector.d.ts.map +1 -0
- package/dist/utils/import-graph/typescript-edge-collector.js +58 -0
- package/dist/utils/import-graph/typescript-edge-collector.js.map +1 -0
- package/dist/utils/import-graph/workspace-alias.d.ts +7 -0
- package/dist/utils/import-graph/workspace-alias.d.ts.map +1 -0
- package/dist/utils/import-graph/workspace-alias.js +95 -0
- package/dist/utils/import-graph/workspace-alias.js.map +1 -0
- package/dist/utils/import-graph/workspace-entry.d.ts +3 -0
- package/dist/utils/import-graph/workspace-entry.d.ts.map +1 -0
- package/dist/utils/import-graph/workspace-entry.js +81 -0
- package/dist/utils/import-graph/workspace-entry.js.map +1 -0
- package/dist/utils/import-graph.d.ts +10 -94
- package/dist/utils/import-graph.d.ts.map +1 -1
- package/dist/utils/import-graph.js +6 -702
- package/dist/utils/import-graph.js.map +1 -1
- package/package.json +6 -4
- package/rules/codesift.md +11 -2
- package/rules/codesift.mdc +11 -2
- package/rules/codex.md +11 -2
- package/rules/gemini.md +11 -2
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime availability of `node:sqlite`.
|
|
3
|
+
*
|
|
4
|
+
* The memoised constructor lives HERE and nowhere else. ESM gives one instance per module, so a
|
|
5
|
+
* second copy of `sqliteCtor` (say, re-declared in the barrel rather than re-exported) would fork
|
|
6
|
+
* the memo: `setSqliteCtorForTesting` would pin one copy while the code under test read the other,
|
|
7
|
+
* and nothing about that failure looks like a wiring bug.
|
|
8
|
+
*/
|
|
9
|
+
/** `node:sqlite` landed in Node 22.5. The engines floor is still >=20, so its absence is a
|
|
10
|
+
* supported state, not an error — callers fall back to the JSON backend. */
|
|
11
|
+
let sqliteCtor;
|
|
12
|
+
export async function loadSqliteCtor() {
|
|
13
|
+
if (sqliteCtor !== undefined)
|
|
14
|
+
return sqliteCtor;
|
|
15
|
+
try {
|
|
16
|
+
const mod = await import("node:sqlite");
|
|
17
|
+
sqliteCtor = mod.DatabaseSync;
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
sqliteCtor = null;
|
|
21
|
+
}
|
|
22
|
+
return sqliteCtor;
|
|
23
|
+
}
|
|
24
|
+
export async function isSqliteAvailable() {
|
|
25
|
+
return (await loadSqliteCtor()) !== null;
|
|
26
|
+
}
|
|
27
|
+
/** Tests need to prove the JSON fallback still works on a runtime that has sqlite. */
|
|
28
|
+
export function setSqliteCtorForTesting(ctor) {
|
|
29
|
+
sqliteCtor = ctor;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/storage/sqlite/runtime.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH;6EAC6E;AAC7E,IAAI,UAAsD,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACxC,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,OAAO,CAAC,MAAM,cAAc,EAAE,CAAC,KAAK,IAAI,CAAC;AAC3C,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,uBAAuB,CAAC,IAAgD;IACtF,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Table definitions and the v1 -> v2 migration, as SQL text only.
|
|
3
|
+
*
|
|
4
|
+
* No behaviour here on purpose: `connection.ts` decides WHEN to run these, under which lock, and
|
|
5
|
+
* what to record afterwards. Keeping the statements inert makes the schema readable as a schema.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* v2 dropped the PRIMARY KEY on `symbols.id`.
|
|
9
|
+
*
|
|
10
|
+
* `id` is `repo:file:name:line`, which is NOT unique: a minified bundle puts hundreds of
|
|
11
|
+
* distinct symbols on line 1 of one file, and PHPDoc `@method` synthesis emits a `field`
|
|
12
|
+
* and a `method` at the same line. As a PRIMARY KEY with `ON CONFLICT DO UPDATE`, every
|
|
13
|
+
* such collision silently overwrote the previous row — so the store quietly held fewer
|
|
14
|
+
* symbols than it was given, and re-indexing reproduced the loss instead of repairing it.
|
|
15
|
+
*
|
|
16
|
+
* Measured over the 16 indexes that failed the migration's count check: 73,165 dropped
|
|
17
|
+
* rows, every one carrying content different from the row that survived, and 7,514 of them
|
|
18
|
+
* in real source rather than minified or vendored output.
|
|
19
|
+
*
|
|
20
|
+
* JSON never enforced uniqueness here, so this is parity, not a new tolerance. Lookups by
|
|
21
|
+
* id return the first match exactly as the array scan did.
|
|
22
|
+
*/
|
|
23
|
+
export declare const SCHEMA_VERSION = 2;
|
|
24
|
+
export declare const SCHEMA_SQL = "\nCREATE TABLE IF NOT EXISTS meta (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS files (\n path TEXT PRIMARY KEY,\n language TEXT NOT NULL,\n symbol_count INTEGER NOT NULL,\n last_modified INTEGER NOT NULL,\n mtime_ms INTEGER,\n stale INTEGER\n);\n\nCREATE TABLE IF NOT EXISTS symbols (\n id TEXT NOT NULL,\n file TEXT NOT NULL,\n name TEXT NOT NULL,\n kind TEXT NOT NULL,\n start_line INTEGER NOT NULL,\n end_line INTEGER NOT NULL,\n start_col INTEGER,\n end_col INTEGER,\n start_byte INTEGER,\n end_byte INTEGER,\n signature TEXT,\n docstring TEXT,\n source TEXT,\n parent TEXT,\n is_async INTEGER,\n is_exported INTEGER,\n extras TEXT\n);\n\nCREATE INDEX IF NOT EXISTS idx_symbols_file ON symbols(file);\nCREATE INDEX IF NOT EXISTS idx_symbols_name ON symbols(name);\nCREATE INDEX IF NOT EXISTS idx_symbols_id ON symbols(id);\n";
|
|
25
|
+
/**
|
|
26
|
+
* v1 -> v2: rebuild `symbols` without the PRIMARY KEY, keeping every row already stored.
|
|
27
|
+
*
|
|
28
|
+
* Rebuilt in place rather than by re-importing: for most repos the JSON source is gone, so
|
|
29
|
+
* the db IS the index — dropping it to force a reindex would trade a store that is merely
|
|
30
|
+
* incomplete for no store at all. This recovers nothing on its own; rows lost under v1 come
|
|
31
|
+
* back when the repo is next indexed from source, which now keeps them.
|
|
32
|
+
*/
|
|
33
|
+
export declare const MIGRATE_V1_TO_V2_SQL = "\nALTER TABLE symbols RENAME TO symbols_v1;\nCREATE TABLE symbols (\n id TEXT NOT NULL,\n file TEXT NOT NULL,\n name TEXT NOT NULL,\n kind TEXT NOT NULL,\n start_line INTEGER NOT NULL,\n end_line INTEGER NOT NULL,\n start_col INTEGER,\n end_col INTEGER,\n start_byte INTEGER,\n end_byte INTEGER,\n signature TEXT,\n docstring TEXT,\n source TEXT,\n parent TEXT,\n is_async INTEGER,\n is_exported INTEGER,\n extras TEXT\n);\nINSERT INTO symbols SELECT * FROM symbols_v1;\nDROP TABLE symbols_v1;\nCREATE INDEX IF NOT EXISTS idx_symbols_file ON symbols(file);\nCREATE INDEX IF NOT EXISTS idx_symbols_name ON symbols(name);\nCREATE INDEX IF NOT EXISTS idx_symbols_id ON symbols(id);\n";
|
|
34
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite/schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,eAAO,MAAM,UAAU,+9BAsCtB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,gwBA0BhC,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Table definitions and the v1 -> v2 migration, as SQL text only.
|
|
3
|
+
*
|
|
4
|
+
* No behaviour here on purpose: `connection.ts` decides WHEN to run these, under which lock, and
|
|
5
|
+
* what to record afterwards. Keeping the statements inert makes the schema readable as a schema.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* v2 dropped the PRIMARY KEY on `symbols.id`.
|
|
9
|
+
*
|
|
10
|
+
* `id` is `repo:file:name:line`, which is NOT unique: a minified bundle puts hundreds of
|
|
11
|
+
* distinct symbols on line 1 of one file, and PHPDoc `@method` synthesis emits a `field`
|
|
12
|
+
* and a `method` at the same line. As a PRIMARY KEY with `ON CONFLICT DO UPDATE`, every
|
|
13
|
+
* such collision silently overwrote the previous row — so the store quietly held fewer
|
|
14
|
+
* symbols than it was given, and re-indexing reproduced the loss instead of repairing it.
|
|
15
|
+
*
|
|
16
|
+
* Measured over the 16 indexes that failed the migration's count check: 73,165 dropped
|
|
17
|
+
* rows, every one carrying content different from the row that survived, and 7,514 of them
|
|
18
|
+
* in real source rather than minified or vendored output.
|
|
19
|
+
*
|
|
20
|
+
* JSON never enforced uniqueness here, so this is parity, not a new tolerance. Lookups by
|
|
21
|
+
* id return the first match exactly as the array scan did.
|
|
22
|
+
*/
|
|
23
|
+
export const SCHEMA_VERSION = 2;
|
|
24
|
+
export const SCHEMA_SQL = `
|
|
25
|
+
CREATE TABLE IF NOT EXISTS meta (
|
|
26
|
+
key TEXT PRIMARY KEY,
|
|
27
|
+
value TEXT NOT NULL
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
CREATE TABLE IF NOT EXISTS files (
|
|
31
|
+
path TEXT PRIMARY KEY,
|
|
32
|
+
language TEXT NOT NULL,
|
|
33
|
+
symbol_count INTEGER NOT NULL,
|
|
34
|
+
last_modified INTEGER NOT NULL,
|
|
35
|
+
mtime_ms INTEGER,
|
|
36
|
+
stale INTEGER
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
CREATE TABLE IF NOT EXISTS symbols (
|
|
40
|
+
id TEXT NOT NULL,
|
|
41
|
+
file TEXT NOT NULL,
|
|
42
|
+
name TEXT NOT NULL,
|
|
43
|
+
kind TEXT NOT NULL,
|
|
44
|
+
start_line INTEGER NOT NULL,
|
|
45
|
+
end_line INTEGER NOT NULL,
|
|
46
|
+
start_col INTEGER,
|
|
47
|
+
end_col INTEGER,
|
|
48
|
+
start_byte INTEGER,
|
|
49
|
+
end_byte INTEGER,
|
|
50
|
+
signature TEXT,
|
|
51
|
+
docstring TEXT,
|
|
52
|
+
source TEXT,
|
|
53
|
+
parent TEXT,
|
|
54
|
+
is_async INTEGER,
|
|
55
|
+
is_exported INTEGER,
|
|
56
|
+
extras TEXT
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
CREATE INDEX IF NOT EXISTS idx_symbols_file ON symbols(file);
|
|
60
|
+
CREATE INDEX IF NOT EXISTS idx_symbols_name ON symbols(name);
|
|
61
|
+
CREATE INDEX IF NOT EXISTS idx_symbols_id ON symbols(id);
|
|
62
|
+
`;
|
|
63
|
+
/**
|
|
64
|
+
* v1 -> v2: rebuild `symbols` without the PRIMARY KEY, keeping every row already stored.
|
|
65
|
+
*
|
|
66
|
+
* Rebuilt in place rather than by re-importing: for most repos the JSON source is gone, so
|
|
67
|
+
* the db IS the index — dropping it to force a reindex would trade a store that is merely
|
|
68
|
+
* incomplete for no store at all. This recovers nothing on its own; rows lost under v1 come
|
|
69
|
+
* back when the repo is next indexed from source, which now keeps them.
|
|
70
|
+
*/
|
|
71
|
+
export const MIGRATE_V1_TO_V2_SQL = `
|
|
72
|
+
ALTER TABLE symbols RENAME TO symbols_v1;
|
|
73
|
+
CREATE TABLE symbols (
|
|
74
|
+
id TEXT NOT NULL,
|
|
75
|
+
file TEXT NOT NULL,
|
|
76
|
+
name TEXT NOT NULL,
|
|
77
|
+
kind TEXT NOT NULL,
|
|
78
|
+
start_line INTEGER NOT NULL,
|
|
79
|
+
end_line INTEGER NOT NULL,
|
|
80
|
+
start_col INTEGER,
|
|
81
|
+
end_col INTEGER,
|
|
82
|
+
start_byte INTEGER,
|
|
83
|
+
end_byte INTEGER,
|
|
84
|
+
signature TEXT,
|
|
85
|
+
docstring TEXT,
|
|
86
|
+
source TEXT,
|
|
87
|
+
parent TEXT,
|
|
88
|
+
is_async INTEGER,
|
|
89
|
+
is_exported INTEGER,
|
|
90
|
+
extras TEXT
|
|
91
|
+
);
|
|
92
|
+
INSERT INTO symbols SELECT * FROM symbols_v1;
|
|
93
|
+
DROP TABLE symbols_v1;
|
|
94
|
+
CREATE INDEX IF NOT EXISTS idx_symbols_file ON symbols(file);
|
|
95
|
+
CREATE INDEX IF NOT EXISTS idx_symbols_name ON symbols(name);
|
|
96
|
+
CREATE INDEX IF NOT EXISTS idx_symbols_id ON symbols(id);
|
|
97
|
+
`;
|
|
98
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/storage/sqlite/schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCzB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BnC,CAAC"}
|
|
@@ -1,89 +1,49 @@
|
|
|
1
|
-
import type { DatabaseSync as DatabaseSyncType } from "node:sqlite";
|
|
2
|
-
import type { CodeIndex, CodeSymbol, FileEntry } from "../types.js";
|
|
3
|
-
export declare function loadSqliteCtor(): Promise<typeof DatabaseSyncType | null>;
|
|
4
|
-
export declare function isSqliteAvailable(): Promise<boolean>;
|
|
5
|
-
/** Tests need to prove the JSON fallback still works on a runtime that has sqlite. */
|
|
6
|
-
export declare function setSqliteCtorForTesting(ctor: typeof DatabaseSyncType | null | undefined): void;
|
|
7
1
|
/**
|
|
8
|
-
*
|
|
2
|
+
* SQLite backend for the per-repo index. See docs/adr/ADR-003-index-storage-format.md.
|
|
9
3
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*/
|
|
16
|
-
export declare class IndexStorageError extends Error {
|
|
17
|
-
readonly code: string;
|
|
18
|
-
readonly path: string;
|
|
19
|
-
constructor(message: string, code: string, path: string, options?: {
|
|
20
|
-
cause?: unknown;
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Structural check, not `instanceof`.
|
|
4
|
+
* The point of this module is NOT that SQL is nicer than JSON. It is that the JSON blob
|
|
5
|
+
* forced every write to cost the size of the whole repo: `saveIncremental` re-parsed and
|
|
6
|
+
* re-serialised 262 MB to record one edited file, and the PostToolUse hook — a fresh process
|
|
7
|
+
* per edit, so it can never batch — paid that on every single Write/Edit an agent made.
|
|
8
|
+
* Here a one-file re-index touches one row.
|
|
25
9
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*/
|
|
32
|
-
export declare function isIndexStorageError(err: unknown): err is IndexStorageError;
|
|
33
|
-
/** The operational code for `err`, or null when it is not an operational failure. */
|
|
34
|
-
export declare function classifyStorageError(err: unknown): string | null;
|
|
35
|
-
export declare const SCHEMA_VERSION = 1;
|
|
36
|
-
/**
|
|
37
|
-
* Open (and cache) a connection, creating the schema on first use.
|
|
10
|
+
* Fidelity over elegance: hot fields get real columns (so a full load builds objects without
|
|
11
|
+
* parsing anything), and the rarely-populated tail (`tokens`, `decorators`, `extends`,
|
|
12
|
+
* `implements`, `meta`) is kept as one JSON `extras` column. That keeps the round-trip
|
|
13
|
+
* lossless for language-specific fields nobody here should have to know about, while the
|
|
14
|
+
* common symbol costs zero JSON.parse calls.
|
|
38
15
|
*
|
|
39
|
-
*
|
|
40
|
-
* server and the `codesift postindex-file` hook are separate processes writing the same
|
|
41
|
-
* index, and WAL gives them concurrent readers with a single writer instead of a corruption
|
|
42
|
-
* window. `busy_timeout` makes a writer wait its turn rather than throwing SQLITE_BUSY when
|
|
43
|
-
* an agent edits files faster than the previous write settles.
|
|
44
|
-
*/
|
|
45
|
-
export declare function openIndexDb(dbPath: string): Promise<DatabaseSyncType>;
|
|
46
|
-
/** Close one cached connection (tests, and the shutdown path). */
|
|
47
|
-
export declare function closeIndexDb(dbPath: string): void;
|
|
48
|
-
export declare function closeAllIndexDbs(): void;
|
|
49
|
-
/** Replace the entire index. Used by full (re)indexing and by JSON->SQLite migration. */
|
|
50
|
-
export declare function saveIndexSqlite(dbPath: string, index: CodeIndex): Promise<void>;
|
|
51
|
-
/**
|
|
52
|
-
* Import a legacy JSON index, but only if this db is still empty — decided and written
|
|
53
|
-
* inside ONE `BEGIN IMMEDIATE` transaction.
|
|
16
|
+
* ---------------------------------------------------------------------------
|
|
54
17
|
*
|
|
55
|
-
*
|
|
56
|
-
* edit, so two of them (or one plus the server) can both observe an empty db, both read the
|
|
57
|
-
* same legacy JSON, and the slower writer then overwrites an incremental update the faster
|
|
58
|
-
* one already committed. An in-process guard cannot see the other process at all.
|
|
18
|
+
* This file is the FACADE. The implementation lives in `./sqlite/`:
|
|
59
19
|
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
* One file's `mtime_ms`, without materialising the index.
|
|
20
|
+
* runtime.ts is node:sqlite present, and the memoised constructor
|
|
21
|
+
* errors.ts operational fault vs "nothing indexed here"
|
|
22
|
+
* schema.ts table definitions and the v1 -> v2 migration, as SQL text
|
|
23
|
+
* rows.ts row <-> domain mapping, and the byte accounting for it
|
|
24
|
+
* connection.ts open/close/cache, schema creation, migration, meta k/v
|
|
25
|
+
* meta.ts the optional meta fields, and the summary shape
|
|
26
|
+
* index-io.ts whole-index read and write — the paths that touch every row
|
|
27
|
+
* accessors.ts narrow reads that never materialise the index
|
|
69
28
|
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
export declare function getSymbolsForFileSqlite(dbPath: string, filePath: string): Promise<CodeSymbol[]>;
|
|
83
|
-
/**
|
|
84
|
-
* Cross-process change counter. SQLite bumps `data_version` when *another* connection
|
|
85
|
-
* commits, which is the invalidation signal a plain JSON file never had — and the reason an
|
|
86
|
-
* in-memory index cache becomes safe here despite the hook writing from its own process.
|
|
29
|
+
* The path stays because 12 modules import it; keeping it as a re-export means the split is
|
|
30
|
+
* provably behaviour-preserving rather than an API change dressed as a refactor.
|
|
31
|
+
*
|
|
32
|
+
* Two invariants this arrangement rests on, both invisible to a type-check:
|
|
33
|
+
*
|
|
34
|
+
* - The memoised `node:sqlite` constructor lives ONLY in `runtime.ts`, and the open-connection
|
|
35
|
+
* cache ONLY in `connection.ts`. ESM gives one instance per module, so re-exporting is safe
|
|
36
|
+
* and re-DECLARING is not: a second copy of either forks the state, and the result is a
|
|
37
|
+
* `closeIndexDb` that closes a handle somebody else is still handing out.
|
|
38
|
+
* `tests/storage/sqlite-module-state.test.ts` fails on exactly that fork.
|
|
39
|
+
* - The re-exports below are an explicit list, not `export *`. Adding an export to a submodule
|
|
40
|
+
* should be a decision about this facade, not a side effect of writing a helper.
|
|
87
41
|
*/
|
|
88
|
-
export
|
|
42
|
+
export { isSqliteAvailable, loadSqliteCtor, setSqliteCtorForTesting } from "./sqlite/runtime.js";
|
|
43
|
+
export { IndexStorageError, classifyStorageError, isIndexStorageError } from "./sqlite/errors.js";
|
|
44
|
+
export { SCHEMA_VERSION } from "./sqlite/schema.js";
|
|
45
|
+
export { closeAllIndexDbs, closeIndexDb, openIndexDb } from "./sqlite/connection.js";
|
|
46
|
+
export type { IndexSummary } from "./sqlite/meta.js";
|
|
47
|
+
export { importLegacyIndexIfEmpty, loadIndexSqlite, saveIndexSqlite, wasLossilyMigrated, } from "./sqlite/index-io.js";
|
|
48
|
+
export { getDataVersion, getFileEntrySqlite, getFileMtimeSqlite, getSymbolsForFileSqlite, loadIndexSummarySqlite, removeFileFromIndexSqlite, saveIncrementalSqlite, } from "./sqlite/accessors.js";
|
|
89
49
|
//# sourceMappingURL=sqlite-index-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-index-store.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite-index-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sqlite-index-store.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite-index-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEjG,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAElG,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErF,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC"}
|