codesift-mcp 0.10.2 → 0.12.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/dist/cache/hono-cache.d.ts.map +1 -1
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +91 -6
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/embed-child.js +3 -0
- package/dist/cli/embed-child.js.map +1 -1
- package/dist/cli/git-hooks-installer.js.map +1 -1
- package/dist/cli/help.d.ts +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +22 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/hooks/pre-tool-use.d.ts.map +1 -1
- package/dist/cli/hooks/pre-tool-use.js +182 -7
- package/dist/cli/hooks/pre-tool-use.js.map +1 -1
- package/dist/cli/hooks/shared.d.ts.map +1 -1
- package/dist/cli/hooks/shared.js +6 -1
- package/dist/cli/hooks/shared.js.map +1 -1
- package/dist/cli/orphan-guard.d.ts +34 -0
- package/dist/cli/orphan-guard.d.ts.map +1 -0
- package/dist/cli/orphan-guard.js +52 -0
- package/dist/cli/orphan-guard.js.map +1 -0
- package/dist/cli/service.d.ts +133 -0
- package/dist/cli/service.d.ts.map +1 -0
- package/dist/cli/service.js +317 -0
- package/dist/cli/service.js.map +1 -0
- package/dist/cli/setup/codex.js +1 -1
- package/dist/cli/setup/codex.js.map +1 -1
- package/dist/cli/setup/fs.js.map +1 -1
- package/dist/cli/setup/mcp.d.ts +24 -1
- package/dist/cli/setup/mcp.d.ts.map +1 -1
- package/dist/cli/setup/mcp.js +33 -5
- package/dist/cli/setup/mcp.js.map +1 -1
- package/dist/cli/setup/types.d.ts +5 -0
- package/dist/cli/setup/types.d.ts.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/telemetry-commands.js.map +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -0
- package/dist/config.js.map +1 -1
- package/dist/formatter-dispatch.d.ts.map +1 -1
- package/dist/instructions.d.ts +1 -1
- package/dist/instructions.d.ts.map +1 -1
- package/dist/instructions.js +1 -0
- package/dist/instructions.js.map +1 -1
- package/dist/lsp/lsp-client.d.ts.map +1 -1
- package/dist/lsp/lsp-client.js.map +1 -1
- package/dist/lsp/lsp-manager.d.ts.map +1 -1
- package/dist/lsp/lsp-tools.d.ts.map +1 -1
- package/dist/lsp/lsp-tools.js +21 -1
- package/dist/lsp/lsp-tools.js.map +1 -1
- package/dist/parser/astro-template/state.d.ts.map +1 -1
- package/dist/parser/extractors/_shared.d.ts +4 -4
- package/dist/parser/extractors/_shared.d.ts.map +1 -1
- package/dist/parser/extractors/_shared.js.map +1 -1
- package/dist/parser/extractors/conversation.js.map +1 -1
- package/dist/parser/extractors/go.d.ts +2 -2
- package/dist/parser/extractors/go.d.ts.map +1 -1
- package/dist/parser/extractors/go.js.map +1 -1
- package/dist/parser/extractors/gradle-kts.d.ts +2 -2
- package/dist/parser/extractors/gradle-kts.d.ts.map +1 -1
- package/dist/parser/extractors/gradle-kts.js.map +1 -1
- package/dist/parser/extractors/hono-app-discovery.d.ts +2 -2
- package/dist/parser/extractors/hono-app-discovery.d.ts.map +1 -1
- package/dist/parser/extractors/hono-app-discovery.js.map +1 -1
- package/dist/parser/extractors/hono-ast-utils.d.ts +4 -4
- package/dist/parser/extractors/hono-ast-utils.d.ts.map +1 -1
- package/dist/parser/extractors/hono-ast-utils.js.map +1 -1
- package/dist/parser/extractors/hono-context-extractor.d.ts +2 -2
- package/dist/parser/extractors/hono-context-extractor.d.ts.map +1 -1
- package/dist/parser/extractors/hono-context-extractor.js.map +1 -1
- package/dist/parser/extractors/hono-inline-analyzer.d.ts +2 -2
- package/dist/parser/extractors/hono-inline-analyzer.d.ts.map +1 -1
- package/dist/parser/extractors/hono-inline-analyzer.js.map +1 -1
- package/dist/parser/extractors/hono-middleware-extractor.d.ts +2 -2
- package/dist/parser/extractors/hono-middleware-extractor.d.ts.map +1 -1
- package/dist/parser/extractors/hono-middleware-extractor.js.map +1 -1
- package/dist/parser/extractors/hono-openapi-extractor.d.ts +2 -2
- package/dist/parser/extractors/hono-openapi-extractor.d.ts.map +1 -1
- package/dist/parser/extractors/hono-openapi-extractor.js.map +1 -1
- package/dist/parser/extractors/hono-route-extractor.d.ts +2 -2
- package/dist/parser/extractors/hono-route-extractor.d.ts.map +1 -1
- package/dist/parser/extractors/hono-route-extractor.js.map +1 -1
- package/dist/parser/extractors/hono-route-utils.d.ts +2 -2
- package/dist/parser/extractors/hono-route-utils.d.ts.map +1 -1
- package/dist/parser/extractors/hono-route-utils.js.map +1 -1
- package/dist/parser/extractors/hono-runtime-extractor.d.ts +2 -2
- package/dist/parser/extractors/hono-runtime-extractor.d.ts.map +1 -1
- package/dist/parser/extractors/hono-runtime-extractor.js.map +1 -1
- package/dist/parser/extractors/hono.d.ts.map +1 -1
- package/dist/parser/extractors/hono.js.map +1 -1
- package/dist/parser/extractors/javascript.d.ts +2 -2
- package/dist/parser/extractors/javascript.d.ts.map +1 -1
- package/dist/parser/extractors/javascript.js.map +1 -1
- package/dist/parser/extractors/kotlin-ast-helpers.d.ts +9 -9
- package/dist/parser/extractors/kotlin-ast-helpers.d.ts.map +1 -1
- package/dist/parser/extractors/kotlin-ast-helpers.js.map +1 -1
- package/dist/parser/extractors/kotlin-test-symbols.d.ts +4 -4
- package/dist/parser/extractors/kotlin-test-symbols.d.ts.map +1 -1
- package/dist/parser/extractors/kotlin-test-symbols.js.map +1 -1
- package/dist/parser/extractors/kotlin.d.ts +2 -2
- package/dist/parser/extractors/kotlin.d.ts.map +1 -1
- package/dist/parser/extractors/kotlin.js.map +1 -1
- package/dist/parser/extractors/php.d.ts +2 -2
- package/dist/parser/extractors/php.d.ts.map +1 -1
- package/dist/parser/extractors/php.js.map +1 -1
- package/dist/parser/extractors/python.d.ts +2 -2
- package/dist/parser/extractors/python.d.ts.map +1 -1
- package/dist/parser/extractors/python.js.map +1 -1
- package/dist/parser/extractors/rust.d.ts +2 -2
- package/dist/parser/extractors/rust.d.ts.map +1 -1
- package/dist/parser/extractors/rust.js.map +1 -1
- package/dist/parser/extractors/sql-boundaries.js.map +1 -1
- package/dist/parser/extractors/typescript-cjs-nodes.d.ts +3 -3
- package/dist/parser/extractors/typescript-cjs-nodes.d.ts.map +1 -1
- package/dist/parser/extractors/typescript-cjs-nodes.js.map +1 -1
- package/dist/parser/extractors/typescript-class-nodes.d.ts +6 -6
- package/dist/parser/extractors/typescript-class-nodes.d.ts.map +1 -1
- package/dist/parser/extractors/typescript-class-nodes.js.map +1 -1
- package/dist/parser/extractors/typescript-declaration-nodes.d.ts +3 -3
- package/dist/parser/extractors/typescript-declaration-nodes.d.ts.map +1 -1
- package/dist/parser/extractors/typescript-declaration-nodes.js.map +1 -1
- package/dist/parser/extractors/typescript-module-nodes.d.ts +4 -4
- package/dist/parser/extractors/typescript-module-nodes.d.ts.map +1 -1
- package/dist/parser/extractors/typescript-module-nodes.js.map +1 -1
- package/dist/parser/extractors/typescript-react.d.ts +6 -6
- package/dist/parser/extractors/typescript-react.d.ts.map +1 -1
- package/dist/parser/extractors/typescript-react.js.map +1 -1
- package/dist/parser/extractors/typescript-shared.d.ts +8 -8
- package/dist/parser/extractors/typescript-shared.d.ts.map +1 -1
- package/dist/parser/extractors/typescript-shared.js.map +1 -1
- package/dist/parser/extractors/typescript-test-nodes.d.ts +2 -2
- package/dist/parser/extractors/typescript-test-nodes.d.ts.map +1 -1
- package/dist/parser/extractors/typescript-test-nodes.js.map +1 -1
- package/dist/parser/extractors/typescript-type-nodes.d.ts +4 -4
- package/dist/parser/extractors/typescript-type-nodes.d.ts.map +1 -1
- package/dist/parser/extractors/typescript-type-nodes.js.map +1 -1
- package/dist/parser/extractors/typescript.d.ts +2 -2
- package/dist/parser/extractors/typescript.d.ts.map +1 -1
- package/dist/parser/extractors/typescript.js.map +1 -1
- package/dist/parser/parse-cache.d.ts +3 -3
- package/dist/parser/parse-cache.d.ts.map +1 -1
- package/dist/parser/parse-cache.js.map +1 -1
- package/dist/parser/parser-manager.d.ts +3 -2
- package/dist/parser/parser-manager.d.ts.map +1 -1
- package/dist/parser/parser-manager.js +9 -3
- package/dist/parser/parser-manager.js.map +1 -1
- package/dist/parser/parser-pool.js.map +1 -1
- package/dist/parser/symbol-extractor.d.ts +2 -2
- package/dist/parser/symbol-extractor.d.ts.map +1 -1
- package/dist/parser/symbol-extractor.js.map +1 -1
- package/dist/register-tool-groups/handler-wrappers.d.ts.map +1 -1
- package/dist/register-tool-groups/handler-wrappers.js +20 -6
- package/dist/register-tool-groups/handler-wrappers.js.map +1 -1
- package/dist/register-tool-groups/meta.js.map +1 -1
- package/dist/register-tool-groups/shared.d.ts.map +1 -1
- package/dist/register-tools/discovery.d.ts +18 -0
- package/dist/register-tools/discovery.d.ts.map +1 -1
- package/dist/register-tools/discovery.js +63 -0
- package/dist/register-tools/discovery.js.map +1 -1
- package/dist/register-tools/runtime.d.ts +3 -3
- package/dist/register-tools/runtime.d.ts.map +1 -1
- package/dist/register-tools/runtime.js +24 -8
- package/dist/register-tools/runtime.js.map +1 -1
- package/dist/register-tools.d.ts +32 -2
- package/dist/register-tools.d.ts.map +1 -1
- package/dist/register-tools.js +88 -12
- package/dist/register-tools.js.map +1 -1
- package/dist/retrieval/codebase-retrieval.js.map +1 -1
- package/dist/retrieval/retrieval-schemas.d.ts +13 -13
- package/dist/search/semantic.d.ts +6 -4
- package/dist/search/semantic.d.ts.map +1 -1
- package/dist/search/semantic.js +54 -31
- package/dist/search/semantic.js.map +1 -1
- package/dist/search/static-embedding-provider.d.ts.map +1 -1
- package/dist/search/static-embedding-provider.js.map +1 -1
- package/dist/search/tool-embedding-storage.d.ts.map +1 -1
- package/dist/search/tool-embedding-storage.js +5 -1
- package/dist/search/tool-embedding-storage.js.map +1 -1
- package/dist/server-helpers/repo-resolution.d.ts +18 -4
- package/dist/server-helpers/repo-resolution.d.ts.map +1 -1
- package/dist/server-helpers/repo-resolution.js +72 -12
- package/dist/server-helpers/repo-resolution.js.map +1 -1
- package/dist/server-helpers/request-context.d.ts +59 -0
- package/dist/server-helpers/request-context.d.ts.map +1 -0
- package/dist/server-helpers/request-context.js +31 -0
- package/dist/server-helpers/request-context.js.map +1 -0
- package/dist/server-helpers/response-hints.d.ts.map +1 -1
- package/dist/server-helpers/response-hints.js +42 -0
- package/dist/server-helpers/response-hints.js.map +1 -1
- package/dist/server.d.ts +1 -11
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +97 -70
- package/dist/server.js.map +1 -1
- package/dist/storage/_shared.d.ts +15 -0
- package/dist/storage/_shared.d.ts.map +1 -1
- package/dist/storage/_shared.js +39 -2
- package/dist/storage/_shared.js.map +1 -1
- package/dist/storage/chunk-store.d.ts.map +1 -1
- package/dist/storage/chunk-store.js +38 -6
- package/dist/storage/chunk-store.js.map +1 -1
- package/dist/storage/embedding-store.d.ts +14 -5
- package/dist/storage/embedding-store.d.ts.map +1 -1
- package/dist/storage/embedding-store.js +48 -3
- package/dist/storage/embedding-store.js.map +1 -1
- package/dist/storage/index-store.d.ts +2 -0
- package/dist/storage/index-store.d.ts.map +1 -1
- package/dist/storage/index-store.js +101 -22
- package/dist/storage/index-store.js.map +1 -1
- package/dist/storage/registry.d.ts.map +1 -1
- package/dist/storage/registry.js +48 -19
- package/dist/storage/registry.js.map +1 -1
- package/dist/storage/telemetry/env-profile.js.map +1 -1
- package/dist/storage/usage-tracker.d.ts +13 -0
- package/dist/storage/usage-tracker.d.ts.map +1 -1
- package/dist/storage/usage-tracker.js +58 -4
- package/dist/storage/usage-tracker.js.map +1 -1
- package/dist/tools/agent-config-tools.js.map +1 -1
- package/dist/tools/ast-query-tools.d.ts.map +1 -1
- package/dist/tools/ast-query-tools.js +12 -2
- package/dist/tools/ast-query-tools.js.map +1 -1
- package/dist/tools/astro-actions/ast.d.ts +7 -7
- package/dist/tools/astro-actions/ast.d.ts.map +1 -1
- package/dist/tools/astro-actions/ast.js.map +1 -1
- package/dist/tools/astro-actions/parser.d.ts.map +1 -1
- package/dist/tools/astro-actions/parser.js +3 -0
- package/dist/tools/astro-actions/parser.js.map +1 -1
- package/dist/tools/astro-actions/types.d.ts.map +1 -1
- package/dist/tools/astro-actions/zod-ast.d.ts +3 -3
- package/dist/tools/astro-actions/zod-ast.d.ts.map +1 -1
- package/dist/tools/astro-actions/zod-ast.js.map +1 -1
- package/dist/tools/astro-audit.js.map +1 -1
- package/dist/tools/astro-config.d.ts.map +1 -1
- package/dist/tools/astro-config.js +3 -0
- package/dist/tools/astro-config.js.map +1 -1
- package/dist/tools/astro-content-collections/discovery.d.ts +2 -2
- package/dist/tools/astro-content-collections/discovery.d.ts.map +1 -1
- package/dist/tools/astro-content-collections/discovery.js.map +1 -1
- package/dist/tools/astro-content-collections/schema.d.ts +2 -2
- package/dist/tools/astro-content-collections/schema.d.ts.map +1 -1
- package/dist/tools/astro-content-collections/schema.js.map +1 -1
- package/dist/tools/astro-content-collections.d.ts.map +1 -1
- package/dist/tools/astro-content-collections.js +5 -1
- package/dist/tools/astro-content-collections.js.map +1 -1
- package/dist/tools/astro-db-audit.d.ts.map +1 -1
- package/dist/tools/astro-db-audit.js +8 -0
- package/dist/tools/astro-db-audit.js.map +1 -1
- package/dist/tools/astro-db-parser.d.ts.map +1 -1
- package/dist/tools/astro-db-parser.js +3 -0
- package/dist/tools/astro-db-parser.js.map +1 -1
- package/dist/tools/astro-env-validator.d.ts.map +1 -1
- package/dist/tools/astro-env-validator.js +4 -0
- package/dist/tools/astro-env-validator.js.map +1 -1
- package/dist/tools/astro-helpers.d.ts +6 -6
- package/dist/tools/astro-helpers.d.ts.map +1 -1
- package/dist/tools/astro-helpers.js.map +1 -1
- package/dist/tools/astro-middleware.d.ts.map +1 -1
- package/dist/tools/astro-middleware.js +4 -0
- package/dist/tools/astro-middleware.js.map +1 -1
- package/dist/tools/astro-sessions.d.ts.map +1 -1
- package/dist/tools/astro-sessions.js +4 -0
- package/dist/tools/astro-sessions.js.map +1 -1
- package/dist/tools/complexity-tools.d.ts.map +1 -1
- package/dist/tools/complexity-tools.js +51 -15
- package/dist/tools/complexity-tools.js.map +1 -1
- package/dist/tools/context-tools.js.map +1 -1
- package/dist/tools/cross-repo-outbound-lexer/context.d.ts.map +1 -1
- package/dist/tools/cross-repo-outbound-lexer/context.js.map +1 -1
- package/dist/tools/dependency-audit-lockfile-tools.js.map +1 -1
- package/dist/tools/hono-api-contract.js.map +1 -1
- package/dist/tools/hono-visualize.js.map +1 -1
- package/dist/tools/index-shared.d.ts.map +1 -1
- package/dist/tools/index-tools/folder-indexer.d.ts.map +1 -1
- package/dist/tools/index-tools/folder-indexer.js +29 -1
- package/dist/tools/index-tools/folder-indexer.js.map +1 -1
- package/dist/tools/index-tools/folder-merge.d.ts.map +1 -1
- package/dist/tools/index-tools/folder-merge.js +47 -1
- package/dist/tools/index-tools/folder-merge.js.map +1 -1
- package/dist/tools/index-tools/parse.d.ts.map +1 -1
- package/dist/tools/index-tools/parse.js +6 -2
- package/dist/tools/index-tools/parse.js.map +1 -1
- package/dist/tools/index-tools/registry.d.ts.map +1 -1
- package/dist/tools/index-tools/registry.js +32 -2
- package/dist/tools/index-tools/registry.js.map +1 -1
- package/dist/tools/index-tools/snapshots.js.map +1 -1
- package/dist/tools/index-tools/types.d.ts +7 -0
- package/dist/tools/index-tools/types.d.ts.map +1 -1
- package/dist/tools/insights-tools.js.map +1 -1
- package/dist/tools/journal-generator-helpers.d.ts.map +1 -1
- package/dist/tools/journal-generator-helpers.js.map +1 -1
- package/dist/tools/journal-git-client.js.map +1 -1
- package/dist/tools/journal-llm-client.d.ts.map +1 -1
- package/dist/tools/journal-llm-client.js.map +1 -1
- package/dist/tools/journal-migrator.d.ts.map +1 -1
- package/dist/tools/journal-phase-detector.d.ts.map +1 -1
- package/dist/tools/journal-sentinel.d.ts.map +1 -1
- package/dist/tools/nest-audit-tools.js.map +1 -1
- package/dist/tools/nest-ext-tools.js.map +1 -1
- package/dist/tools/nextjs-api-contract-readers.d.ts +5 -5
- package/dist/tools/nextjs-api-contract-readers.d.ts.map +1 -1
- package/dist/tools/nextjs-api-contract-readers.js.map +1 -1
- package/dist/tools/nextjs-boundary-tools.d.ts +2 -2
- package/dist/tools/nextjs-boundary-tools.d.ts.map +1 -1
- package/dist/tools/nextjs-boundary-tools.js.map +1 -1
- package/dist/tools/nextjs-component-readers.d.ts +3 -3
- package/dist/tools/nextjs-component-readers.d.ts.map +1 -1
- package/dist/tools/nextjs-component-readers.js.map +1 -1
- package/dist/tools/nextjs-framework-audit-tools.js.map +1 -1
- package/dist/tools/nextjs-metadata-tools.d.ts.map +1 -1
- package/dist/tools/nextjs-route-readers.d.ts +2 -2
- package/dist/tools/nextjs-route-readers.d.ts.map +1 -1
- package/dist/tools/nextjs-route-readers.js.map +1 -1
- package/dist/tools/nextjs-security-readers.d.ts +6 -6
- package/dist/tools/nextjs-security-readers.d.ts.map +1 -1
- package/dist/tools/nextjs-security-readers.js.map +1 -1
- package/dist/tools/pg-introspection.js.map +1 -1
- package/dist/tools/php-active-record-tools.js.map +1 -1
- package/dist/tools/php-view-tools.js.map +1 -1
- package/dist/tools/plan-turn/orchestrator.d.ts.map +1 -1
- package/dist/tools/plan-turn/orchestrator.js +14 -4
- package/dist/tools/plan-turn/orchestrator.js.map +1 -1
- package/dist/tools/plan-turn/recommendations.js +2 -2
- package/dist/tools/plan-turn/recommendations.js.map +1 -1
- package/dist/tools/project-profile-extractors.js.map +1 -1
- package/dist/tools/project-tools.d.ts.map +1 -1
- package/dist/tools/project-tools.js.map +1 -1
- package/dist/tools/pydantic-models.js.map +1 -1
- package/dist/tools/python-audit/aggregate.js.map +1 -1
- package/dist/tools/python-circular-imports.d.ts.map +1 -1
- package/dist/tools/python-circular-imports.js +3 -0
- package/dist/tools/python-circular-imports.js.map +1 -1
- package/dist/tools/python-constants-tools.d.ts.map +1 -1
- package/dist/tools/python-constants-tools.js +14 -0
- package/dist/tools/python-constants-tools.js.map +1 -1
- package/dist/tools/query-tools.js.map +1 -1
- package/dist/tools/review-diff/constants.d.ts.map +1 -1
- package/dist/tools/search-tools/ripgrep.d.ts.map +1 -1
- package/dist/tools/search-tools/ripgrep.js +32 -2
- package/dist/tools/search-tools/ripgrep.js.map +1 -1
- package/dist/tools/search-tools/text-search.js.map +1 -1
- package/dist/tools/taint-tools.d.ts.map +1 -1
- package/dist/tools/taint-tools.js +4 -0
- package/dist/tools/taint-tools.js.map +1 -1
- package/dist/tools/typescript-constants-tools.d.ts.map +1 -1
- package/dist/tools/typescript-constants-tools.js +14 -0
- package/dist/tools/typescript-constants-tools.js.map +1 -1
- package/dist/tools/wiki-manifest.js.map +1 -1
- package/dist/tools/workspace-tools.d.ts.map +1 -1
- package/dist/tools/yii-migrations-tools.js.map +1 -1
- package/dist/tools/yii-modules-tools.js.map +1 -1
- package/dist/utils/git-head.js.map +1 -1
- package/dist/utils/git-validation.d.ts.map +1 -1
- package/dist/utils/import-graph.d.ts.map +1 -1
- package/dist/utils/import-graph.js +10 -0
- package/dist/utils/import-graph.js.map +1 -1
- package/dist/utils/language-detect.d.ts.map +1 -1
- package/dist/utils/language-detect.js +6 -3
- package/dist/utils/language-detect.js.map +1 -1
- package/dist/utils/nextjs-ast-readers.d.ts +3 -3
- package/dist/utils/nextjs-ast-readers.d.ts.map +1 -1
- package/dist/utils/nextjs-ast-readers.js.map +1 -1
- package/dist/utils/nextjs-audit-cache.d.ts +3 -3
- package/dist/utils/nextjs-audit-cache.d.ts.map +1 -1
- package/dist/utils/nextjs-audit-cache.js.map +1 -1
- package/dist/utils/nextjs-metadata-readers.d.ts +4 -4
- package/dist/utils/nextjs-metadata-readers.d.ts.map +1 -1
- package/dist/utils/nextjs-metadata-readers.js.map +1 -1
- package/dist/utils/overlay-cache.d.ts.map +1 -1
- package/dist/utils/overlay-cache.js.map +1 -1
- package/dist/utils/python-imports.d.ts +2 -2
- package/dist/utils/python-imports.d.ts.map +1 -1
- package/dist/utils/python-imports.js.map +1 -1
- package/dist/utils/ts-imports.d.ts +2 -2
- package/dist/utils/ts-imports.d.ts.map +1 -1
- package/dist/utils/ts-imports.js.map +1 -1
- package/dist/utils/walk/filters.d.ts.map +1 -1
- package/dist/utils/walk/filters.js +22 -1
- package/dist/utils/walk/filters.js.map +1 -1
- package/dist/utils/walk/limits.d.ts.map +1 -1
- package/dist/utils/worktree.d.ts +60 -0
- package/dist/utils/worktree.d.ts.map +1 -0
- package/dist/utils/worktree.js +170 -0
- package/dist/utils/worktree.js.map +1 -0
- package/package.json +13 -7
- package/rules/codesift.md +5 -1
- package/rules/codesift.mdc +5 -1
- package/rules/codex.md +5 -1
- package/rules/gemini.md +5 -1
|
@@ -134,16 +134,191 @@ export async function handlePrecheckRead() {
|
|
|
134
134
|
process.exit(0);
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
|
+
/** Wrapper commands that precede the real command word (`sudo rg`, `xargs -0 rg`). */
|
|
138
|
+
const COMMAND_PREFIXES = new Set([
|
|
139
|
+
"sudo", "env", "time", "command", "nohup", "nice", "stdbuf", "exec", "builtin", "xargs",
|
|
140
|
+
"if", "elif", "then", "else", "while", "until", "do", "!",
|
|
141
|
+
]);
|
|
142
|
+
/**
|
|
143
|
+
* Lex a command line into segments, each starting at a command position.
|
|
144
|
+
*
|
|
145
|
+
* A regex over the raw string cannot do this correctly, and the two failure
|
|
146
|
+
* modes both showed up in practice:
|
|
147
|
+
*
|
|
148
|
+
* - Quoted text was treated as shell code, so any command that merely MENTIONS
|
|
149
|
+
* a search tool got intercepted — `echo "use rg instead"`, or a python/node
|
|
150
|
+
* analysis script passed via `-c`/heredoc whose source contains `'rg'`.
|
|
151
|
+
* - Flags were matched across the whole line, so `grep -ic x "$f" | sort -rn`
|
|
152
|
+
* read as a recursive grep because of `sort`'s `-rn`.
|
|
153
|
+
*
|
|
154
|
+
* Quoted regions therefore stay inert for separator splitting but keep their
|
|
155
|
+
* text (so `"rg" "TODO"` is still recognised as ripgrep). UNQUOTED command
|
|
156
|
+
* substitutions (`$(...)`, backticks) split into their own segment so the inner
|
|
157
|
+
* command is still checked. Heredoc bodies are skipped entirely — they are
|
|
158
|
+
* data, not commands.
|
|
159
|
+
*
|
|
160
|
+
* Known limit: a substitution nested INSIDE double quotes (`echo "$(rg x)"`) is
|
|
161
|
+
* consumed as one quoted token, so the inner command is not inspected. That is
|
|
162
|
+
* an accepted under-block: this hook is a nudge toward CodeSift, not a security
|
|
163
|
+
* boundary, and the costly direction is over-blocking — a false deny stops
|
|
164
|
+
* legitimate work, a missed nudge only means the agent used grep.
|
|
165
|
+
*/
|
|
166
|
+
function lexShellSegments(cmd) {
|
|
167
|
+
const segments = [];
|
|
168
|
+
let segment = [];
|
|
169
|
+
let text = "";
|
|
170
|
+
let quoted = false;
|
|
171
|
+
let started = false;
|
|
172
|
+
const endToken = () => {
|
|
173
|
+
if (!started)
|
|
174
|
+
return;
|
|
175
|
+
segment.push({ text, quoted });
|
|
176
|
+
text = "";
|
|
177
|
+
quoted = false;
|
|
178
|
+
started = false;
|
|
179
|
+
};
|
|
180
|
+
const endSegment = () => {
|
|
181
|
+
endToken();
|
|
182
|
+
if (segment.length > 0)
|
|
183
|
+
segments.push(segment);
|
|
184
|
+
segment = [];
|
|
185
|
+
};
|
|
186
|
+
let i = 0;
|
|
187
|
+
while (i < cmd.length) {
|
|
188
|
+
const ch = cmd[i];
|
|
189
|
+
// Herestring (`<<<WORD`) is NOT a heredoc and has no body. Without this the
|
|
190
|
+
// scanner skips the first `<`, then reads the remaining `<<WORD` as a
|
|
191
|
+
// heredoc open, finds no closing `WORD` line, and swallows the REST OF THE
|
|
192
|
+
// COMMAND as body — so `cat <<<EOF; rg "TODO" src/` silently under-blocks.
|
|
193
|
+
if (ch === "<" && cmd[i + 1] === "<" && cmd[i + 2] === "<") {
|
|
194
|
+
endToken();
|
|
195
|
+
i += 3;
|
|
196
|
+
continue;
|
|
197
|
+
}
|
|
198
|
+
// Heredoc (`<<EOF`, `<<-EOF`, `<<'EOF'`) — skip the redirect and its body.
|
|
199
|
+
if (ch === "<" && cmd[i + 1] === "<") {
|
|
200
|
+
const marker = /^<<-?\s*(['"]?)([A-Za-z_][A-Za-z0-9_]*)\1/.exec(cmd.slice(i));
|
|
201
|
+
if (marker) {
|
|
202
|
+
endToken();
|
|
203
|
+
i += marker[0].length;
|
|
204
|
+
const rest = cmd.slice(i);
|
|
205
|
+
const end = new RegExp(`\\n[ \\t]*${marker[2]}[ \\t]*(?:\\n|$)`).exec(rest);
|
|
206
|
+
i += end ? end.index + end[0].length : rest.length;
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
if (ch === "'") {
|
|
211
|
+
started = true;
|
|
212
|
+
quoted = true;
|
|
213
|
+
i++;
|
|
214
|
+
while (i < cmd.length && cmd[i] !== "'") {
|
|
215
|
+
text += cmd[i];
|
|
216
|
+
i++;
|
|
217
|
+
}
|
|
218
|
+
i++;
|
|
219
|
+
continue;
|
|
220
|
+
}
|
|
221
|
+
if (ch === '"') {
|
|
222
|
+
started = true;
|
|
223
|
+
quoted = true;
|
|
224
|
+
i++;
|
|
225
|
+
while (i < cmd.length && cmd[i] !== '"') {
|
|
226
|
+
if (cmd[i] === "\\" && i + 1 < cmd.length) {
|
|
227
|
+
text += cmd[i + 1];
|
|
228
|
+
i += 2;
|
|
229
|
+
continue;
|
|
230
|
+
}
|
|
231
|
+
text += cmd[i];
|
|
232
|
+
i++;
|
|
233
|
+
}
|
|
234
|
+
i++;
|
|
235
|
+
continue;
|
|
236
|
+
}
|
|
237
|
+
if (ch === "\\" && i + 1 < cmd.length) {
|
|
238
|
+
started = true;
|
|
239
|
+
text += cmd[i + 1];
|
|
240
|
+
i += 2;
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
243
|
+
if (ch === "\n") {
|
|
244
|
+
endSegment();
|
|
245
|
+
i++;
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
if (/\s/.test(ch)) {
|
|
249
|
+
endToken();
|
|
250
|
+
i++;
|
|
251
|
+
continue;
|
|
252
|
+
}
|
|
253
|
+
// Backtick substitution splits like `$(...)` does. Without this the tick
|
|
254
|
+
// glues onto the command word (`` `grep `` != `grep`) and the whole
|
|
255
|
+
// invocation slips past unrecognised.
|
|
256
|
+
if (ch === ";" || ch === "|" || ch === "&" || ch === "(" || ch === ")" || ch === "{" || ch === "}" || ch === "`") {
|
|
257
|
+
endSegment();
|
|
258
|
+
i++;
|
|
259
|
+
continue;
|
|
260
|
+
}
|
|
261
|
+
started = true;
|
|
262
|
+
text += ch;
|
|
263
|
+
i++;
|
|
264
|
+
}
|
|
265
|
+
endSegment();
|
|
266
|
+
return segments;
|
|
267
|
+
}
|
|
268
|
+
/** The command a segment actually invokes, plus its unquoted argument tokens. */
|
|
269
|
+
function segmentInvocation(tokens) {
|
|
270
|
+
let i = 0;
|
|
271
|
+
while (i < tokens.length) {
|
|
272
|
+
const token = tokens[i];
|
|
273
|
+
// Skip `FOO=bar` env assignments and shell/wrapper words like `sudo`, `do`.
|
|
274
|
+
if (/^[A-Za-z_][A-Za-z0-9_]*=/.test(token.text)) {
|
|
275
|
+
i++;
|
|
276
|
+
continue;
|
|
277
|
+
}
|
|
278
|
+
const base = token.text.split("/").pop() ?? token.text;
|
|
279
|
+
if (COMMAND_PREFIXES.has(base)) {
|
|
280
|
+
i++;
|
|
281
|
+
// A wrapper's own flags (`xargs -0 rg`) precede the real command.
|
|
282
|
+
while (i < tokens.length && tokens[i].text.startsWith("-"))
|
|
283
|
+
i++;
|
|
284
|
+
continue;
|
|
285
|
+
}
|
|
286
|
+
return { name: base, args: tokens.slice(i + 1) };
|
|
287
|
+
}
|
|
288
|
+
return null;
|
|
289
|
+
}
|
|
290
|
+
/** Flags only count when they were written unquoted — `grep "x -r y" f` is a pattern. */
|
|
291
|
+
function hasFlag(args, pattern) {
|
|
292
|
+
return args.some((token) => !token.quoted && pattern.test(token.text));
|
|
293
|
+
}
|
|
137
294
|
function isFileFindCommand(cmd) {
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
295
|
+
for (const segment of lexShellSegments(cmd)) {
|
|
296
|
+
const invocation = segmentInvocation(segment);
|
|
297
|
+
if (invocation?.name !== "find")
|
|
298
|
+
continue;
|
|
299
|
+
const hasNameFilter = hasFlag(invocation.args, /^-i?name$/);
|
|
300
|
+
const hasDestructive = hasFlag(invocation.args, /^-(?:exec|delete|ok)$/) ||
|
|
301
|
+
invocation.args.some((token) => !token.quoted && (token.text === "rm" || token.text === "mv"));
|
|
302
|
+
if (hasNameFilter && !hasDestructive)
|
|
303
|
+
return true;
|
|
304
|
+
}
|
|
305
|
+
return false;
|
|
142
306
|
}
|
|
143
307
|
function isContentGrepCommand(cmd) {
|
|
144
|
-
const
|
|
145
|
-
|
|
146
|
-
|
|
308
|
+
for (const segment of lexShellSegments(cmd)) {
|
|
309
|
+
const invocation = segmentInvocation(segment);
|
|
310
|
+
if (!invocation)
|
|
311
|
+
continue;
|
|
312
|
+
if (invocation.name === "rg")
|
|
313
|
+
return true;
|
|
314
|
+
// `git grep` lexes as command `git` with args `grep …`, so it never matches
|
|
315
|
+
// here — which is intended: it is repo-aware already and is left alone.
|
|
316
|
+
if (invocation.name !== "grep" && invocation.name !== "egrep")
|
|
317
|
+
continue;
|
|
318
|
+
if (hasFlag(invocation.args, /^--recursive$/) || hasFlag(invocation.args, /^-[A-Za-z]*[rR]/))
|
|
319
|
+
return true;
|
|
320
|
+
}
|
|
321
|
+
return false;
|
|
147
322
|
}
|
|
148
323
|
export async function handlePrecheckBash() {
|
|
149
324
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-tool-use.js","sourceRoot":"","sources":["../../../src/cli/hooks/pre-tool-use.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pre-tool-use.js","sourceRoot":"","sources":["../../../src/cli/hooks/pre-tool-use.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/cli/hooks/shared.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAmB9C,CAAC;AAEH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAMrC,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKtE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/cli/hooks/shared.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAmB9C,CAAC;AAEH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAMrC,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKtE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CA8BjD;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAoB9C;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAS9C"}
|
package/dist/cli/hooks/shared.js
CHANGED
|
@@ -75,7 +75,12 @@ export function isCodesiftServerRunning() {
|
|
|
75
75
|
});
|
|
76
76
|
}
|
|
77
77
|
catch {
|
|
78
|
-
|
|
78
|
+
// Fail OPEN, as the contract above promises. This used to `return true`
|
|
79
|
+
// ("assume running"), which inverted it: callers treat true as "server is
|
|
80
|
+
// up" and go on to deny the tool, so an unreadable process table produced
|
|
81
|
+
// exactly the outage this function exists to prevent — the agent loses the
|
|
82
|
+
// native fallback AND has no CodeSift tools to redirect to.
|
|
83
|
+
return false;
|
|
79
84
|
}
|
|
80
85
|
}
|
|
81
86
|
export function isCurrentRepoIndexed() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/cli/hooks/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,SAAS,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,CAAC,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IAC1D,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,IAAI;IACJ,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,QAAQ;IACR,KAAK;IACL,QAAQ;IACR,MAAM;IACN,SAAS;CACV,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC,SAAS,eAAe;IACtB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,QAAgB;IAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5C,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACzF,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,uBAAuB;IACrC,IAAI,CAAC;QACH,8EAA8E;QAC9E,4EAA4E;QAC5E,8EAA8E;QAC9E,qCAAqC;QACrC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE;YACjD,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;SAC3B,CAAC,CAAC;QACH,oEAAoE;QACpE,4DAA4D;QAC5D,+CAA+C;QAC/C,0EAA0E;QAC1E,0DAA0D;QAC1D,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAAE,OAAO,KAAK,CAAC;YAClF,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAAE,OAAO,IAAI,CAAC,CAAW,kCAAkC;YAC7F,OAAO,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAe,sCAAsC;QACnG,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/cli/hooks/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exit when the process that spawned us goes away.
|
|
3
|
+
*
|
|
4
|
+
* A detached worker whose parent has died is doing work nobody will read.
|
|
5
|
+
* Measured on this machine: two orphaned `embed-child` processes, left behind
|
|
6
|
+
* by indexing runs killed five hours earlier, were still burning 360% and 340%
|
|
7
|
+
* CPU and holding 5.2 GB and 4.4 GB — 700% CPU and 9.7 GB between them, which
|
|
8
|
+
* is what drove the load average past 600. Nothing stopped them because nothing
|
|
9
|
+
* was watching.
|
|
10
|
+
*
|
|
11
|
+
* `server.ts` guards its own process this way already; the CLI's workers did
|
|
12
|
+
* not. This lives in its own module so the guard can be exercised as a real
|
|
13
|
+
* process without importing a worker's side effects.
|
|
14
|
+
*
|
|
15
|
+
* Polls `process.ppid` rather than watching a pipe: these workers are spawned
|
|
16
|
+
* DETACHED, so there is no pipe, and reparenting to launchd/init (ppid 1) is
|
|
17
|
+
* the signal — the same on macOS and Linux.
|
|
18
|
+
*/
|
|
19
|
+
/** How often to check. Long enough to be free, short enough to bound the leak. */
|
|
20
|
+
export declare const PARENT_POLL_MS = 5000;
|
|
21
|
+
export interface OrphanGuardOptions {
|
|
22
|
+
/** Override for tests; production uses PARENT_POLL_MS. */
|
|
23
|
+
pollMs?: number;
|
|
24
|
+
/** Injected so a test can observe the decision instead of dying. */
|
|
25
|
+
onOrphaned?: (startingPpid: number, currentPpid: number) => void;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Start watching. Returns a stop function.
|
|
29
|
+
*
|
|
30
|
+
* The timer is `unref`'d: the point is fewer lingering processes, so the guard
|
|
31
|
+
* must never be the thing that keeps one alive.
|
|
32
|
+
*/
|
|
33
|
+
export declare function exitWhenOrphaned(options?: OrphanGuardOptions): () => void;
|
|
34
|
+
//# sourceMappingURL=orphan-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orphan-guard.d.ts","sourceRoot":"","sources":["../../src/cli/orphan-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,kFAAkF;AAClF,eAAO,MAAM,cAAc,OAAQ,CAAC;AAEpC,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,kBAAuB,GAAG,MAAM,IAAI,CA6B7E"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exit when the process that spawned us goes away.
|
|
3
|
+
*
|
|
4
|
+
* A detached worker whose parent has died is doing work nobody will read.
|
|
5
|
+
* Measured on this machine: two orphaned `embed-child` processes, left behind
|
|
6
|
+
* by indexing runs killed five hours earlier, were still burning 360% and 340%
|
|
7
|
+
* CPU and holding 5.2 GB and 4.4 GB — 700% CPU and 9.7 GB between them, which
|
|
8
|
+
* is what drove the load average past 600. Nothing stopped them because nothing
|
|
9
|
+
* was watching.
|
|
10
|
+
*
|
|
11
|
+
* `server.ts` guards its own process this way already; the CLI's workers did
|
|
12
|
+
* not. This lives in its own module so the guard can be exercised as a real
|
|
13
|
+
* process without importing a worker's side effects.
|
|
14
|
+
*
|
|
15
|
+
* Polls `process.ppid` rather than watching a pipe: these workers are spawned
|
|
16
|
+
* DETACHED, so there is no pipe, and reparenting to launchd/init (ppid 1) is
|
|
17
|
+
* the signal — the same on macOS and Linux.
|
|
18
|
+
*/
|
|
19
|
+
/** How often to check. Long enough to be free, short enough to bound the leak. */
|
|
20
|
+
export const PARENT_POLL_MS = 5_000;
|
|
21
|
+
/**
|
|
22
|
+
* Start watching. Returns a stop function.
|
|
23
|
+
*
|
|
24
|
+
* The timer is `unref`'d: the point is fewer lingering processes, so the guard
|
|
25
|
+
* must never be the thing that keeps one alive.
|
|
26
|
+
*/
|
|
27
|
+
export function exitWhenOrphaned(options = {}) {
|
|
28
|
+
const startingPpid = process.ppid;
|
|
29
|
+
const onOrphaned = options.onOrphaned ??
|
|
30
|
+
((from, now) => {
|
|
31
|
+
process.stderr.write(`[codesift] parent ${from} gone (now ${now}) — exiting rather than orphaning\n`);
|
|
32
|
+
process.exit(0);
|
|
33
|
+
});
|
|
34
|
+
const timer = setInterval(() => {
|
|
35
|
+
const ppid = process.ppid;
|
|
36
|
+
if (ppid === startingPpid && ppid > 1)
|
|
37
|
+
return;
|
|
38
|
+
onOrphaned(startingPpid, ppid);
|
|
39
|
+
}, options.pollMs ?? PARENT_POLL_MS);
|
|
40
|
+
timer.unref();
|
|
41
|
+
const stopOnSignal = () => process.exit(0);
|
|
42
|
+
for (const sig of ["SIGTERM", "SIGINT", "SIGHUP"]) {
|
|
43
|
+
process.on(sig, stopOnSignal);
|
|
44
|
+
}
|
|
45
|
+
return () => {
|
|
46
|
+
clearInterval(timer);
|
|
47
|
+
for (const sig of ["SIGTERM", "SIGINT", "SIGHUP"]) {
|
|
48
|
+
process.off(sig, stopOnSignal);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=orphan-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orphan-guard.js","sourceRoot":"","sources":["../../src/cli/orphan-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,kFAAkF;AAClF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC;AASpC;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAO,GAAuB,EAAE;IAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAClC,MAAM,UAAU,GACd,OAAO,CAAC,UAAU;QAClB,CAAC,CAAC,IAAY,EAAE,GAAW,EAAQ,EAAE;YACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qBAAqB,IAAI,cAAc,GAAG,qCAAqC,CAChF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IAEL,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO;QAC9C,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC,EAAE,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC;IACrC,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,MAAM,YAAY,GAAG,GAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjD,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAU,EAAE,CAAC;QAC3D,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,GAAG,EAAE;QACV,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAU,EAAE,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `codesift service` — run the shared daemon as a supervised background service.
|
|
3
|
+
*
|
|
4
|
+
* Without this, `codesift serve` is a foreground process: it dies with the
|
|
5
|
+
* terminal that launched it, does not come back after a crash, and is not there
|
|
6
|
+
* after a reboot. Every client is then configured to talk to a daemon that
|
|
7
|
+
* isn't running. Supervision is what makes the shared-daemon model safe to
|
|
8
|
+
* depend on — it turns "one process for everyone" from a single point of
|
|
9
|
+
* failure into a service that restarts itself.
|
|
10
|
+
*
|
|
11
|
+
* macOS gets a per-user LaunchAgent, Linux a systemd *user* unit. Both are
|
|
12
|
+
* per-user and unprivileged by design: nothing here needs root, and a daemon
|
|
13
|
+
* holding every index on the machine is exactly the thing that should not run
|
|
14
|
+
* as root.
|
|
15
|
+
*/
|
|
16
|
+
export declare const SERVICE_LABEL = "com.codesift.daemon";
|
|
17
|
+
export declare const DEFAULT_SERVICE_PORT = 7077;
|
|
18
|
+
/**
|
|
19
|
+
* PATH handed to the service.
|
|
20
|
+
*
|
|
21
|
+
* launchd does NOT give an agent the login shell's PATH — it gets a minimal
|
|
22
|
+
* one. CodeSift shells out to `git` (repo detection, churn analysis, diff
|
|
23
|
+
* tools) and optionally to `rg`, so a daemon started by launchd with the
|
|
24
|
+
* default PATH silently loses those features while looking healthy. Homebrew
|
|
25
|
+
* differs by arch (/opt/homebrew on Apple Silicon, /usr/local on Intel), so
|
|
26
|
+
* both are listed.
|
|
27
|
+
*/
|
|
28
|
+
export declare const SERVICE_PATH_ENTRIES: string[];
|
|
29
|
+
export interface ServicePlan {
|
|
30
|
+
label: string;
|
|
31
|
+
port: number;
|
|
32
|
+
host: string;
|
|
33
|
+
/** Absolute path to the node binary that will run the daemon. */
|
|
34
|
+
execPath: string;
|
|
35
|
+
/** Absolute path to the codesift CLI entry point. */
|
|
36
|
+
cliPath: string;
|
|
37
|
+
/** Where the unit file goes. */
|
|
38
|
+
unitPath: string;
|
|
39
|
+
stdoutLog: string;
|
|
40
|
+
stderrLog: string;
|
|
41
|
+
dataDir: string;
|
|
42
|
+
}
|
|
43
|
+
/** Escape a string for inclusion in XML text content. */
|
|
44
|
+
export declare function escapeXml(value: string): string;
|
|
45
|
+
/**
|
|
46
|
+
* True for addresses that keep the daemon reachable only from this machine.
|
|
47
|
+
*
|
|
48
|
+
* This matters more than it looks: the daemon answers MCP tool calls that read
|
|
49
|
+
* any indexed repository, so binding it to a routable interface publishes the
|
|
50
|
+
* user's entire source tree — and their indexed conversation history — to
|
|
51
|
+
* anything that can reach the port. There is no authentication by default.
|
|
52
|
+
*/
|
|
53
|
+
export declare function isLoopbackHost(host: string): boolean;
|
|
54
|
+
/** Resolve the CLI entry point for the currently running codesift install. */
|
|
55
|
+
export declare function resolveCliPath(): string;
|
|
56
|
+
export declare function buildServicePlan(opts: {
|
|
57
|
+
port?: number;
|
|
58
|
+
host?: string;
|
|
59
|
+
dataDir: string;
|
|
60
|
+
execPath?: string;
|
|
61
|
+
cliPath?: string;
|
|
62
|
+
home?: string;
|
|
63
|
+
os?: NodeJS.Platform;
|
|
64
|
+
}): ServicePlan;
|
|
65
|
+
/**
|
|
66
|
+
* macOS LaunchAgent.
|
|
67
|
+
*
|
|
68
|
+
* `KeepAlive` restarts the daemon whenever it exits for any reason — crash, OOM
|
|
69
|
+
* kill, or a `kill` from a user cleaning up processes. `ThrottleInterval` is the
|
|
70
|
+
* guard that keeps that from becoming a restart storm if the daemon cannot
|
|
71
|
+
* start at all (port taken by something else, corrupt install): launchd waits
|
|
72
|
+
* between attempts instead of spinning. `RunAtLoad` covers login and reboot.
|
|
73
|
+
*
|
|
74
|
+
* To stop it deliberately, unload the agent (`codesift service uninstall`) —
|
|
75
|
+
* killing the process alone just makes launchd start it again, which is the
|
|
76
|
+
* whole point.
|
|
77
|
+
*/
|
|
78
|
+
export declare function buildLaunchAgentPlist(plan: ServicePlan): string;
|
|
79
|
+
/** Linux systemd *user* unit — same supervision contract as the LaunchAgent. */
|
|
80
|
+
export declare function buildSystemdUnit(plan: ServicePlan): string;
|
|
81
|
+
export declare function renderUnit(plan: ServicePlan, os: NodeJS.Platform): string;
|
|
82
|
+
export interface InstallResult {
|
|
83
|
+
status: "installed" | "already-installed" | "unsupported";
|
|
84
|
+
unitPath: string;
|
|
85
|
+
url: string;
|
|
86
|
+
activated: boolean;
|
|
87
|
+
note?: string;
|
|
88
|
+
}
|
|
89
|
+
/** Injectable so tests can exercise install/uninstall without touching launchd. */
|
|
90
|
+
export type CommandRunner = (cmd: string, args: string[]) => {
|
|
91
|
+
ok: boolean;
|
|
92
|
+
message: string;
|
|
93
|
+
};
|
|
94
|
+
export declare function installService(opts: {
|
|
95
|
+
port?: number;
|
|
96
|
+
host?: string;
|
|
97
|
+
dataDir: string;
|
|
98
|
+
force?: boolean;
|
|
99
|
+
os?: NodeJS.Platform;
|
|
100
|
+
home?: string;
|
|
101
|
+
runner?: CommandRunner;
|
|
102
|
+
}): InstallResult;
|
|
103
|
+
export declare function uninstallService(opts: {
|
|
104
|
+
dataDir: string;
|
|
105
|
+
os?: NodeJS.Platform;
|
|
106
|
+
home?: string;
|
|
107
|
+
runner?: CommandRunner;
|
|
108
|
+
}): {
|
|
109
|
+
status: "removed" | "not-installed";
|
|
110
|
+
unitPath: string;
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Installed / starting / running, kept distinct on purpose.
|
|
114
|
+
*
|
|
115
|
+
* The daemon writes `daemon.pid` when it takes the lock but `daemon.port` only
|
|
116
|
+
* once the HTTP listener is actually up, and on a machine with large indexes
|
|
117
|
+
* that gap is tens of seconds. Collapsing the gap into "running" reports a
|
|
118
|
+
* daemon nothing can connect to yet as healthy, which sends whoever is
|
|
119
|
+
* debugging a client straight past the real answer ("wait, then retry").
|
|
120
|
+
*/
|
|
121
|
+
export declare function serviceStatus(opts: {
|
|
122
|
+
dataDir: string;
|
|
123
|
+
os?: NodeJS.Platform;
|
|
124
|
+
home?: string;
|
|
125
|
+
}): {
|
|
126
|
+
installed: boolean;
|
|
127
|
+
unitPath: string;
|
|
128
|
+
state: "not-installed" | "stopped" | "starting" | "running";
|
|
129
|
+
running: boolean;
|
|
130
|
+
pid: number | null;
|
|
131
|
+
port: number | null;
|
|
132
|
+
};
|
|
133
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/cli/service.ts"],"names":[],"mappings":"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"}
|