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 @@
|
|
|
1
|
+
{"version":3,"file":"cross-repo-contract-types.js","sourceRoot":"","sources":["../../src/tools/cross-repo-contract-types.ts"],"names":[],"mappings":"AAGA,+EAA+E;AAC/E,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** A single detected outbound HTTP call from consumer source. */
|
|
2
|
+
export interface OutboundCall {
|
|
3
|
+
/** The static URL prefix extracted from the call. Paths only — origin stripped. */
|
|
4
|
+
url_prefix: string;
|
|
5
|
+
/** HTTP method, uppercased. Defaults to "GET" when not detectable. */
|
|
6
|
+
method: string;
|
|
7
|
+
/** True when the path contains a dynamic segment (template var, concat, path param). */
|
|
8
|
+
partial: boolean;
|
|
9
|
+
/** Source file path as provided to extractOutboundCalls. */
|
|
10
|
+
file: string;
|
|
11
|
+
/** 1-based line number of the call in the original (pre-strip) source. */
|
|
12
|
+
line: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Extract all outbound HTTP calls from `source` (TypeScript/JavaScript).
|
|
16
|
+
* Supports fetch, axios.METHOD, and got.METHOD patterns.
|
|
17
|
+
*
|
|
18
|
+
* Uses a single-pass state-machine lexer so calls inside comments, string
|
|
19
|
+
* literals, template literals, and regex literals are never falsely reported
|
|
20
|
+
* (fixes C3/C6). Multi-line templates are handled naturally (C4). Wide-
|
|
21
|
+
* spaced string concatenation is detected via the lexer's nextCodeToken (C5).
|
|
22
|
+
* Query-string and fragment stripping is done in extractUrlPrefix (C1).
|
|
23
|
+
*
|
|
24
|
+
* @param source - Raw source code.
|
|
25
|
+
* @param file - File path to embed in results (returned as-is).
|
|
26
|
+
*/
|
|
27
|
+
export declare function extractOutboundCalls(source: string, file: string): OutboundCall[];
|
|
28
|
+
//# sourceMappingURL=cross-repo-outbound-calls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-repo-outbound-calls.d.ts","sourceRoot":"","sources":["../../src/tools/cross-repo-outbound-calls.ts"],"names":[],"mappings":"AAEA,iEAAiE;AACjE,MAAM,WAAW,YAAY;IAC3B,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,OAAO,EAAE,OAAO,CAAC;IACjB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;CACd;AAsSD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAiCjF"}
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
import { findOutboundCalls } from "./cross-repo-outbound-lexer.js";
|
|
2
|
+
/**
|
|
3
|
+
* Strip the origin (scheme + host + port) from a URL string, returning the
|
|
4
|
+
* path+query portion. If there is no origin (e.g. "/api/users"), returns as-is.
|
|
5
|
+
* Examples:
|
|
6
|
+
* "https://api.example.com/v1/users" → "/v1/users"
|
|
7
|
+
* "/api/users" → "/api/users"
|
|
8
|
+
*/
|
|
9
|
+
function stripOrigin(url) {
|
|
10
|
+
// Match http(s)://host(:port) and protocol-relative origins.
|
|
11
|
+
const m = url.match(/^(?:https?:)?\/\/[^/]+(\/.*)?$/i);
|
|
12
|
+
if (m) {
|
|
13
|
+
return m[1] ?? "/";
|
|
14
|
+
}
|
|
15
|
+
return url;
|
|
16
|
+
}
|
|
17
|
+
function isInterpolationStart(value, index) {
|
|
18
|
+
if (value[index] !== "$" || value[index + 1] !== "{")
|
|
19
|
+
return false;
|
|
20
|
+
let backslashes = 0;
|
|
21
|
+
for (let cursor = index - 1; cursor >= 0 && value[cursor] === "\\"; cursor--)
|
|
22
|
+
backslashes++;
|
|
23
|
+
return backslashes % 2 === 0;
|
|
24
|
+
}
|
|
25
|
+
function findStaticSlash(value, start) {
|
|
26
|
+
let depth = 0;
|
|
27
|
+
for (let index = start; index < value.length; index++) {
|
|
28
|
+
const char = value[index];
|
|
29
|
+
if (isInterpolationStart(value, index)) {
|
|
30
|
+
depth++;
|
|
31
|
+
index++;
|
|
32
|
+
}
|
|
33
|
+
else if (char === "{" && depth > 0) {
|
|
34
|
+
depth++;
|
|
35
|
+
}
|
|
36
|
+
else if (char === "}" && depth > 0) {
|
|
37
|
+
depth--;
|
|
38
|
+
}
|
|
39
|
+
else if (char === "/" && depth === 0) {
|
|
40
|
+
return index;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return -1;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Handle the "leading variable" case: `${BASE}/path/to/resource`.
|
|
47
|
+
*
|
|
48
|
+
* rawUrlContent is the raw content of the URL literal (between quotes/backticks),
|
|
49
|
+
* escape sequences intact, interpolation markers `${...}` preserved verbatim.
|
|
50
|
+
*
|
|
51
|
+
* C1: Strip query string (from first `?`) and fragment (from first `#`) from
|
|
52
|
+
* plain string URLs before returning.
|
|
53
|
+
* C2: Track brace depth properly so `${ {a:1}.a }` (inner object literal) does
|
|
54
|
+
* not prematurely close the interpolation.
|
|
55
|
+
*/
|
|
56
|
+
function extractUrlPrefix(rawUrlContent) {
|
|
57
|
+
// Trim leading/trailing whitespace (can appear in multi-line template literals — C4)
|
|
58
|
+
const trimmed = rawUrlContent.trim();
|
|
59
|
+
// Does the content contain any ${ ... } interpolations?
|
|
60
|
+
const firstInterpolation = trimmed.split("").findIndex((_, index) => isInterpolationStart(trimmed, index));
|
|
61
|
+
const hasInterp = firstInterpolation !== -1;
|
|
62
|
+
if (!hasInterp) {
|
|
63
|
+
// Plain string / no interpolation — strip origin, then strip query/fragment (C1)
|
|
64
|
+
let prefix = stripOrigin(trimmed);
|
|
65
|
+
// Strip query string and fragment
|
|
66
|
+
const qIdx = prefix.indexOf("?");
|
|
67
|
+
const hIdx = prefix.indexOf("#");
|
|
68
|
+
const cutIdx = qIdx === -1 ? hIdx : hIdx === -1 ? qIdx : Math.min(qIdx, hIdx);
|
|
69
|
+
if (cutIdx !== -1)
|
|
70
|
+
prefix = prefix.slice(0, cutIdx);
|
|
71
|
+
return { url_prefix: prefix, partial: false };
|
|
72
|
+
}
|
|
73
|
+
// Template literal with interpolations.
|
|
74
|
+
// Find first "/" that is NOT inside a ${...} block.
|
|
75
|
+
// Track brace DEPTH inside ${} so inner objects `{ key: val }` don't
|
|
76
|
+
// prematurely close the expression (C2 fix).
|
|
77
|
+
const scheme = trimmed.match(/^https?:\/\//i);
|
|
78
|
+
const protocolRelative = trimmed.startsWith("//");
|
|
79
|
+
const leadingInterpolation = firstInterpolation === 0;
|
|
80
|
+
const firstSlashIdx = scheme
|
|
81
|
+
? findStaticSlash(trimmed, scheme[0].length)
|
|
82
|
+
: protocolRelative
|
|
83
|
+
? findStaticSlash(trimmed, 2)
|
|
84
|
+
: leadingInterpolation
|
|
85
|
+
? findStaticSlash(trimmed, 0)
|
|
86
|
+
: 0;
|
|
87
|
+
if (firstSlashIdx === -1) {
|
|
88
|
+
// No static path segment at all
|
|
89
|
+
return { url_prefix: "", partial: true };
|
|
90
|
+
}
|
|
91
|
+
// From firstSlashIdx, collect static prefix until the next interpolation.
|
|
92
|
+
// Also stop at `?` or `#` (C1) since query/fragment is not a path prefix.
|
|
93
|
+
let prefix = "";
|
|
94
|
+
let hitInterp = false;
|
|
95
|
+
for (let i = firstSlashIdx; i < trimmed.length; i++) {
|
|
96
|
+
const c = trimmed[i];
|
|
97
|
+
if (isInterpolationStart(trimmed, i)) {
|
|
98
|
+
// Hit an interpolation — stop here, prefix is partial
|
|
99
|
+
hitInterp = true;
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
// C1: stop at query/fragment
|
|
103
|
+
if (c === "?" || c === "#") {
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
prefix += c;
|
|
107
|
+
}
|
|
108
|
+
// `partial` describes path stability, not whether the origin or query is dynamic.
|
|
109
|
+
// The path is partial when it starts after a leading interpolation or ends at one.
|
|
110
|
+
return { url_prefix: prefix, partial: leadingInterpolation || hitInterp };
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Scan a window of source text (starting just after the fetch URL argument)
|
|
114
|
+
* for a `method:` option to determine the HTTP verb.
|
|
115
|
+
* Returns "GET" if not found.
|
|
116
|
+
*/
|
|
117
|
+
function sniffFetchMethodFromWindow(window) {
|
|
118
|
+
const objectFrames = [];
|
|
119
|
+
let parenthesisDepth = 0;
|
|
120
|
+
let bracketDepth = 0;
|
|
121
|
+
const skipQuoted = (start) => {
|
|
122
|
+
const quote = window[start];
|
|
123
|
+
for (let index = start + 1; index < window.length; index++) {
|
|
124
|
+
if (window[index] === "\\")
|
|
125
|
+
index++;
|
|
126
|
+
else if (window[index] === quote)
|
|
127
|
+
return index + 1;
|
|
128
|
+
}
|
|
129
|
+
return window.length;
|
|
130
|
+
};
|
|
131
|
+
const skipWhitespace = (start) => {
|
|
132
|
+
let index = start;
|
|
133
|
+
while (/\s/.test(window[index] ?? ""))
|
|
134
|
+
index++;
|
|
135
|
+
return index;
|
|
136
|
+
};
|
|
137
|
+
const readMethodValue = (colon) => {
|
|
138
|
+
if (window[colon] !== ":")
|
|
139
|
+
return null;
|
|
140
|
+
const valueStart = skipWhitespace(colon + 1);
|
|
141
|
+
const quote = window[valueStart];
|
|
142
|
+
if (quote !== "'" && quote !== '"' && quote !== "`")
|
|
143
|
+
return null;
|
|
144
|
+
const valueEnd = skipQuoted(valueStart);
|
|
145
|
+
const value = window.slice(valueStart + 1, valueEnd - 1);
|
|
146
|
+
return /^[A-Za-z0-9!#$%&'*+.^_`|~-]+$/.test(value) ? value.toUpperCase() : null;
|
|
147
|
+
};
|
|
148
|
+
const startsSpreadObject = (brace) => {
|
|
149
|
+
let index = brace - 1;
|
|
150
|
+
while (/\s/.test(window[index] ?? ""))
|
|
151
|
+
index--;
|
|
152
|
+
return window.slice(index - 2, index + 1) === "...";
|
|
153
|
+
};
|
|
154
|
+
const startsRegex = (slash) => {
|
|
155
|
+
let index = slash - 1;
|
|
156
|
+
while (/\s/.test(window[index] ?? ""))
|
|
157
|
+
index--;
|
|
158
|
+
return index < 0 || /[(:,=!?;[{]/.test(window[index] ?? "");
|
|
159
|
+
};
|
|
160
|
+
const skipRegex = (start) => {
|
|
161
|
+
let inCharacterClass = false;
|
|
162
|
+
for (let index = start + 1; index < window.length; index++) {
|
|
163
|
+
const char = window[index];
|
|
164
|
+
if (char === "\\")
|
|
165
|
+
index++;
|
|
166
|
+
else if (char === "[")
|
|
167
|
+
inCharacterClass = true;
|
|
168
|
+
else if (char === "]")
|
|
169
|
+
inCharacterClass = false;
|
|
170
|
+
else if (char === "/" && !inCharacterClass) {
|
|
171
|
+
index++;
|
|
172
|
+
while (/[A-Za-z]/.test(window[index] ?? ""))
|
|
173
|
+
index++;
|
|
174
|
+
return index;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return window.length;
|
|
178
|
+
};
|
|
179
|
+
for (let index = 0; index < window.length;) {
|
|
180
|
+
const char = window[index];
|
|
181
|
+
const next = window[index + 1] ?? "";
|
|
182
|
+
if (char === "/" && next === "/") {
|
|
183
|
+
const newline = window.indexOf("\n", index + 2);
|
|
184
|
+
index = newline === -1 ? window.length : newline + 1;
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
if (char === "/" && next === "*") {
|
|
188
|
+
const end = window.indexOf("*/", index + 2);
|
|
189
|
+
index = end === -1 ? window.length : end + 2;
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
if (char === "/" && startsRegex(index)) {
|
|
193
|
+
index = skipRegex(index);
|
|
194
|
+
continue;
|
|
195
|
+
}
|
|
196
|
+
if (char === "{") {
|
|
197
|
+
const parentExposesOptions = objectFrames.at(-1) ?? false;
|
|
198
|
+
objectFrames.push(objectFrames.length === 0
|
|
199
|
+
? parenthesisDepth === 0 && bracketDepth === 0
|
|
200
|
+
: parentExposesOptions && startsSpreadObject(index));
|
|
201
|
+
index++;
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
204
|
+
if (char === "}") {
|
|
205
|
+
objectFrames.pop();
|
|
206
|
+
index++;
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
if (char === "(") {
|
|
210
|
+
parenthesisDepth++;
|
|
211
|
+
index++;
|
|
212
|
+
continue;
|
|
213
|
+
}
|
|
214
|
+
if (char === ")") {
|
|
215
|
+
parenthesisDepth = Math.max(0, parenthesisDepth - 1);
|
|
216
|
+
index++;
|
|
217
|
+
continue;
|
|
218
|
+
}
|
|
219
|
+
if (char === "[") {
|
|
220
|
+
bracketDepth++;
|
|
221
|
+
index++;
|
|
222
|
+
continue;
|
|
223
|
+
}
|
|
224
|
+
if (char === "]") {
|
|
225
|
+
bracketDepth = Math.max(0, bracketDepth - 1);
|
|
226
|
+
index++;
|
|
227
|
+
continue;
|
|
228
|
+
}
|
|
229
|
+
if (char === "'" || char === '"' || char === "`") {
|
|
230
|
+
const keyEnd = skipQuoted(index);
|
|
231
|
+
if (objectFrames.at(-1) === true && window.slice(index + 1, keyEnd - 1) === "method") {
|
|
232
|
+
const method = readMethodValue(skipWhitespace(keyEnd));
|
|
233
|
+
if (method)
|
|
234
|
+
return method;
|
|
235
|
+
}
|
|
236
|
+
index = keyEnd;
|
|
237
|
+
continue;
|
|
238
|
+
}
|
|
239
|
+
if (objectFrames.at(-1) === true && window.startsWith("method", index)) {
|
|
240
|
+
const before = window[index - 1] ?? "";
|
|
241
|
+
const after = window[index + 6] ?? "";
|
|
242
|
+
if (!/[A-Za-z0-9_$]/.test(before) && !/[A-Za-z0-9_$]/.test(after)) {
|
|
243
|
+
const colon = skipWhitespace(index + 6);
|
|
244
|
+
const method = readMethodValue(colon);
|
|
245
|
+
if (method)
|
|
246
|
+
return method;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
index++;
|
|
250
|
+
}
|
|
251
|
+
return "GET";
|
|
252
|
+
}
|
|
253
|
+
/** Find the closing parenthesis for the current fetch call, skipping strings/comments. */
|
|
254
|
+
function findFetchCallEnd(source, start) {
|
|
255
|
+
let depth = 1;
|
|
256
|
+
let quote = null;
|
|
257
|
+
let lineComment = false;
|
|
258
|
+
let blockComment = false;
|
|
259
|
+
let escaped = false;
|
|
260
|
+
for (let index = start; index < source.length; index++) {
|
|
261
|
+
const char = source[index];
|
|
262
|
+
const next = source[index + 1] ?? "";
|
|
263
|
+
if (lineComment) {
|
|
264
|
+
if (char === "\n")
|
|
265
|
+
lineComment = false;
|
|
266
|
+
continue;
|
|
267
|
+
}
|
|
268
|
+
if (blockComment) {
|
|
269
|
+
if (char === "*" && next === "/") {
|
|
270
|
+
blockComment = false;
|
|
271
|
+
index++;
|
|
272
|
+
}
|
|
273
|
+
continue;
|
|
274
|
+
}
|
|
275
|
+
if (quote) {
|
|
276
|
+
if (escaped)
|
|
277
|
+
escaped = false;
|
|
278
|
+
else if (char === "\\")
|
|
279
|
+
escaped = true;
|
|
280
|
+
else if (char === quote)
|
|
281
|
+
quote = null;
|
|
282
|
+
continue;
|
|
283
|
+
}
|
|
284
|
+
if (char === "/" && next === "/") {
|
|
285
|
+
lineComment = true;
|
|
286
|
+
index++;
|
|
287
|
+
}
|
|
288
|
+
else if (char === "/" && next === "*") {
|
|
289
|
+
blockComment = true;
|
|
290
|
+
index++;
|
|
291
|
+
}
|
|
292
|
+
else if (char === "'" || char === '"' || char === "`") {
|
|
293
|
+
quote = char;
|
|
294
|
+
}
|
|
295
|
+
else if (char === "(") {
|
|
296
|
+
depth++;
|
|
297
|
+
}
|
|
298
|
+
else if (char === ")" && --depth === 0) {
|
|
299
|
+
return index;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
return null;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Extract all outbound HTTP calls from `source` (TypeScript/JavaScript).
|
|
306
|
+
* Supports fetch, axios.METHOD, and got.METHOD patterns.
|
|
307
|
+
*
|
|
308
|
+
* Uses a single-pass state-machine lexer so calls inside comments, string
|
|
309
|
+
* literals, template literals, and regex literals are never falsely reported
|
|
310
|
+
* (fixes C3/C6). Multi-line templates are handled naturally (C4). Wide-
|
|
311
|
+
* spaced string concatenation is detected via the lexer's nextCodeToken (C5).
|
|
312
|
+
* Query-string and fragment stripping is done in extractUrlPrefix (C1).
|
|
313
|
+
*
|
|
314
|
+
* @param source - Raw source code.
|
|
315
|
+
* @param file - File path to embed in results (returned as-is).
|
|
316
|
+
*/
|
|
317
|
+
export function extractOutboundCalls(source, file) {
|
|
318
|
+
const lexerCalls = findOutboundCalls(source);
|
|
319
|
+
const results = [];
|
|
320
|
+
for (const lc of lexerCalls) {
|
|
321
|
+
const rawUrl = lc.urlLiteral.raw;
|
|
322
|
+
const { url_prefix, partial } = extractUrlPrefix(rawUrl);
|
|
323
|
+
// C5: string concat detection — check the token immediately after the
|
|
324
|
+
// closing quote/backtick. nextCodeToken already captures any amount of
|
|
325
|
+
// whitespace before the next token, so wide spacing is handled correctly.
|
|
326
|
+
const isConcat = lc.nextCodeToken.startsWith("+");
|
|
327
|
+
let method;
|
|
328
|
+
if (lc.callee === "fetch") {
|
|
329
|
+
const callEnd = findFetchCallEnd(source, lc.urlEnd);
|
|
330
|
+
const window = callEnd === null ? "" : source.slice(lc.urlEnd, callEnd);
|
|
331
|
+
method = sniffFetchMethodFromWindow(window);
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
// axios / got: method comes from the callee (axios.get → GET)
|
|
335
|
+
method = lc.method ?? "GET";
|
|
336
|
+
}
|
|
337
|
+
results.push({
|
|
338
|
+
url_prefix,
|
|
339
|
+
method,
|
|
340
|
+
partial: partial || isConcat,
|
|
341
|
+
file,
|
|
342
|
+
line: lc.line,
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
return results;
|
|
346
|
+
}
|
|
347
|
+
//# sourceMappingURL=cross-repo-outbound-calls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-repo-outbound-calls.js","sourceRoot":"","sources":["../../src/tools/cross-repo-outbound-calls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-detectors.d.ts","sourceRoot":"","sources":["../../../src/tools/cross-repo-outbound-lexer/call-detectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,YAAY,CAAC;AAIpE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;
|
|
1
|
+
{"version":3,"file":"call-detectors.d.ts","sourceRoot":"","sources":["../../../src/tools/cross-repo-outbound-lexer/call-detectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,YAAY,CAAC;AAIpE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAuED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,iBAAiB,GAAG,SAAS,CAIvF"}
|
|
@@ -28,10 +28,12 @@ function readCall(context, callee, line, method) {
|
|
|
28
28
|
const urlLiteral = tryReadUrlArgument(context);
|
|
29
29
|
if (!urlLiteral)
|
|
30
30
|
return null;
|
|
31
|
+
const urlEnd = context.index;
|
|
31
32
|
return {
|
|
32
33
|
callee,
|
|
33
34
|
...(method ? { method } : {}),
|
|
34
35
|
urlLiteral,
|
|
36
|
+
urlEnd,
|
|
35
37
|
nextCodeToken: peekNextCodeToken(context),
|
|
36
38
|
line,
|
|
37
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-detectors.js","sourceRoot":"","sources":["../../../src/tools/cross-repo-outbound-lexer/call-detectors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"call-detectors.js","sourceRoot":"","sources":["../../../src/tools/cross-repo-outbound-lexer/call-detectors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG7E,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAExE,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAAC,OAAqB,EAAE,GAAW;IACrD,OAAO,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI;YAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,OAAqB;IACzC,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACrF,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;IACzF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CACf,OAAqB,EACrB,MAAsB,EACtB,IAAY,EACZ,MAAe;IAEf,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC9C,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACtD,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAC7B,OAAO;QACL,MAAM;QACN,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,UAAU;QACV,MAAM;QACN,aAAa,EAAE,iBAAiB,CAAC,OAAO,CAAC;QACzC,IAAI;KACL,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,OAAqB;IACxC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IACtG,IAAI,KAAK,GAAG,CAAC,IAAI,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IACrF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,WAAW,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAChC,OAAO,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAqB,EACrB,MAAuB;IAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAAC,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IACjF,IAAI,KAAK,GAAG,CAAC,IAAI,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IACrF,IAAI,MAAM,KAAK,KAAK,IAAI,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1G,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,WAAW,CAAC,OAAO,EAAE,KAAK,GAAG,UAAU,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACxE,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG;QAAE,OAAO,SAAS,CAAC;IAClD,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACpD,OAAO,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,SAAS,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAqB;IACtD,OAAO,WAAW,CAAC,OAAO,CAAC;WACtB,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC;WAClC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -9,6 +9,8 @@ export interface LexerOutboundCall {
|
|
|
9
9
|
/** HTTP method from callee name (axios.get → "GET"). fetch/got default undefined. */
|
|
10
10
|
method?: string;
|
|
11
11
|
urlLiteral: UrlLiteral;
|
|
12
|
+
/** Source offset immediately after the closing URL quote/backtick. */
|
|
13
|
+
urlEnd: number;
|
|
12
14
|
/** The first non-whitespace token after the closing quote/backtick. */
|
|
13
15
|
nextCodeToken: string;
|
|
14
16
|
/** 1-based line number of the call keyword. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/cross-repo-outbound-lexer/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAEvD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,cAAc,CAAC;IACvB,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,uEAAuE;IACvE,aAAa,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,aAAa,GACb,cAAc,GACd,cAAc,GACd,cAAc,GACd,UAAU,GACV,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/cross-repo-outbound-lexer/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAEvD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,cAAc,CAAC;IACvB,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,aAAa,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,aAAa,GACb,cAAc,GACd,cAAc,GACd,cAAc,GACd,UAAU,GACV,OAAO,CAAC"}
|
|
@@ -9,7 +9,7 @@ import { loadConfig } from "../../config.js";
|
|
|
9
9
|
import { scanFileForSecrets } from "../secret-scan-shared.js";
|
|
10
10
|
import { parseOneFile } from "./parse.js";
|
|
11
11
|
import { indexFolder } from "./folder-indexer.js";
|
|
12
|
-
import { bm25Indexes, codeIndexes,
|
|
12
|
+
import { bm25Indexes, codeIndexes, invalidateEmbeddingCaches } from "./state.js";
|
|
13
13
|
/**
|
|
14
14
|
* In-process record of the last indexed state per absolute file path.
|
|
15
15
|
*
|
|
@@ -129,7 +129,7 @@ export async function indexFile(filePath) {
|
|
|
129
129
|
// Invalidate caches — lazy rebuild on next query via getBM25Index()
|
|
130
130
|
bm25Indexes.delete(matchingRepo.name);
|
|
131
131
|
codeIndexes.delete(matchingRepo.name);
|
|
132
|
-
|
|
132
|
+
invalidateEmbeddingCaches(matchingRepo.name);
|
|
133
133
|
let secretsWarning;
|
|
134
134
|
if (secretFindingsCount > 0) {
|
|
135
135
|
secretsWarning = `\u26A0 ${secretFindingsCount} potential secret(s) detected`;
|
|
@@ -212,7 +212,7 @@ export async function ensureIndexFresh(repoName) {
|
|
|
212
212
|
});
|
|
213
213
|
bm25Indexes.delete(repoName);
|
|
214
214
|
codeIndexes.delete(repoName);
|
|
215
|
-
|
|
215
|
+
invalidateEmbeddingCaches(repoName);
|
|
216
216
|
freshnessChecked.set(repoName, Date.now());
|
|
217
217
|
return { status: "refreshed", files_updated: changedFiles.length };
|
|
218
218
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-indexer.js","sourceRoot":"","sources":["../../../src/tools/index-tools/file-indexer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EACL,OAAO,EACP,SAAS,IAAI,iBAAiB,EAC9B,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"file-indexer.js","sourceRoot":"","sources":["../../../src/tools/index-tools/file-indexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folder-indexer.d.ts","sourceRoot":"","sources":["../../../src/tools/index-tools/folder-indexer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"folder-indexer.d.ts","sourceRoot":"","sources":["../../../src/tools/index-tools/folder-indexer.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAuDpD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAI5D;AAWD,6CAA6C;AAC7C,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D;AAED,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B,GACA,OAAO,CAAC,iBAAiB,CAAC,CAuc5B"}
|
|
@@ -3,9 +3,9 @@ import { join, relative, resolve } from "node:path";
|
|
|
3
3
|
import { execFileSync } from "node:child_process";
|
|
4
4
|
import { EXTRACTOR_VERSIONS } from "../index-shared.js";
|
|
5
5
|
import { getLanguageForExtension } from "../../parser/parser-manager.js";
|
|
6
|
-
import { saveIndex, loadIndex, getIndexPath } from "../../storage/index-store.js";
|
|
6
|
+
import { saveIndex, loadIndex, loadIndexSummary, getIndexPath } from "../../storage/index-store.js";
|
|
7
7
|
import { clearTsconfigCache } from "../../utils/tsconfig-paths.js";
|
|
8
|
-
import { registerRepo, listRepos as listRegistryRepos, removeRepo, getRepoName, updateRepoMeta, } from "../../storage/registry.js";
|
|
8
|
+
import { registerRepo, listRepos as listRegistryRepos, removeRepo, getRepo, getRepoName, updateRepoMeta, } from "../../storage/registry.js";
|
|
9
9
|
import { buildBM25Index } from "../../search/bm25.js";
|
|
10
10
|
import { loadConfig } from "../../config.js";
|
|
11
11
|
import { walkDirectory } from "../../utils/walk.js";
|
|
@@ -125,6 +125,51 @@ export async function indexFolder(folderPath, options) {
|
|
|
125
125
|
const config = loadConfig();
|
|
126
126
|
const startTime = Date.now();
|
|
127
127
|
const indexPath = getIndexPath(config.dataDir, rootPath);
|
|
128
|
+
// A linked worktree being indexed for the FIRST time can be copied from its parent instead of
|
|
129
|
+
// parsed. Measured: parent 14,891 files, worktree 14,405, eleven different — 0.08%. The copy is
|
|
130
|
+
// milliseconds; the parse is minutes.
|
|
131
|
+
//
|
|
132
|
+
// First time only. An existing index carries incremental updates the parent never saw, and
|
|
133
|
+
// overwriting it with the parent's content would silently discard them — worse than being slow.
|
|
134
|
+
// `include_paths` also opts out: a scoped index is deliberately partial, and a seed would quietly
|
|
135
|
+
// make it whole-repo.
|
|
136
|
+
if (!options?.include_paths) {
|
|
137
|
+
const alreadyIndexed = await getRepo(config.registryPath, repoName);
|
|
138
|
+
if (!alreadyIndexed) {
|
|
139
|
+
const { seedWorktreeIndexFromParent } = await import("./worktree-seed.js");
|
|
140
|
+
const seed = await seedWorktreeIndexFromParent(rootPath, repoName, indexPath);
|
|
141
|
+
if (seed.seeded) {
|
|
142
|
+
console.error(`[codesift] Seeded ${repoName} from ${seed.parent_repo} in ${seed.elapsed_ms} ms ` +
|
|
143
|
+
`(${seed.files} files, ${seed.symbols} symbols) — bringing it to this tree's HEAD…`);
|
|
144
|
+
const { catchUpSeededWorktree } = await import("./worktree-seed.js");
|
|
145
|
+
const caught = await catchUpSeededWorktree(rootPath, repoName, seed.seeded_at_commit ?? null);
|
|
146
|
+
if (caught.caught_up) {
|
|
147
|
+
const summary = await loadIndexSummary(indexPath);
|
|
148
|
+
console.error(`[codesift] ${repoName}: caught up ${caught.updated} changed + ${caught.removed} removed ` +
|
|
149
|
+
`file(s) — ${Date.now() - startTime} ms total instead of a full parse`);
|
|
150
|
+
return {
|
|
151
|
+
repo: repoName,
|
|
152
|
+
root: rootPath,
|
|
153
|
+
file_count: summary?.file_count ?? seed.files ?? 0,
|
|
154
|
+
symbol_count: summary?.symbol_count ?? seed.symbols ?? 0,
|
|
155
|
+
duration_ms: Date.now() - startTime,
|
|
156
|
+
reason: `seeded from ${seed.parent_repo}`,
|
|
157
|
+
...(seed.parent_repo !== undefined ? { seeded_from: seed.parent_repo } : {}),
|
|
158
|
+
files_reparsed: caught.updated ?? 0,
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
// The seed is on disk but cannot be trusted to be a near-match (unreachable commit, or too
|
|
162
|
+
// many differences to be worth patching). Fall through to the full walk, which OVERWRITES
|
|
163
|
+
// it — slow and correct beats fast and wrong.
|
|
164
|
+
console.error(`[codesift] ${repoName}: seed not usable (${caught.reason}) — full index`);
|
|
165
|
+
}
|
|
166
|
+
// Not seedable — say why once, then fall through to the full walk below. This is the line
|
|
167
|
+
// that tells a user why their worktree took minutes instead of milliseconds.
|
|
168
|
+
if (seed.reason && seed.reason !== "not a linked worktree") {
|
|
169
|
+
console.error(`[codesift] ${repoName}: full index (${seed.reason})`);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
128
173
|
// Read .codesiftignore for user-defined exclude patterns
|
|
129
174
|
let excludePatterns;
|
|
130
175
|
try {
|
|
@@ -365,7 +410,10 @@ export async function indexFolder(folderPath, options) {
|
|
|
365
410
|
extractor_version: { ...EXTRACTOR_VERSIONS },
|
|
366
411
|
...(workspaces ? { workspaces } : {}),
|
|
367
412
|
};
|
|
368
|
-
|
|
413
|
+
// Source-complete only when this run parsed every file it is about to store. The mtime reuse
|
|
414
|
+
// path above keeps symbols from the previous index for unchanged files, and those carry
|
|
415
|
+
// whatever an older schema left behind — so a partial re-parse must not clear the lossy marker.
|
|
416
|
+
await saveIndex(indexPath, codeIndex, { sourceComplete: filesToParse.length === files.length });
|
|
369
417
|
// Persist the hash snapshot AFTER the index lands (mirrors registerRepo
|
|
370
418
|
// ordering) and only on the success path — the rejected_partial branch
|
|
371
419
|
// returned earlier, leaving the previous snapshot intact. Non-fatal: the
|