symbiote-cli 0.1.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/LICENSE +21 -0
- package/dist/bin/symbiote.d.ts +3 -0
- package/dist/bin/symbiote.d.ts.map +1 -0
- package/dist/bin/symbiote.js +202 -0
- package/dist/bin/symbiote.js.map +1 -0
- package/dist/bin/synapse.d.ts +3 -0
- package/dist/bin/synapse.d.ts.map +1 -0
- package/dist/bin/synapse.js +369 -0
- package/dist/bin/synapse.js.map +1 -0
- package/dist/src/brain/embeddings.d.ts +9 -0
- package/dist/src/brain/embeddings.d.ts.map +1 -0
- package/dist/src/brain/embeddings.js +24 -0
- package/dist/src/brain/embeddings.js.map +1 -0
- package/dist/src/brain/health/constraint-checker.d.ts +16 -0
- package/dist/src/brain/health/constraint-checker.d.ts.map +1 -0
- package/dist/src/brain/health/constraint-checker.js +93 -0
- package/dist/src/brain/health/constraint-checker.js.map +1 -0
- package/dist/src/brain/health/coupling-analyzer.d.ts +9 -0
- package/dist/src/brain/health/coupling-analyzer.d.ts.map +1 -0
- package/dist/src/brain/health/coupling-analyzer.js +105 -0
- package/dist/src/brain/health/coupling-analyzer.js.map +1 -0
- package/dist/src/brain/health/cycle-detector.d.ts +12 -0
- package/dist/src/brain/health/cycle-detector.d.ts.map +1 -0
- package/dist/src/brain/health/cycle-detector.js +79 -0
- package/dist/src/brain/health/cycle-detector.js.map +1 -0
- package/dist/src/brain/health/dead-code-detector.d.ts +9 -0
- package/dist/src/brain/health/dead-code-detector.d.ts.map +1 -0
- package/dist/src/brain/health/dead-code-detector.js +72 -0
- package/dist/src/brain/health/dead-code-detector.js.map +1 -0
- package/dist/src/brain/health/history.d.ts +21 -0
- package/dist/src/brain/health/history.d.ts.map +1 -0
- package/dist/src/brain/health/history.js +35 -0
- package/dist/src/brain/health/history.js.map +1 -0
- package/dist/src/brain/health/index.d.ts +25 -0
- package/dist/src/brain/health/index.d.ts.map +1 -0
- package/dist/src/brain/health/index.js +76 -0
- package/dist/src/brain/health/index.js.map +1 -0
- package/dist/src/brain/health/scorer.d.ts +19 -0
- package/dist/src/brain/health/scorer.d.ts.map +1 -0
- package/dist/src/brain/health/scorer.js +47 -0
- package/dist/src/brain/health/scorer.js.map +1 -0
- package/dist/src/brain/health/types.d.ts +67 -0
- package/dist/src/brain/health/types.d.ts.map +1 -0
- package/dist/src/brain/health/types.js +2 -0
- package/dist/src/brain/health/types.js.map +1 -0
- package/dist/src/brain/health.d.ts +30 -0
- package/dist/src/brain/health.d.ts.map +1 -0
- package/dist/src/brain/health.js +147 -0
- package/dist/src/brain/health.js.map +1 -0
- package/dist/src/brain/index.d.ts +3 -0
- package/dist/src/brain/index.d.ts.map +1 -0
- package/dist/src/brain/index.js +3 -0
- package/dist/src/brain/index.js.map +1 -0
- package/dist/src/brain/intent.d.ts +31 -0
- package/dist/src/brain/intent.d.ts.map +1 -0
- package/dist/src/brain/intent.js +120 -0
- package/dist/src/brain/intent.js.map +1 -0
- package/dist/src/commands/dna.d.ts +2 -0
- package/dist/src/commands/dna.d.ts.map +1 -0
- package/dist/src/commands/dna.js +128 -0
- package/dist/src/commands/dna.js.map +1 -0
- package/dist/src/commands/hooks.d.ts +6 -0
- package/dist/src/commands/hooks.d.ts.map +1 -0
- package/dist/src/commands/hooks.js +210 -0
- package/dist/src/commands/hooks.js.map +1 -0
- package/dist/src/commands/impact.d.ts +2 -0
- package/dist/src/commands/impact.d.ts.map +1 -0
- package/dist/src/commands/impact.js +50 -0
- package/dist/src/commands/impact.js.map +1 -0
- package/dist/src/commands/index.d.ts +9 -0
- package/dist/src/commands/index.d.ts.map +1 -0
- package/dist/src/commands/index.js +9 -0
- package/dist/src/commands/index.js.map +1 -0
- package/dist/src/commands/init.d.ts +2 -0
- package/dist/src/commands/init.d.ts.map +1 -0
- package/dist/src/commands/init.js +132 -0
- package/dist/src/commands/init.js.map +1 -0
- package/dist/src/commands/install.d.ts +2 -0
- package/dist/src/commands/install.d.ts.map +1 -0
- package/dist/src/commands/install.js +67 -0
- package/dist/src/commands/install.js.map +1 -0
- package/dist/src/commands/mcp.d.ts +2 -0
- package/dist/src/commands/mcp.d.ts.map +1 -0
- package/dist/src/commands/mcp.js +51 -0
- package/dist/src/commands/mcp.js.map +1 -0
- package/dist/src/commands/scan.d.ts +2 -0
- package/dist/src/commands/scan.d.ts.map +1 -0
- package/dist/src/commands/scan.js +46 -0
- package/dist/src/commands/scan.js.map +1 -0
- package/dist/src/commands/serve.d.ts +2 -0
- package/dist/src/commands/serve.d.ts.map +1 -0
- package/dist/src/commands/serve.js +93 -0
- package/dist/src/commands/serve.js.map +1 -0
- package/dist/src/commands/shared.d.ts +11 -0
- package/dist/src/commands/shared.d.ts.map +1 -0
- package/dist/src/commands/shared.js +137 -0
- package/dist/src/commands/shared.js.map +1 -0
- package/dist/src/commands/unbond.d.ts +2 -0
- package/dist/src/commands/unbond.d.ts.map +1 -0
- package/dist/src/commands/unbond.js +29 -0
- package/dist/src/commands/unbond.js.map +1 -0
- package/dist/src/core/algorithms.d.ts +19 -0
- package/dist/src/core/algorithms.d.ts.map +1 -0
- package/dist/src/core/algorithms.js +98 -0
- package/dist/src/core/algorithms.js.map +1 -0
- package/dist/src/core/embeddings.d.ts +12 -0
- package/dist/src/core/embeddings.d.ts.map +1 -0
- package/dist/src/core/embeddings.js +64 -0
- package/dist/src/core/embeddings.js.map +1 -0
- package/dist/src/core/git-impact.d.ts +25 -0
- package/dist/src/core/git-impact.d.ts.map +1 -0
- package/dist/src/core/git-impact.js +97 -0
- package/dist/src/core/git-impact.js.map +1 -0
- package/dist/src/core/graph-builder.d.ts +5 -0
- package/dist/src/core/graph-builder.d.ts.map +1 -0
- package/dist/src/core/graph-builder.js +88 -0
- package/dist/src/core/graph-builder.js.map +1 -0
- package/dist/src/core/graph.d.ts +34 -0
- package/dist/src/core/graph.d.ts.map +1 -0
- package/dist/src/core/graph.js +95 -0
- package/dist/src/core/graph.js.map +1 -0
- package/dist/src/core/impact.d.ts +22 -0
- package/dist/src/core/impact.d.ts.map +1 -0
- package/dist/src/core/impact.js +68 -0
- package/dist/src/core/impact.js.map +1 -0
- package/dist/src/core/languages.d.ts +4 -0
- package/dist/src/core/languages.d.ts.map +1 -0
- package/dist/src/core/languages.js +59 -0
- package/dist/src/core/languages.js.map +1 -0
- package/dist/src/core/parser.d.ts +16 -0
- package/dist/src/core/parser.d.ts.map +1 -0
- package/dist/src/core/parser.js +689 -0
- package/dist/src/core/parser.js.map +1 -0
- package/dist/src/core/scanner.d.ts +26 -0
- package/dist/src/core/scanner.d.ts.map +1 -0
- package/dist/src/core/scanner.js +87 -0
- package/dist/src/core/scanner.js.map +1 -0
- package/dist/src/core/search.d.ts +34 -0
- package/dist/src/core/search.d.ts.map +1 -0
- package/dist/src/core/search.js +146 -0
- package/dist/src/core/search.js.map +1 -0
- package/dist/src/core/types.d.ts +29 -0
- package/dist/src/core/types.d.ts.map +1 -0
- package/dist/src/core/types.js +12 -0
- package/dist/src/core/types.js.map +1 -0
- package/dist/src/cortex/engine.d.ts +10 -0
- package/dist/src/cortex/engine.d.ts.map +1 -0
- package/dist/src/cortex/engine.js +93 -0
- package/dist/src/cortex/engine.js.map +1 -0
- package/dist/src/cortex/index.d.ts +13 -0
- package/dist/src/cortex/index.d.ts.map +1 -0
- package/dist/src/cortex/index.js +12 -0
- package/dist/src/cortex/index.js.map +1 -0
- package/dist/src/cortex/patterns.d.ts +63 -0
- package/dist/src/cortex/patterns.d.ts.map +1 -0
- package/dist/src/cortex/patterns.js +242 -0
- package/dist/src/cortex/patterns.js.map +1 -0
- package/dist/src/cortex/pgq-queries.d.ts +11 -0
- package/dist/src/cortex/pgq-queries.d.ts.map +1 -0
- package/dist/src/cortex/pgq-queries.js +23 -0
- package/dist/src/cortex/pgq-queries.js.map +1 -0
- package/dist/src/cortex/pgq.d.ts +5 -0
- package/dist/src/cortex/pgq.d.ts.map +1 -0
- package/dist/src/cortex/pgq.js +54 -0
- package/dist/src/cortex/pgq.js.map +1 -0
- package/dist/src/cortex/real-time-enrichment.d.ts +20 -0
- package/dist/src/cortex/real-time-enrichment.d.ts.map +1 -0
- package/dist/src/cortex/real-time-enrichment.js +96 -0
- package/dist/src/cortex/real-time-enrichment.js.map +1 -0
- package/dist/src/cortex/repository.d.ts +231 -0
- package/dist/src/cortex/repository.d.ts.map +1 -0
- package/dist/src/cortex/repository.js +1078 -0
- package/dist/src/cortex/repository.js.map +1 -0
- package/dist/src/cortex/schema.d.ts +9 -0
- package/dist/src/cortex/schema.d.ts.map +1 -0
- package/dist/src/cortex/schema.js +364 -0
- package/dist/src/cortex/schema.js.map +1 -0
- package/dist/src/cortex/stage-0-structure.d.ts +7 -0
- package/dist/src/cortex/stage-0-structure.d.ts.map +1 -0
- package/dist/src/cortex/stage-0-structure.js +119 -0
- package/dist/src/cortex/stage-0-structure.js.map +1 -0
- package/dist/src/cortex/stage-1-symbols.d.ts +7 -0
- package/dist/src/cortex/stage-1-symbols.d.ts.map +1 -0
- package/dist/src/cortex/stage-1-symbols.js +605 -0
- package/dist/src/cortex/stage-1-symbols.js.map +1 -0
- package/dist/src/cortex/stage-2-resolution.d.ts +7 -0
- package/dist/src/cortex/stage-2-resolution.d.ts.map +1 -0
- package/dist/src/cortex/stage-2-resolution.js +469 -0
- package/dist/src/cortex/stage-2-resolution.js.map +1 -0
- package/dist/src/cortex/stage-3-callgraph.d.ts +7 -0
- package/dist/src/cortex/stage-3-callgraph.d.ts.map +1 -0
- package/dist/src/cortex/stage-3-callgraph.js +323 -0
- package/dist/src/cortex/stage-3-callgraph.js.map +1 -0
- package/dist/src/cortex/stage-4-types.d.ts +7 -0
- package/dist/src/cortex/stage-4-types.d.ts.map +1 -0
- package/dist/src/cortex/stage-4-types.js +462 -0
- package/dist/src/cortex/stage-4-types.js.map +1 -0
- package/dist/src/cortex/stage-5-flow.d.ts +7 -0
- package/dist/src/cortex/stage-5-flow.d.ts.map +1 -0
- package/dist/src/cortex/stage-5-flow.js +702 -0
- package/dist/src/cortex/stage-5-flow.js.map +1 -0
- package/dist/src/cortex/stage-6-topology.d.ts +15 -0
- package/dist/src/cortex/stage-6-topology.d.ts.map +1 -0
- package/dist/src/cortex/stage-6-topology.js +382 -0
- package/dist/src/cortex/stage-6-topology.js.map +1 -0
- package/dist/src/cortex/stage-7-intelligence.d.ts +34 -0
- package/dist/src/cortex/stage-7-intelligence.d.ts.map +1 -0
- package/dist/src/cortex/stage-7-intelligence.js +258 -0
- package/dist/src/cortex/stage-7-intelligence.js.map +1 -0
- package/dist/src/cortex/topology-types.d.ts +78 -0
- package/dist/src/cortex/topology-types.d.ts.map +1 -0
- package/dist/src/cortex/topology-types.js +2 -0
- package/dist/src/cortex/topology-types.js.map +1 -0
- package/dist/src/cortex/types.d.ts +250 -0
- package/dist/src/cortex/types.d.ts.map +1 -0
- package/dist/src/cortex/types.js +2 -0
- package/dist/src/cortex/types.js.map +1 -0
- package/dist/src/dna/embeddings.d.ts +10 -0
- package/dist/src/dna/embeddings.d.ts.map +1 -0
- package/dist/src/dna/embeddings.js +46 -0
- package/dist/src/dna/embeddings.js.map +1 -0
- package/dist/src/dna/engine.d.ts +30 -0
- package/dist/src/dna/engine.d.ts.map +1 -0
- package/dist/src/dna/engine.js +254 -0
- package/dist/src/dna/engine.js.map +1 -0
- package/dist/src/dna/index.d.ts +5 -0
- package/dist/src/dna/index.d.ts.map +1 -0
- package/dist/src/dna/index.js +5 -0
- package/dist/src/dna/index.js.map +1 -0
- package/dist/src/dna/storage.d.ts +19 -0
- package/dist/src/dna/storage.d.ts.map +1 -0
- package/dist/src/dna/storage.js +112 -0
- package/dist/src/dna/storage.js.map +1 -0
- package/dist/src/dna/types.d.ts +38 -0
- package/dist/src/dna/types.d.ts.map +1 -0
- package/dist/src/dna/types.js +114 -0
- package/dist/src/dna/types.js.map +1 -0
- package/dist/src/events/bus.d.ts +10 -0
- package/dist/src/events/bus.d.ts.map +1 -0
- package/dist/src/events/bus.js +36 -0
- package/dist/src/events/bus.js.map +1 -0
- package/dist/src/events/ipc.d.ts +3 -0
- package/dist/src/events/ipc.d.ts.map +1 -0
- package/dist/src/events/ipc.js +25 -0
- package/dist/src/events/ipc.js.map +1 -0
- package/dist/src/events/session.d.ts +21 -0
- package/dist/src/events/session.d.ts.map +1 -0
- package/dist/src/events/session.js +39 -0
- package/dist/src/events/session.js.map +1 -0
- package/dist/src/events/types.d.ts +15 -0
- package/dist/src/events/types.d.ts.map +1 -0
- package/dist/src/events/types.js +26 -0
- package/dist/src/events/types.js.map +1 -0
- package/dist/src/hooks/attention.d.ts +26 -0
- package/dist/src/hooks/attention.d.ts.map +1 -0
- package/dist/src/hooks/attention.js +90 -0
- package/dist/src/hooks/attention.js.map +1 -0
- package/dist/src/hooks/handlers/post-tool-use-failure.d.ts +20 -0
- package/dist/src/hooks/handlers/post-tool-use-failure.d.ts.map +1 -0
- package/dist/src/hooks/handlers/post-tool-use-failure.js +60 -0
- package/dist/src/hooks/handlers/post-tool-use-failure.js.map +1 -0
- package/dist/src/hooks/handlers/post-tool-use.d.ts +22 -0
- package/dist/src/hooks/handlers/post-tool-use.d.ts.map +1 -0
- package/dist/src/hooks/handlers/post-tool-use.js +96 -0
- package/dist/src/hooks/handlers/post-tool-use.js.map +1 -0
- package/dist/src/hooks/handlers/pre-compact.d.ts +17 -0
- package/dist/src/hooks/handlers/pre-compact.d.ts.map +1 -0
- package/dist/src/hooks/handlers/pre-compact.js +28 -0
- package/dist/src/hooks/handlers/pre-compact.js.map +1 -0
- package/dist/src/hooks/handlers/pre-tool-use.d.ts +32 -0
- package/dist/src/hooks/handlers/pre-tool-use.d.ts.map +1 -0
- package/dist/src/hooks/handlers/pre-tool-use.js +219 -0
- package/dist/src/hooks/handlers/pre-tool-use.js.map +1 -0
- package/dist/src/hooks/handlers/session-end.d.ts +18 -0
- package/dist/src/hooks/handlers/session-end.d.ts.map +1 -0
- package/dist/src/hooks/handlers/session-end.js +42 -0
- package/dist/src/hooks/handlers/session-end.js.map +1 -0
- package/dist/src/hooks/handlers/session-start.d.ts +25 -0
- package/dist/src/hooks/handlers/session-start.d.ts.map +1 -0
- package/dist/src/hooks/handlers/session-start.js +61 -0
- package/dist/src/hooks/handlers/session-start.js.map +1 -0
- package/dist/src/hooks/handlers/stop.d.ts +21 -0
- package/dist/src/hooks/handlers/stop.d.ts.map +1 -0
- package/dist/src/hooks/handlers/stop.js +40 -0
- package/dist/src/hooks/handlers/stop.js.map +1 -0
- package/dist/src/hooks/handlers/subagent-start.d.ts +17 -0
- package/dist/src/hooks/handlers/subagent-start.d.ts.map +1 -0
- package/dist/src/hooks/handlers/subagent-start.js +48 -0
- package/dist/src/hooks/handlers/subagent-start.js.map +1 -0
- package/dist/src/hooks/handlers/user-prompt-submit.d.ts +12 -0
- package/dist/src/hooks/handlers/user-prompt-submit.d.ts.map +1 -0
- package/dist/src/hooks/handlers/user-prompt-submit.js +31 -0
- package/dist/src/hooks/handlers/user-prompt-submit.js.map +1 -0
- package/dist/src/hooks/index.d.ts +14 -0
- package/dist/src/hooks/index.d.ts.map +1 -0
- package/dist/src/hooks/index.js +13 -0
- package/dist/src/hooks/index.js.map +1 -0
- package/dist/src/hooks/post-tool-use.d.ts +12 -0
- package/dist/src/hooks/post-tool-use.d.ts.map +1 -0
- package/dist/src/hooks/post-tool-use.js +33 -0
- package/dist/src/hooks/post-tool-use.js.map +1 -0
- package/dist/src/hooks/pre-tool-use.d.ts +24 -0
- package/dist/src/hooks/pre-tool-use.d.ts.map +1 -0
- package/dist/src/hooks/pre-tool-use.js +117 -0
- package/dist/src/hooks/pre-tool-use.js.map +1 -0
- package/dist/src/hooks/session-store.d.ts +55 -0
- package/dist/src/hooks/session-store.d.ts.map +1 -0
- package/dist/src/hooks/session-store.js +69 -0
- package/dist/src/hooks/session-store.js.map +1 -0
- package/dist/src/hooks/types.d.ts +67 -0
- package/dist/src/hooks/types.d.ts.map +1 -0
- package/dist/src/hooks/types.js +28 -0
- package/dist/src/hooks/types.js.map +1 -0
- package/dist/src/index.d.ts +16 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +16 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/init/agent-connector.d.ts +43 -0
- package/dist/src/init/agent-connector.d.ts.map +1 -0
- package/dist/src/init/agent-connector.js +338 -0
- package/dist/src/init/agent-connector.js.map +1 -0
- package/dist/src/init/dna-bootstrap.d.ts +10 -0
- package/dist/src/init/dna-bootstrap.d.ts.map +1 -0
- package/dist/src/init/dna-bootstrap.js +32 -0
- package/dist/src/init/dna-bootstrap.js.map +1 -0
- package/dist/src/init/index.d.ts +29 -0
- package/dist/src/init/index.d.ts.map +1 -0
- package/dist/src/init/index.js +81 -0
- package/dist/src/init/index.js.map +1 -0
- package/dist/src/init/overview-generator.d.ts +5 -0
- package/dist/src/init/overview-generator.d.ts.map +1 -0
- package/dist/src/init/overview-generator.js +85 -0
- package/dist/src/init/overview-generator.js.map +1 -0
- package/dist/src/init/parsers/eslint-config.d.ts +10 -0
- package/dist/src/init/parsers/eslint-config.d.ts.map +1 -0
- package/dist/src/init/parsers/eslint-config.js +50 -0
- package/dist/src/init/parsers/eslint-config.js.map +1 -0
- package/dist/src/init/parsers/markdown-rules.d.ts +3 -0
- package/dist/src/init/parsers/markdown-rules.d.ts.map +1 -0
- package/dist/src/init/parsers/markdown-rules.js +90 -0
- package/dist/src/init/parsers/markdown-rules.js.map +1 -0
- package/dist/src/init/parsers/package-json.d.ts +17 -0
- package/dist/src/init/parsers/package-json.d.ts.map +1 -0
- package/dist/src/init/parsers/package-json.js +75 -0
- package/dist/src/init/parsers/package-json.js.map +1 -0
- package/dist/src/init/parsers/prettier-config.d.ts +16 -0
- package/dist/src/init/parsers/prettier-config.d.ts.map +1 -0
- package/dist/src/init/parsers/prettier-config.js +30 -0
- package/dist/src/init/parsers/prettier-config.js.map +1 -0
- package/dist/src/init/parsers/tsconfig.d.ts +32 -0
- package/dist/src/init/parsers/tsconfig.d.ts.map +1 -0
- package/dist/src/init/parsers/tsconfig.js +64 -0
- package/dist/src/init/parsers/tsconfig.js.map +1 -0
- package/dist/src/init/parsers/types.d.ts +27 -0
- package/dist/src/init/parsers/types.d.ts.map +1 -0
- package/dist/src/init/parsers/types.js +2 -0
- package/dist/src/init/parsers/types.js.map +1 -0
- package/dist/src/init/project-analyzer.d.ts +3 -0
- package/dist/src/init/project-analyzer.d.ts.map +1 -0
- package/dist/src/init/project-analyzer.js +102 -0
- package/dist/src/init/project-analyzer.js.map +1 -0
- package/dist/src/init/rule-importer.d.ts +3 -0
- package/dist/src/init/rule-importer.d.ts.map +1 -0
- package/dist/src/init/rule-importer.js +101 -0
- package/dist/src/init/rule-importer.js.map +1 -0
- package/dist/src/mcp/context.d.ts +43 -0
- package/dist/src/mcp/context.d.ts.map +1 -0
- package/dist/src/mcp/context.js +167 -0
- package/dist/src/mcp/context.js.map +1 -0
- package/dist/src/mcp/http-api.d.ts +10 -0
- package/dist/src/mcp/http-api.d.ts.map +1 -0
- package/dist/src/mcp/http-api.js +580 -0
- package/dist/src/mcp/http-api.js.map +1 -0
- package/dist/src/mcp/index.d.ts +8 -0
- package/dist/src/mcp/index.d.ts.map +1 -0
- package/dist/src/mcp/index.js +8 -0
- package/dist/src/mcp/index.js.map +1 -0
- package/dist/src/mcp/resources.d.ts +5 -0
- package/dist/src/mcp/resources.d.ts.map +1 -0
- package/dist/src/mcp/resources.js +78 -0
- package/dist/src/mcp/resources.js.map +1 -0
- package/dist/src/mcp/server.d.ts +6 -0
- package/dist/src/mcp/server.d.ts.map +1 -0
- package/dist/src/mcp/server.js +265 -0
- package/dist/src/mcp/server.js.map +1 -0
- package/dist/src/mcp/tool-response.d.ts +6 -0
- package/dist/src/mcp/tool-response.d.ts.map +1 -0
- package/dist/src/mcp/tool-response.js +19 -0
- package/dist/src/mcp/tool-response.js.map +1 -0
- package/dist/src/mcp/tools/architecture-tools.d.ts +15 -0
- package/dist/src/mcp/tools/architecture-tools.d.ts.map +1 -0
- package/dist/src/mcp/tools/architecture-tools.js +56 -0
- package/dist/src/mcp/tools/architecture-tools.js.map +1 -0
- package/dist/src/mcp/tools/dna-tools.d.ts +21 -0
- package/dist/src/mcp/tools/dna-tools.d.ts.map +1 -0
- package/dist/src/mcp/tools/dna-tools.js +15 -0
- package/dist/src/mcp/tools/dna-tools.js.map +1 -0
- package/dist/src/mcp/tools/graph-tools.d.ts +49 -0
- package/dist/src/mcp/tools/graph-tools.d.ts.map +1 -0
- package/dist/src/mcp/tools/graph-tools.js +45 -0
- package/dist/src/mcp/tools/graph-tools.js.map +1 -0
- package/dist/src/mcp/tools/health-tools.d.ts +5 -0
- package/dist/src/mcp/tools/health-tools.d.ts.map +1 -0
- package/dist/src/mcp/tools/health-tools.js +7 -0
- package/dist/src/mcp/tools/health-tools.js.map +1 -0
- package/dist/src/mcp/tools/impact-tools.d.ts +21 -0
- package/dist/src/mcp/tools/impact-tools.d.ts.map +1 -0
- package/dist/src/mcp/tools/impact-tools.js +23 -0
- package/dist/src/mcp/tools/impact-tools.js.map +1 -0
- package/dist/src/mcp/tools/intent-tools.d.ts +32 -0
- package/dist/src/mcp/tools/intent-tools.d.ts.map +1 -0
- package/dist/src/mcp/tools/intent-tools.js +77 -0
- package/dist/src/mcp/tools/intent-tools.js.map +1 -0
- package/dist/src/mcp/tools/project-tools.d.ts +53 -0
- package/dist/src/mcp/tools/project-tools.d.ts.map +1 -0
- package/dist/src/mcp/tools/project-tools.js +91 -0
- package/dist/src/mcp/tools/project-tools.js.map +1 -0
- package/dist/src/mcp/tools/rename-tool.d.ts +25 -0
- package/dist/src/mcp/tools/rename-tool.d.ts.map +1 -0
- package/dist/src/mcp/tools/rename-tool.js +106 -0
- package/dist/src/mcp/tools/rename-tool.js.map +1 -0
- package/dist/src/mcp/tools/trace-tools.d.ts +4 -0
- package/dist/src/mcp/tools/trace-tools.d.ts.map +1 -0
- package/dist/src/mcp/tools/trace-tools.js +268 -0
- package/dist/src/mcp/tools/trace-tools.js.map +1 -0
- package/dist/src/storage/db.d.ts +13 -0
- package/dist/src/storage/db.d.ts.map +1 -0
- package/dist/src/storage/db.js +230 -0
- package/dist/src/storage/db.js.map +1 -0
- package/dist/src/storage/repository.d.ts +54 -0
- package/dist/src/storage/repository.d.ts.map +1 -0
- package/dist/src/storage/repository.js +257 -0
- package/dist/src/storage/repository.js.map +1 -0
- package/dist/src/utils/config.d.ts +18 -0
- package/dist/src/utils/config.d.ts.map +1 -0
- package/dist/src/utils/config.js +93 -0
- package/dist/src/utils/config.js.map +1 -0
- package/dist/src/utils/files.d.ts +3 -0
- package/dist/src/utils/files.d.ts.map +1 -0
- package/dist/src/utils/files.js +52 -0
- package/dist/src/utils/files.js.map +1 -0
- package/dist/src/utils/strings.d.ts +2 -0
- package/dist/src/utils/strings.d.ts.map +1 -0
- package/dist/src/utils/strings.js +11 -0
- package/dist/src/utils/strings.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/hooks/post-tool-use.sh +37 -0
- package/hooks/pre-tool-use.sh +43 -0
- package/hooks/session-start.sh +67 -0
- package/package.json +103 -0
- package/skills/symbiote-init/SKILL.md +104 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { executePgqQuery } from '#cortex/pgq-queries.js';
|
|
2
|
+
import { wrapResponse, getMaxDepth } from '../tool-response.js';
|
|
3
|
+
export function isLegacyQueryFormat(input) {
|
|
4
|
+
return 'type' in input && typeof input.type === 'string';
|
|
5
|
+
}
|
|
6
|
+
export async function handleQueryGraphV2(ctx, input) {
|
|
7
|
+
const rows = await executePgqQuery(ctx.db, input.query);
|
|
8
|
+
const depth = await getMaxDepth(ctx.cortexRepo);
|
|
9
|
+
return wrapResponse(rows, depth, false);
|
|
10
|
+
}
|
|
11
|
+
export async function handleGetContextForSymbol(ctx, input) {
|
|
12
|
+
const depth = await getMaxDepth(ctx.cortexRepo);
|
|
13
|
+
const matches = await ctx.cortexRepo.getSymbolByName(input.symbol);
|
|
14
|
+
if (matches.length === 0) {
|
|
15
|
+
const byId = await ctx.cortexRepo.getSymbolById(input.symbol);
|
|
16
|
+
if (!byId) {
|
|
17
|
+
return wrapResponse({ error: `Symbol '${input.symbol}' not found` }, depth, false);
|
|
18
|
+
}
|
|
19
|
+
matches.push(byId);
|
|
20
|
+
}
|
|
21
|
+
const symbol = matches[0];
|
|
22
|
+
const refs = await ctx.cortexRepo.getReferencesForSymbol(symbol.id);
|
|
23
|
+
const callees = await ctx.cortexRepo.getCallsFrom(symbol.id);
|
|
24
|
+
const result = {
|
|
25
|
+
symbol,
|
|
26
|
+
callers: refs.callers.map((c) => ({
|
|
27
|
+
sourceId: c.sourceId,
|
|
28
|
+
line: c.line,
|
|
29
|
+
confidence: c.confidence,
|
|
30
|
+
})),
|
|
31
|
+
callees: callees.map((c) => ({
|
|
32
|
+
targetId: c.targetId,
|
|
33
|
+
line: c.line,
|
|
34
|
+
confidence: c.confidence,
|
|
35
|
+
})),
|
|
36
|
+
importers: refs.importers.map((i) => ({
|
|
37
|
+
sourceId: i.sourceId,
|
|
38
|
+
kind: i.kind,
|
|
39
|
+
})),
|
|
40
|
+
extenders: refs.extenders.map((e) => ({ sourceId: e.sourceId })),
|
|
41
|
+
implementors: refs.implementors.map((i) => ({ sourceId: i.sourceId })),
|
|
42
|
+
};
|
|
43
|
+
return wrapResponse(result, depth, false);
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=graph-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-tools.js","sourceRoot":"","sources":["../../../../src/mcp/tools/graph-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ServerContext } from '../context.js';
|
|
2
|
+
import type { HealthReport } from '#brain/health/index.js';
|
|
3
|
+
import type { ToolResponse } from '#cortex/types.js';
|
|
4
|
+
export declare function handleGetHealth(ctx: ServerContext): Promise<ToolResponse<HealthReport>>;
|
|
5
|
+
//# sourceMappingURL=health-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health-tools.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/health-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,wBAAsB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAI7F"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { wrapResponse, getMaxDepth } from '../tool-response.js';
|
|
2
|
+
export async function handleGetHealth(ctx) {
|
|
3
|
+
const report = await ctx.health.analyze();
|
|
4
|
+
const depth = await getMaxDepth(ctx.cortexRepo);
|
|
5
|
+
return wrapResponse(report, depth, false);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=health-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health-tools.js","sourceRoot":"","sources":["../../../../src/mcp/tools/health-tools.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAkB;IACpD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChD,OAAO,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ImpactAnalyzer } from '#core/impact.js';
|
|
2
|
+
import type { ImpactResult } from '#core/impact.js';
|
|
3
|
+
import type { GitImpactResult } from '#core/git-impact.js';
|
|
4
|
+
import type { GraphInstance } from '#core/types.js';
|
|
5
|
+
import type { CortexRepository } from '#cortex/repository.js';
|
|
6
|
+
import type { ToolResponse } from '#cortex/types.js';
|
|
7
|
+
export interface ImpactToolContext {
|
|
8
|
+
graph: GraphInstance;
|
|
9
|
+
impact: ImpactAnalyzer;
|
|
10
|
+
cortexRepo: CortexRepository;
|
|
11
|
+
}
|
|
12
|
+
export interface GetImpactInput {
|
|
13
|
+
target: string;
|
|
14
|
+
maxDepth?: number;
|
|
15
|
+
}
|
|
16
|
+
export declare function handleGetImpact(ctx: ImpactToolContext, input: GetImpactInput): Promise<ToolResponse<ImpactResult>>;
|
|
17
|
+
export interface DetectChangesInput {
|
|
18
|
+
cwd?: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function handleDetectChanges(ctx: ImpactToolContext, input: DetectChangesInput): Promise<ToolResponse<GitImpactResult>>;
|
|
21
|
+
//# sourceMappingURL=impact-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"impact-tools.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/impact-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,gBAAgB,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,eAAe,CACjC,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,cAAc,GACtB,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAmBrC;AAED,MAAM,WAAW,kBAAkB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,mBAAmB,CACrC,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,kBAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAKxC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { GitImpactAnalyzer } from '#core/git-impact.js';
|
|
2
|
+
import { wrapResponse, getMaxDepth } from '../tool-response.js';
|
|
3
|
+
export async function handleGetImpact(ctx, input) {
|
|
4
|
+
const maxDepth = input.maxDepth ?? 3;
|
|
5
|
+
const depth = await getMaxDepth(ctx.cortexRepo);
|
|
6
|
+
if (!ctx.graph.hasNode(input.target)) {
|
|
7
|
+
return wrapResponse({
|
|
8
|
+
depths: {
|
|
9
|
+
0: [{ node: input.target, depth: 0, path: [input.target], confidence: 1.0 }],
|
|
10
|
+
},
|
|
11
|
+
summary: { totalAffected: 0, criticalPaths: 0, riskLevel: 'LOW' },
|
|
12
|
+
}, depth, false);
|
|
13
|
+
}
|
|
14
|
+
const result = ctx.impact.getBlastRadius(input.target, maxDepth);
|
|
15
|
+
return wrapResponse(result, depth, false);
|
|
16
|
+
}
|
|
17
|
+
export async function handleDetectChanges(ctx, input) {
|
|
18
|
+
const gitImpact = new GitImpactAnalyzer(ctx.graph);
|
|
19
|
+
const result = await gitImpact.analyzeWorkingChanges(input.cwd);
|
|
20
|
+
const depth = await getMaxDepth(ctx.cortexRepo);
|
|
21
|
+
return wrapResponse(result, depth, false);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=impact-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"impact-tools.js","sourceRoot":"","sources":["../../../../src/mcp/tools/impact-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAahE,MAAM,CAAC,KAAK,UAAU,eAAe,CACjC,GAAsB,EACtB,KAAqB;IAErB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEhD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,OAAO,YAAY,CACf;YACI,MAAM,EAAE;gBACJ,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;aAC/E;YACD,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;SACpE,EACD,KAAK,EACL,KAAK,CACR,CAAC;IACN,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjE,OAAO,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,GAAsB,EACtB,KAAyB;IAEzB,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChD,OAAO,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ServerContext } from '../context.js';
|
|
2
|
+
import type { IntentEntry } from '#brain/intent.js';
|
|
3
|
+
export interface GetConstraintsInput {
|
|
4
|
+
scope?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface GetConstraintsOutput {
|
|
7
|
+
constraints: IntentEntry[];
|
|
8
|
+
}
|
|
9
|
+
export declare function handleGetConstraints(ctx: ServerContext, input: GetConstraintsInput): Promise<GetConstraintsOutput>;
|
|
10
|
+
export interface GetDecisionsInput {
|
|
11
|
+
scope?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface GetDecisionsOutput {
|
|
14
|
+
decisions: IntentEntry[];
|
|
15
|
+
}
|
|
16
|
+
export declare function handleGetDecisions(ctx: ServerContext, input: GetDecisionsInput): Promise<GetDecisionsOutput>;
|
|
17
|
+
export interface ProposeDecisionInput {
|
|
18
|
+
id: string;
|
|
19
|
+
content: string;
|
|
20
|
+
scope: string;
|
|
21
|
+
}
|
|
22
|
+
export interface ProposeEntryOutput {
|
|
23
|
+
entry: IntentEntry;
|
|
24
|
+
}
|
|
25
|
+
export declare function handleProposeDecision(ctx: ServerContext, input: ProposeDecisionInput): ProposeEntryOutput;
|
|
26
|
+
export interface ProposeConstraintInput {
|
|
27
|
+
id: string;
|
|
28
|
+
content: string;
|
|
29
|
+
scope: string;
|
|
30
|
+
}
|
|
31
|
+
export declare function handleProposeConstraint(ctx: ServerContext, input: ProposeConstraintInput): ProposeEntryOutput;
|
|
32
|
+
//# sourceMappingURL=intent-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent-tools.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/intent-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAyBpD,MAAM,WAAW,mBAAmB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACjC,WAAW,EAAE,WAAW,EAAE,CAAC;CAC9B;AAED,wBAAsB,oBAAoB,CACtC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,mBAAmB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAe/B;AAED,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,WAAW,EAAE,CAAC;CAC5B;AAED,wBAAsB,kBAAkB,CACpC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAe7B;AAED,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IAC/B,KAAK,EAAE,WAAW,CAAC;CACtB;AAED,wBAAgB,qBAAqB,CACjC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,oBAAoB,GAC5B,kBAAkB,CAkBpB;AAED,MAAM,WAAW,sBAAsB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,uBAAuB,CACnC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,sBAAsB,GAC9B,kBAAkB,CAkBpB"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
const MAX_ID_LENGTH = 200;
|
|
2
|
+
function validateId(id) {
|
|
3
|
+
if (id.length > MAX_ID_LENGTH) {
|
|
4
|
+
throw new Error(`Invalid id: must not exceed ${MAX_ID_LENGTH} characters`);
|
|
5
|
+
}
|
|
6
|
+
if (id.includes('/') || id.includes('\\') || id.includes('..')) {
|
|
7
|
+
throw new Error('Invalid id: must not contain path separators or ".."');
|
|
8
|
+
}
|
|
9
|
+
if (id.includes('\x00') || /[\x00-\x1f]/.test(id)) {
|
|
10
|
+
throw new Error('Invalid id: must not contain null bytes or control characters');
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function validateScope(scope) {
|
|
14
|
+
if (scope.length > MAX_ID_LENGTH) {
|
|
15
|
+
throw new Error(`Invalid scope: must not exceed ${MAX_ID_LENGTH} characters`);
|
|
16
|
+
}
|
|
17
|
+
if (scope.includes('..') || scope.includes('\x00') || /[\x00-\x1f]/.test(scope)) {
|
|
18
|
+
throw new Error('Invalid scope: must not contain ".." or control characters');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export async function handleGetConstraints(ctx, input) {
|
|
22
|
+
const constraints = await ctx.intent.listEntries('constraint');
|
|
23
|
+
if (input.scope) {
|
|
24
|
+
return {
|
|
25
|
+
constraints: constraints.filter((c) => c.frontmatter.scope === 'global' ||
|
|
26
|
+
c.frontmatter.scope === '*' ||
|
|
27
|
+
input.scope.startsWith(c.frontmatter.scope)),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return { constraints };
|
|
31
|
+
}
|
|
32
|
+
export async function handleGetDecisions(ctx, input) {
|
|
33
|
+
const decisions = await ctx.intent.listEntries('decision');
|
|
34
|
+
if (input.scope) {
|
|
35
|
+
return {
|
|
36
|
+
decisions: decisions.filter((d) => d.frontmatter.scope === 'global' ||
|
|
37
|
+
d.frontmatter.scope === '*' ||
|
|
38
|
+
input.scope.startsWith(d.frontmatter.scope)),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
return { decisions };
|
|
42
|
+
}
|
|
43
|
+
export function handleProposeDecision(ctx, input) {
|
|
44
|
+
validateId(input.id);
|
|
45
|
+
validateScope(input.scope);
|
|
46
|
+
const entry = {
|
|
47
|
+
frontmatter: {
|
|
48
|
+
id: input.id,
|
|
49
|
+
type: 'decision',
|
|
50
|
+
scope: input.scope,
|
|
51
|
+
status: 'proposed',
|
|
52
|
+
author: 'ai',
|
|
53
|
+
createdAt: new Date().toISOString().split('T')[0],
|
|
54
|
+
},
|
|
55
|
+
content: input.content,
|
|
56
|
+
};
|
|
57
|
+
ctx.intent.writeEntry(entry);
|
|
58
|
+
return { entry };
|
|
59
|
+
}
|
|
60
|
+
export function handleProposeConstraint(ctx, input) {
|
|
61
|
+
validateId(input.id);
|
|
62
|
+
validateScope(input.scope);
|
|
63
|
+
const entry = {
|
|
64
|
+
frontmatter: {
|
|
65
|
+
id: input.id,
|
|
66
|
+
type: 'constraint',
|
|
67
|
+
scope: input.scope,
|
|
68
|
+
status: 'proposed',
|
|
69
|
+
author: 'ai',
|
|
70
|
+
createdAt: new Date().toISOString().split('T')[0],
|
|
71
|
+
},
|
|
72
|
+
content: input.content,
|
|
73
|
+
};
|
|
74
|
+
ctx.intent.writeEntry(entry);
|
|
75
|
+
return { entry };
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=intent-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent-tools.js","sourceRoot":"","sources":["../../../../src/mcp/tools/intent-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { ServerContext } from '../context.js';
|
|
2
|
+
import type { NodeRecord } from '#storage/repository.js';
|
|
3
|
+
import type { IntentEntry } from '#brain/intent.js';
|
|
4
|
+
import type { ToolResponse } from '#cortex/types.js';
|
|
5
|
+
export interface ProjectOverviewOutput {
|
|
6
|
+
totalNodes: number;
|
|
7
|
+
totalEdges: number;
|
|
8
|
+
totalFiles: number;
|
|
9
|
+
nodesByType: Record<string, number>;
|
|
10
|
+
constraints: IntentEntry[];
|
|
11
|
+
decisions: IntentEntry[];
|
|
12
|
+
}
|
|
13
|
+
export declare function handleGetProjectOverview(ctx: ServerContext): Promise<ToolResponse<ProjectOverviewOutput>>;
|
|
14
|
+
export interface GetContextForFileInput {
|
|
15
|
+
filePath: string;
|
|
16
|
+
}
|
|
17
|
+
export interface FileContextOutput {
|
|
18
|
+
filePath: string;
|
|
19
|
+
nodes: NodeRecord[];
|
|
20
|
+
dependencies: Array<{
|
|
21
|
+
node: NodeRecord;
|
|
22
|
+
type: string;
|
|
23
|
+
}>;
|
|
24
|
+
dependents: Array<{
|
|
25
|
+
node: NodeRecord;
|
|
26
|
+
type: string;
|
|
27
|
+
}>;
|
|
28
|
+
constraints: IntentEntry[];
|
|
29
|
+
decisions: IntentEntry[];
|
|
30
|
+
}
|
|
31
|
+
export declare function handleGetContextForFile(ctx: ServerContext, input: GetContextForFileInput): Promise<ToolResponse<FileContextOutput>>;
|
|
32
|
+
export interface QueryGraphInput {
|
|
33
|
+
query: string;
|
|
34
|
+
type: 'search' | 'dependencies' | 'dependents' | 'hubs';
|
|
35
|
+
limit?: number;
|
|
36
|
+
}
|
|
37
|
+
export interface QueryGraphOutput {
|
|
38
|
+
results: NodeRecord[];
|
|
39
|
+
edgeCounts?: number[];
|
|
40
|
+
}
|
|
41
|
+
export declare function handleQueryGraph(ctx: ServerContext, input: QueryGraphInput): Promise<ToolResponse<QueryGraphOutput>>;
|
|
42
|
+
export interface SemanticSearchInput {
|
|
43
|
+
query: string;
|
|
44
|
+
limit?: number;
|
|
45
|
+
}
|
|
46
|
+
export interface SemanticSearchOutput {
|
|
47
|
+
results: Array<{
|
|
48
|
+
node: NodeRecord | null;
|
|
49
|
+
distance: number;
|
|
50
|
+
}>;
|
|
51
|
+
}
|
|
52
|
+
export declare function handleSemanticSearch(ctx: ServerContext, input: SemanticSearchInput): Promise<ToolResponse<SemanticSearchOutput>>;
|
|
53
|
+
//# sourceMappingURL=project-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-tools.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/project-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,MAAM,WAAW,qBAAqB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,SAAS,EAAE,WAAW,EAAE,CAAC;CAC5B;AAED,wBAAsB,wBAAwB,CAC1C,GAAG,EAAE,aAAa,GACnB,OAAO,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAsB9C;AAED,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,SAAS,EAAE,WAAW,EAAE,CAAC;CAC5B;AAED,wBAAsB,uBAAuB,CACzC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,sBAAsB,GAC9B,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAiC1C;AAED,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,cAAc,GAAG,YAAY,GAAG,MAAM,CAAC;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAsB,gBAAgB,CAClC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,eAAe,GACvB,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAmCzC;AAED,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjE;AAED,wBAAsB,oBAAoB,CACtC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,mBAAmB,GAC3B,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAmC7C"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { wrapResponse, getMaxDepth } from '../tool-response.js';
|
|
2
|
+
export async function handleGetProjectOverview(ctx) {
|
|
3
|
+
const overview = await ctx.graph.getOverview();
|
|
4
|
+
const constraints = await ctx.intent.listEntries('constraint', {
|
|
5
|
+
status: 'active',
|
|
6
|
+
});
|
|
7
|
+
const decisions = await ctx.intent.listEntries('decision', {
|
|
8
|
+
status: 'active',
|
|
9
|
+
});
|
|
10
|
+
const depth = await getMaxDepth(ctx.cortexRepo);
|
|
11
|
+
return wrapResponse({
|
|
12
|
+
totalNodes: overview.totalNodes,
|
|
13
|
+
totalEdges: overview.totalEdges,
|
|
14
|
+
totalFiles: overview.totalFiles,
|
|
15
|
+
nodesByType: overview.nodesByType,
|
|
16
|
+
constraints,
|
|
17
|
+
decisions,
|
|
18
|
+
}, depth, false);
|
|
19
|
+
}
|
|
20
|
+
export async function handleGetContextForFile(ctx, input) {
|
|
21
|
+
const fileCtx = await ctx.graph.getFileContext(input.filePath);
|
|
22
|
+
const allConstraints = await ctx.intent.listEntries('constraint');
|
|
23
|
+
const constraints = allConstraints.filter((c) => c.frontmatter.scope === 'global' || input.filePath.startsWith(c.frontmatter.scope));
|
|
24
|
+
const allDecisions = await ctx.intent.listEntries('decision');
|
|
25
|
+
const decisions = allDecisions.filter((d) => d.frontmatter.scope === 'global' || input.filePath.startsWith(d.frontmatter.scope));
|
|
26
|
+
const depth = await getMaxDepth(ctx.cortexRepo);
|
|
27
|
+
return wrapResponse({
|
|
28
|
+
filePath: input.filePath,
|
|
29
|
+
nodes: fileCtx.nodes,
|
|
30
|
+
dependencies: fileCtx.dependencies.map((d) => ({
|
|
31
|
+
node: d.node,
|
|
32
|
+
type: d.edge.type,
|
|
33
|
+
})),
|
|
34
|
+
dependents: fileCtx.dependents.map((d) => ({
|
|
35
|
+
node: d.node,
|
|
36
|
+
type: d.edge.type,
|
|
37
|
+
})),
|
|
38
|
+
constraints,
|
|
39
|
+
decisions,
|
|
40
|
+
}, depth, false);
|
|
41
|
+
}
|
|
42
|
+
export async function handleQueryGraph(ctx, input) {
|
|
43
|
+
const depth = await getMaxDepth(ctx.cortexRepo);
|
|
44
|
+
switch (input.type) {
|
|
45
|
+
case 'search': {
|
|
46
|
+
const results = await ctx.search.textSearch(input.query);
|
|
47
|
+
return wrapResponse({ results: results.map((r) => r.node) }, depth, false);
|
|
48
|
+
}
|
|
49
|
+
case 'dependencies':
|
|
50
|
+
return wrapResponse({
|
|
51
|
+
results: await ctx.graph.getDependencies(input.query),
|
|
52
|
+
}, depth, false);
|
|
53
|
+
case 'dependents':
|
|
54
|
+
return wrapResponse({
|
|
55
|
+
results: await ctx.graph.getDependents(input.query),
|
|
56
|
+
}, depth, false);
|
|
57
|
+
case 'hubs': {
|
|
58
|
+
const hubs = await ctx.graph.getHubs(input.limit ?? 20);
|
|
59
|
+
return wrapResponse({
|
|
60
|
+
results: hubs.map((h) => h.node),
|
|
61
|
+
edgeCounts: hubs.map((h) => h.edgeCount),
|
|
62
|
+
}, depth, false);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
export async function handleSemanticSearch(ctx, input) {
|
|
67
|
+
const limit = input.limit ?? 10;
|
|
68
|
+
const depth = await getMaxDepth(ctx.cortexRepo);
|
|
69
|
+
try {
|
|
70
|
+
const results = await ctx.search.search(input.query, { limit });
|
|
71
|
+
if (results.length > 0) {
|
|
72
|
+
return wrapResponse({
|
|
73
|
+
results: results.map((r) => ({
|
|
74
|
+
node: r.node,
|
|
75
|
+
distance: 1 - r.score,
|
|
76
|
+
})),
|
|
77
|
+
}, depth, false);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
console.warn('[symbiote] Semantic search failed, falling back to text:', err instanceof Error ? err.message : String(err));
|
|
82
|
+
}
|
|
83
|
+
const textResults = await ctx.search.textSearch(input.query, limit);
|
|
84
|
+
return wrapResponse({
|
|
85
|
+
results: textResults.map((r) => ({
|
|
86
|
+
node: r.node,
|
|
87
|
+
distance: 1 - r.score,
|
|
88
|
+
})),
|
|
89
|
+
}, depth, false);
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=project-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-tools.js","sourceRoot":"","sources":["../../../../src/mcp/tools/project-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { CortexRepository } from '#cortex/repository.js';
|
|
2
|
+
import type { ToolResponse } from '#cortex/types.js';
|
|
3
|
+
export interface RenameToolContext {
|
|
4
|
+
cortexRepo: CortexRepository;
|
|
5
|
+
rootDir: string;
|
|
6
|
+
}
|
|
7
|
+
export interface RenameSymbolInput {
|
|
8
|
+
symbol: string;
|
|
9
|
+
newName: string;
|
|
10
|
+
scope?: 'file' | 'project';
|
|
11
|
+
}
|
|
12
|
+
export interface RenameChange {
|
|
13
|
+
file: string;
|
|
14
|
+
line: number;
|
|
15
|
+
oldText: string;
|
|
16
|
+
newText: string;
|
|
17
|
+
}
|
|
18
|
+
export interface RenameResult {
|
|
19
|
+
changes: RenameChange[];
|
|
20
|
+
}
|
|
21
|
+
export interface RenameError {
|
|
22
|
+
error: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function handleRenameSymbol(ctx: RenameToolContext, input: RenameSymbolInput): Promise<ToolResponse<RenameResult | RenameError>>;
|
|
25
|
+
//# sourceMappingURL=rename-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rename-tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/rename-tool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,MAAM,WAAW,iBAAiB;IAC9B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,kBAAkB,CACpC,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,YAAY,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC,CAqBnD"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
import { wrapResponse, getMaxDepth } from '../tool-response.js';
|
|
4
|
+
export async function handleRenameSymbol(ctx, input) {
|
|
5
|
+
const depth = await getMaxDepth(ctx.cortexRepo);
|
|
6
|
+
const matches = await ctx.cortexRepo.getSymbolByName(input.symbol);
|
|
7
|
+
if (matches.length === 0) {
|
|
8
|
+
const byId = await ctx.cortexRepo.getSymbolById(input.symbol);
|
|
9
|
+
if (!byId) {
|
|
10
|
+
return wrapResponse({ error: `Symbol '${input.symbol}' not found` }, depth, false);
|
|
11
|
+
}
|
|
12
|
+
matches.push(byId);
|
|
13
|
+
}
|
|
14
|
+
const symbol = matches[0];
|
|
15
|
+
const refs = await ctx.cortexRepo.getReferencesForSymbol(symbol.id);
|
|
16
|
+
const changes = [];
|
|
17
|
+
addDefinitionChange(ctx, symbol, input.newName, changes);
|
|
18
|
+
addCallerChanges(ctx, refs.callers, symbol.name, input.newName, changes);
|
|
19
|
+
addImportChanges(ctx, refs.importers, symbol.name, input.newName, changes);
|
|
20
|
+
return wrapResponse({ changes }, depth, false);
|
|
21
|
+
}
|
|
22
|
+
function addDefinitionChange(ctx, symbol, newName, changes) {
|
|
23
|
+
const content = readFileSafe(ctx.rootDir, symbol.filePath);
|
|
24
|
+
if (!content)
|
|
25
|
+
return;
|
|
26
|
+
const lines = content.split('\n');
|
|
27
|
+
const line = lines[symbol.lineStart - 1];
|
|
28
|
+
if (!line)
|
|
29
|
+
return;
|
|
30
|
+
const idx = line.indexOf(symbol.name);
|
|
31
|
+
if (idx === -1)
|
|
32
|
+
return;
|
|
33
|
+
changes.push({
|
|
34
|
+
file: symbol.filePath,
|
|
35
|
+
line: symbol.lineStart,
|
|
36
|
+
oldText: line,
|
|
37
|
+
newText: line.substring(0, idx) + newName + line.substring(idx + symbol.name.length),
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function addCallerChanges(ctx, callers, oldName, newName, changes) {
|
|
41
|
+
for (const caller of callers) {
|
|
42
|
+
if (!caller.line)
|
|
43
|
+
continue;
|
|
44
|
+
const filePath = extractFilePath(caller.sourceId);
|
|
45
|
+
if (!filePath)
|
|
46
|
+
continue;
|
|
47
|
+
const content = readFileSafe(ctx.rootDir, filePath);
|
|
48
|
+
if (!content)
|
|
49
|
+
continue;
|
|
50
|
+
const lines = content.split('\n');
|
|
51
|
+
const lineText = lines[caller.line - 1];
|
|
52
|
+
if (!lineText || !lineText.includes(oldName))
|
|
53
|
+
continue;
|
|
54
|
+
changes.push({
|
|
55
|
+
file: filePath,
|
|
56
|
+
line: caller.line,
|
|
57
|
+
oldText: lineText,
|
|
58
|
+
newText: lineText.replaceAll(oldName, newName),
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
function addImportChanges(ctx, importers, oldName, newName, changes) {
|
|
63
|
+
for (const imp of importers) {
|
|
64
|
+
if (!imp.line)
|
|
65
|
+
continue;
|
|
66
|
+
const importerName = imp.originalName ?? oldName;
|
|
67
|
+
if (importerName !== oldName)
|
|
68
|
+
continue;
|
|
69
|
+
const filePath = extractFilePath(imp.sourceId);
|
|
70
|
+
if (!filePath)
|
|
71
|
+
continue;
|
|
72
|
+
const content = readFileSafe(ctx.rootDir, filePath);
|
|
73
|
+
if (!content)
|
|
74
|
+
continue;
|
|
75
|
+
const lines = content.split('\n');
|
|
76
|
+
const lineText = lines[imp.line - 1];
|
|
77
|
+
if (!lineText || !lineText.includes(oldName))
|
|
78
|
+
continue;
|
|
79
|
+
changes.push({
|
|
80
|
+
file: filePath,
|
|
81
|
+
line: imp.line,
|
|
82
|
+
oldText: lineText,
|
|
83
|
+
newText: lineText.replaceAll(oldName, newName),
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function extractFilePath(nodeId) {
|
|
88
|
+
const prefixes = ['fn:', 'class:', 'method:', 'interface:', 'type:', 'var:', 'file:'];
|
|
89
|
+
for (const prefix of prefixes) {
|
|
90
|
+
if (nodeId.startsWith(prefix)) {
|
|
91
|
+
const rest = nodeId.slice(prefix.length);
|
|
92
|
+
const colonIdx = rest.indexOf(':');
|
|
93
|
+
return colonIdx === -1 ? rest : rest.substring(0, colonIdx);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
function readFileSafe(rootDir, filePath) {
|
|
99
|
+
try {
|
|
100
|
+
return readFileSync(resolve(rootDir, filePath), 'utf-8');
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=rename-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rename-tool.js","sourceRoot":"","sources":["../../../../src/mcp/tools/rename-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import type { CortexRepository } from '#cortex/repository.js';
|
|
3
|
+
export declare function registerTraceTools(server: McpServer, repo: CortexRepository): void;
|
|
4
|
+
//# sourceMappingURL=trace-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-tools.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/trace-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AA2R9D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAgFlF"}
|