codehere 0.1.0 → 0.2.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.
Potentially problematic release.
This version of codehere might be problematic. Click here for more details.
- package/README.md +51 -25
- package/dist/agents/base.d.ts +107 -0
- package/dist/agents/base.d.ts.map +1 -0
- package/dist/agents/base.js +101 -0
- package/dist/agents/base.js.map +1 -0
- package/dist/agents/orchestrator-model-driven.d.ts +41 -0
- package/dist/agents/orchestrator-model-driven.d.ts.map +1 -0
- package/dist/agents/orchestrator-model-driven.js +141 -0
- package/dist/agents/orchestrator-model-driven.js.map +1 -0
- package/dist/agents/react-orchestrator-agent.d.ts +15 -0
- package/dist/agents/react-orchestrator-agent.d.ts.map +1 -0
- package/dist/agents/react-orchestrator-agent.js +54 -0
- package/dist/agents/react-orchestrator-agent.js.map +1 -0
- package/dist/application/agents/execution-agent.d.ts +68 -0
- package/dist/application/agents/execution-agent.d.ts.map +1 -0
- package/dist/application/agents/execution-agent.js +299 -0
- package/dist/application/agents/execution-agent.js.map +1 -0
- package/dist/application/agents/multi-agent-orchestrator.d.ts +64 -0
- package/dist/application/agents/multi-agent-orchestrator.d.ts.map +1 -0
- package/dist/application/agents/multi-agent-orchestrator.js +209 -0
- package/dist/application/agents/multi-agent-orchestrator.js.map +1 -0
- package/dist/application/agents/planning-agent.d.ts +61 -0
- package/dist/application/agents/planning-agent.d.ts.map +1 -0
- package/dist/application/agents/planning-agent.js +357 -0
- package/dist/application/agents/planning-agent.js.map +1 -0
- package/dist/application/agents/validation-agent.d.ts +64 -0
- package/dist/application/agents/validation-agent.d.ts.map +1 -0
- package/dist/application/agents/validation-agent.js +182 -0
- package/dist/application/agents/validation-agent.js.map +1 -0
- package/dist/application/architectures/plan-and-act.d.ts +94 -0
- package/dist/application/architectures/plan-and-act.d.ts.map +1 -0
- package/dist/application/architectures/plan-and-act.js +242 -0
- package/dist/application/architectures/plan-and-act.js.map +1 -0
- package/dist/application/index.d.ts +12 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +12 -0
- package/dist/application/index.js.map +1 -0
- package/dist/application/services/agent-factory.d.ts +9 -0
- package/dist/application/services/agent-factory.d.ts.map +1 -0
- package/dist/application/services/agent-factory.js +28 -0
- package/dist/application/services/agent-factory.js.map +1 -0
- package/dist/application/services/dependency-container.d.ts +140 -0
- package/dist/application/services/dependency-container.d.ts.map +1 -0
- package/dist/application/services/dependency-container.js +402 -0
- package/dist/application/services/dependency-container.js.map +1 -0
- package/dist/application/services/git-context-service.d.ts +30 -0
- package/dist/application/services/git-context-service.d.ts.map +1 -0
- package/dist/application/services/git-context-service.js +83 -0
- package/dist/application/services/git-context-service.js.map +1 -0
- package/dist/application/services/intelligent-router.d.ts +74 -0
- package/dist/application/services/intelligent-router.d.ts.map +1 -0
- package/dist/application/services/intelligent-router.js +711 -0
- package/dist/application/services/intelligent-router.js.map +1 -0
- package/dist/application/services/tool-executor-service.d.ts +14 -0
- package/dist/application/services/tool-executor-service.d.ts.map +1 -0
- package/dist/application/services/tool-executor-service.js +94 -0
- package/dist/application/services/tool-executor-service.js.map +1 -0
- package/dist/application/use-cases/ask-question-use-case.d.ts +36 -0
- package/dist/application/use-cases/ask-question-use-case.d.ts.map +1 -0
- package/dist/application/use-cases/ask-question-use-case.js +150 -0
- package/dist/application/use-cases/ask-question-use-case.js.map +1 -0
- package/dist/application/use-cases/edit-file-use-case.d.ts +76 -0
- package/dist/application/use-cases/edit-file-use-case.d.ts.map +1 -0
- package/dist/application/use-cases/edit-file-use-case.js +685 -0
- package/dist/application/use-cases/edit-file-use-case.js.map +1 -0
- package/dist/application/use-cases/explain-file-use-case.d.ts +21 -0
- package/dist/application/use-cases/explain-file-use-case.d.ts.map +1 -0
- package/dist/application/use-cases/explain-file-use-case.js +50 -0
- package/dist/application/use-cases/explain-file-use-case.js.map +1 -0
- package/dist/application/use-cases/index-codebase-use-case.d.ts +46 -0
- package/dist/application/use-cases/index-codebase-use-case.d.ts.map +1 -0
- package/dist/application/use-cases/index-codebase-use-case.js +113 -0
- package/dist/application/use-cases/index-codebase-use-case.js.map +1 -0
- package/dist/application/use-cases/planning-use-case.d.ts +46 -0
- package/dist/application/use-cases/planning-use-case.d.ts.map +1 -0
- package/dist/application/use-cases/planning-use-case.js +267 -0
- package/dist/application/use-cases/planning-use-case.js.map +1 -0
- package/dist/application/use-cases/react-orchestration-use-case.d.ts +51 -0
- package/dist/application/use-cases/react-orchestration-use-case.d.ts.map +1 -0
- package/dist/application/use-cases/react-orchestration-use-case.js +325 -0
- package/dist/application/use-cases/react-orchestration-use-case.js.map +1 -0
- package/dist/application/use-cases/reflexion-use-case.d.ts +24 -0
- package/dist/application/use-cases/reflexion-use-case.d.ts.map +1 -0
- package/dist/application/use-cases/reflexion-use-case.js +30 -0
- package/dist/application/use-cases/reflexion-use-case.js.map +1 -0
- package/dist/application/workflows/deterministic-workflows.d.ts +61 -0
- package/dist/application/workflows/deterministic-workflows.d.ts.map +1 -0
- package/dist/application/workflows/deterministic-workflows.js +189 -0
- package/dist/application/workflows/deterministic-workflows.js.map +1 -0
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +1 -3
- package/dist/cache.js.map +1 -1
- package/dist/chat.js +10 -10
- package/dist/chat.js.map +1 -1
- package/dist/docs.d.ts.map +1 -1
- package/dist/docs.js +1 -2
- package/dist/docs.js.map +1 -1
- package/dist/domain/entities/code-chunk.d.ts +26 -0
- package/dist/domain/entities/code-chunk.d.ts.map +1 -0
- package/dist/domain/entities/code-chunk.js +6 -0
- package/dist/domain/entities/code-chunk.js.map +1 -0
- package/dist/domain/entities/decision.d.ts +37 -0
- package/dist/domain/entities/decision.d.ts.map +1 -0
- package/dist/domain/entities/decision.js +9 -0
- package/dist/domain/entities/decision.js.map +1 -0
- package/dist/domain/entities/edit.d.ts +35 -0
- package/dist/domain/entities/edit.d.ts.map +1 -0
- package/dist/domain/entities/edit.js +6 -0
- package/dist/domain/entities/edit.js.map +1 -0
- package/dist/domain/entities/knowledge-node.d.ts +83 -0
- package/dist/domain/entities/knowledge-node.d.ts.map +1 -0
- package/dist/domain/entities/knowledge-node.js +9 -0
- package/dist/domain/entities/knowledge-node.js.map +1 -0
- package/dist/domain/entities/knowledge-preservation.d.ts +42 -0
- package/dist/domain/entities/knowledge-preservation.d.ts.map +1 -0
- package/dist/domain/entities/knowledge-preservation.js +10 -0
- package/dist/domain/entities/knowledge-preservation.js.map +1 -0
- package/dist/domain/entities/memory.d.ts +36 -0
- package/dist/domain/entities/memory.d.ts.map +1 -0
- package/dist/domain/entities/memory.js +6 -0
- package/dist/domain/entities/memory.js.map +1 -0
- package/dist/domain/entities/pattern.d.ts +49 -0
- package/dist/domain/entities/pattern.d.ts.map +1 -0
- package/dist/domain/entities/pattern.js +7 -0
- package/dist/domain/entities/pattern.js.map +1 -0
- package/dist/domain/entities/plan.d.ts +42 -0
- package/dist/domain/entities/plan.d.ts.map +1 -0
- package/dist/domain/entities/plan.js +6 -0
- package/dist/domain/entities/plan.js.map +1 -0
- package/dist/domain/entities/query.d.ts +17 -0
- package/dist/domain/entities/query.d.ts.map +1 -0
- package/dist/domain/entities/query.js +6 -0
- package/dist/domain/entities/query.js.map +1 -0
- package/dist/domain/index.d.ts +16 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +19 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/interfaces/ai-service.interface.d.ts +62 -0
- package/dist/domain/interfaces/ai-service.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/ai-service.interface.js +6 -0
- package/dist/domain/interfaces/ai-service.interface.js.map +1 -0
- package/dist/domain/interfaces/code-analyzer.interface.d.ts +38 -0
- package/dist/domain/interfaces/code-analyzer.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/code-analyzer.interface.js +6 -0
- package/dist/domain/interfaces/code-analyzer.interface.js.map +1 -0
- package/dist/domain/interfaces/decision-repository.interface.d.ts +51 -0
- package/dist/domain/interfaces/decision-repository.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/decision-repository.interface.js +9 -0
- package/dist/domain/interfaces/decision-repository.interface.js.map +1 -0
- package/dist/domain/interfaces/embedding-repository.interface.d.ts +28 -0
- package/dist/domain/interfaces/embedding-repository.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/embedding-repository.interface.js +6 -0
- package/dist/domain/interfaces/embedding-repository.interface.js.map +1 -0
- package/dist/domain/interfaces/knowledge-graph-repository.interface.d.ts +91 -0
- package/dist/domain/interfaces/knowledge-graph-repository.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/knowledge-graph-repository.interface.js +9 -0
- package/dist/domain/interfaces/knowledge-graph-repository.interface.js.map +1 -0
- package/dist/domain/interfaces/knowledge-preservation-repository.interface.d.ts +50 -0
- package/dist/domain/interfaces/knowledge-preservation-repository.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/knowledge-preservation-repository.interface.js +8 -0
- package/dist/domain/interfaces/knowledge-preservation-repository.interface.js.map +1 -0
- package/dist/domain/interfaces/memory-repository.interface.d.ts +49 -0
- package/dist/domain/interfaces/memory-repository.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/memory-repository.interface.js +6 -0
- package/dist/domain/interfaces/memory-repository.interface.js.map +1 -0
- package/dist/domain/interfaces/pattern-repository.interface.d.ts +48 -0
- package/dist/domain/interfaces/pattern-repository.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/pattern-repository.interface.js +6 -0
- package/dist/domain/interfaces/pattern-repository.interface.js.map +1 -0
- package/dist/domain/interfaces/verification-service.interface.d.ts +20 -0
- package/dist/domain/interfaces/verification-service.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/verification-service.interface.js +6 -0
- package/dist/domain/interfaces/verification-service.interface.js.map +1 -0
- package/dist/domain/services/codebase-detector.d.ts +18 -0
- package/dist/domain/services/codebase-detector.d.ts.map +1 -0
- package/dist/domain/services/codebase-detector.js +91 -0
- package/dist/domain/services/codebase-detector.js.map +1 -0
- package/dist/domain/services/cross-team-pattern-sharing.d.ts +65 -0
- package/dist/domain/services/cross-team-pattern-sharing.d.ts.map +1 -0
- package/dist/domain/services/cross-team-pattern-sharing.js +125 -0
- package/dist/domain/services/cross-team-pattern-sharing.js.map +1 -0
- package/dist/domain/services/decision-recorder.d.ts +76 -0
- package/dist/domain/services/decision-recorder.d.ts.map +1 -0
- package/dist/domain/services/decision-recorder.js +223 -0
- package/dist/domain/services/decision-recorder.js.map +1 -0
- package/dist/domain/services/decision-retriever.d.ts +75 -0
- package/dist/domain/services/decision-retriever.d.ts.map +1 -0
- package/dist/domain/services/decision-retriever.js +133 -0
- package/dist/domain/services/decision-retriever.js.map +1 -0
- package/dist/domain/services/graded-memory-activation.d.ts +37 -0
- package/dist/domain/services/graded-memory-activation.d.ts.map +1 -0
- package/dist/domain/services/graded-memory-activation.js +69 -0
- package/dist/domain/services/graded-memory-activation.js.map +1 -0
- package/dist/domain/services/knowledge-access.d.ts +63 -0
- package/dist/domain/services/knowledge-access.d.ts.map +1 -0
- package/dist/domain/services/knowledge-access.js +132 -0
- package/dist/domain/services/knowledge-access.js.map +1 -0
- package/dist/domain/services/knowledge-extractor.d.ts +54 -0
- package/dist/domain/services/knowledge-extractor.d.ts.map +1 -0
- package/dist/domain/services/knowledge-extractor.js +247 -0
- package/dist/domain/services/knowledge-extractor.js.map +1 -0
- package/dist/domain/services/knowledge-graph-builder.d.ts +70 -0
- package/dist/domain/services/knowledge-graph-builder.d.ts.map +1 -0
- package/dist/domain/services/knowledge-graph-builder.js +268 -0
- package/dist/domain/services/knowledge-graph-builder.js.map +1 -0
- package/dist/domain/services/knowledge-graph-query.d.ts +69 -0
- package/dist/domain/services/knowledge-graph-query.d.ts.map +1 -0
- package/dist/domain/services/knowledge-graph-query.js +187 -0
- package/dist/domain/services/knowledge-graph-query.js.map +1 -0
- package/dist/domain/services/memory-retriever.d.ts +30 -0
- package/dist/domain/services/memory-retriever.d.ts.map +1 -0
- package/dist/domain/services/memory-retriever.js +82 -0
- package/dist/domain/services/memory-retriever.js.map +1 -0
- package/dist/domain/services/memory-synthesizer.d.ts +57 -0
- package/dist/domain/services/memory-synthesizer.d.ts.map +1 -0
- package/dist/domain/services/memory-synthesizer.js +91 -0
- package/dist/domain/services/memory-synthesizer.js.map +1 -0
- package/dist/domain/services/pattern-extractor.d.ts +108 -0
- package/dist/domain/services/pattern-extractor.d.ts.map +1 -0
- package/dist/domain/services/pattern-extractor.js +442 -0
- package/dist/domain/services/pattern-extractor.js.map +1 -0
- package/dist/domain/services/query-intent-classifier.d.ts +16 -0
- package/dist/domain/services/query-intent-classifier.d.ts.map +1 -0
- package/dist/domain/services/query-intent-classifier.js +140 -0
- package/dist/domain/services/query-intent-classifier.js.map +1 -0
- package/dist/domain/services/react-loop.d.ts +44 -0
- package/dist/domain/services/react-loop.d.ts.map +1 -0
- package/dist/domain/services/react-loop.js +110 -0
- package/dist/domain/services/react-loop.js.map +1 -0
- package/dist/edit.d.ts +0 -12
- package/dist/edit.d.ts.map +1 -1
- package/dist/edit.js +76 -351
- package/dist/edit.js.map +1 -1
- package/dist/embed.d.ts +0 -4
- package/dist/embed.d.ts.map +1 -1
- package/dist/embed.js +100 -174
- package/dist/embed.js.map +1 -1
- package/dist/error-handler.d.ts +1 -0
- package/dist/error-handler.d.ts.map +1 -1
- package/dist/error-handler.js +46 -3
- package/dist/error-handler.js.map +1 -1
- package/dist/index.js +228 -231
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/ai/cohere-ai-service.d.ts +54 -0
- package/dist/infrastructure/ai/cohere-ai-service.d.ts.map +1 -0
- package/dist/infrastructure/ai/cohere-ai-service.js +547 -0
- package/dist/infrastructure/ai/cohere-ai-service.js.map +1 -0
- package/dist/infrastructure/ai/command-r-evaluation.d.ts +42 -0
- package/dist/infrastructure/ai/command-r-evaluation.d.ts.map +1 -0
- package/dist/infrastructure/ai/command-r-evaluation.js +206 -0
- package/dist/infrastructure/ai/command-r-evaluation.js.map +1 -0
- package/dist/infrastructure/ai/model-config.d.ts +47 -0
- package/dist/infrastructure/ai/model-config.d.ts.map +1 -0
- package/dist/infrastructure/ai/model-config.js +84 -0
- package/dist/infrastructure/ai/model-config.js.map +1 -0
- package/dist/infrastructure/cache/embedding-cache.d.ts +46 -0
- package/dist/infrastructure/cache/embedding-cache.d.ts.map +1 -0
- package/dist/infrastructure/cache/embedding-cache.js +104 -0
- package/dist/infrastructure/cache/embedding-cache.js.map +1 -0
- package/dist/infrastructure/chunking/ast-code-chunker.d.ts +12 -0
- package/dist/infrastructure/chunking/ast-code-chunker.d.ts.map +1 -0
- package/dist/infrastructure/chunking/ast-code-chunker.js +19 -0
- package/dist/infrastructure/chunking/ast-code-chunker.js.map +1 -0
- package/dist/infrastructure/chunking/code-aware-chunker.d.ts +63 -0
- package/dist/infrastructure/chunking/code-aware-chunker.d.ts.map +1 -0
- package/dist/infrastructure/chunking/code-aware-chunker.js +397 -0
- package/dist/infrastructure/chunking/code-aware-chunker.js.map +1 -0
- package/dist/infrastructure/config/config-manager.d.ts +79 -0
- package/dist/infrastructure/config/config-manager.d.ts.map +1 -0
- package/dist/infrastructure/config/config-manager.js +162 -0
- package/dist/infrastructure/config/config-manager.js.map +1 -0
- package/dist/infrastructure/cost/cost-tracker.d.ts +90 -0
- package/dist/infrastructure/cost/cost-tracker.d.ts.map +1 -0
- package/dist/infrastructure/cost/cost-tracker.js +353 -0
- package/dist/infrastructure/cost/cost-tracker.js.map +1 -0
- package/dist/infrastructure/file-scanner/file-scanner.d.ts +31 -0
- package/dist/infrastructure/file-scanner/file-scanner.d.ts.map +1 -0
- package/dist/infrastructure/file-scanner/file-scanner.js +106 -0
- package/dist/infrastructure/file-scanner/file-scanner.js.map +1 -0
- package/dist/infrastructure/governance/nist-ai-rmf.d.ts +107 -0
- package/dist/infrastructure/governance/nist-ai-rmf.d.ts.map +1 -0
- package/dist/infrastructure/governance/nist-ai-rmf.js +294 -0
- package/dist/infrastructure/governance/nist-ai-rmf.js.map +1 -0
- package/dist/infrastructure/governance/policy-as-code.d.ts +90 -0
- package/dist/infrastructure/governance/policy-as-code.d.ts.map +1 -0
- package/dist/infrastructure/governance/policy-as-code.js +244 -0
- package/dist/infrastructure/governance/policy-as-code.js.map +1 -0
- package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts +138 -0
- package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts.map +1 -0
- package/dist/infrastructure/governance/prompt-to-code-lineage.js +241 -0
- package/dist/infrastructure/governance/prompt-to-code-lineage.js.map +1 -0
- package/dist/infrastructure/index.d.ts +7 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +7 -0
- package/dist/infrastructure/index.js.map +1 -0
- package/dist/infrastructure/observability/execution-tracer.d.ts +105 -0
- package/dist/infrastructure/observability/execution-tracer.d.ts.map +1 -0
- package/dist/infrastructure/observability/execution-tracer.js +190 -0
- package/dist/infrastructure/observability/execution-tracer.js.map +1 -0
- package/dist/infrastructure/observability/prompt-versioner.d.ts +67 -0
- package/dist/infrastructure/observability/prompt-versioner.d.ts.map +1 -0
- package/dist/infrastructure/observability/prompt-versioner.js +145 -0
- package/dist/infrastructure/observability/prompt-versioner.js.map +1 -0
- package/dist/infrastructure/protocols/a2a-metadata.d.ts +278 -0
- package/dist/infrastructure/protocols/a2a-metadata.d.ts.map +1 -0
- package/dist/infrastructure/protocols/a2a-metadata.js +137 -0
- package/dist/infrastructure/protocols/a2a-metadata.js.map +1 -0
- package/dist/infrastructure/protocols/a2a-protocol.d.ts +132 -0
- package/dist/infrastructure/protocols/a2a-protocol.d.ts.map +1 -0
- package/dist/infrastructure/protocols/a2a-protocol.js +314 -0
- package/dist/infrastructure/protocols/a2a-protocol.js.map +1 -0
- package/dist/infrastructure/protocols/mcp-oauth.d.ts +91 -0
- package/dist/infrastructure/protocols/mcp-oauth.d.ts.map +1 -0
- package/dist/infrastructure/protocols/mcp-oauth.js +184 -0
- package/dist/infrastructure/protocols/mcp-oauth.js.map +1 -0
- package/dist/infrastructure/protocols/mcp-server.d.ts +126 -0
- package/dist/infrastructure/protocols/mcp-server.d.ts.map +1 -0
- package/dist/infrastructure/protocols/mcp-server.js +333 -0
- package/dist/infrastructure/protocols/mcp-server.js.map +1 -0
- package/dist/infrastructure/protocols/streaming-handler.d.ts +57 -0
- package/dist/infrastructure/protocols/streaming-handler.d.ts.map +1 -0
- package/dist/infrastructure/protocols/streaming-handler.js +103 -0
- package/dist/infrastructure/protocols/streaming-handler.js.map +1 -0
- package/dist/infrastructure/security/ai-sast-scanner.d.ts +55 -0
- package/dist/infrastructure/security/ai-sast-scanner.d.ts.map +1 -0
- package/dist/infrastructure/security/ai-sast-scanner.js +163 -0
- package/dist/infrastructure/security/ai-sast-scanner.js.map +1 -0
- package/dist/infrastructure/security/docker-sandbox.d.ts +57 -0
- package/dist/infrastructure/security/docker-sandbox.d.ts.map +1 -0
- package/dist/infrastructure/security/docker-sandbox.js +178 -0
- package/dist/infrastructure/security/docker-sandbox.js.map +1 -0
- package/dist/infrastructure/security/enhanced-security-gate.d.ts +51 -0
- package/dist/infrastructure/security/enhanced-security-gate.d.ts.map +1 -0
- package/dist/infrastructure/security/enhanced-security-gate.js +92 -0
- package/dist/infrastructure/security/enhanced-security-gate.js.map +1 -0
- package/dist/infrastructure/security/input-validator.d.ts +33 -0
- package/dist/infrastructure/security/input-validator.d.ts.map +1 -0
- package/dist/infrastructure/security/input-validator.js +152 -0
- package/dist/infrastructure/security/input-validator.js.map +1 -0
- package/dist/infrastructure/security/license-scanner.d.ts +55 -0
- package/dist/infrastructure/security/license-scanner.d.ts.map +1 -0
- package/dist/infrastructure/security/license-scanner.js +167 -0
- package/dist/infrastructure/security/license-scanner.js.map +1 -0
- package/dist/infrastructure/security/provider-bias-detector.d.ts +53 -0
- package/dist/infrastructure/security/provider-bias-detector.d.ts.map +1 -0
- package/dist/infrastructure/security/provider-bias-detector.js +164 -0
- package/dist/infrastructure/security/provider-bias-detector.js.map +1 -0
- package/dist/infrastructure/security/sandbox-executor.d.ts +34 -0
- package/dist/infrastructure/security/sandbox-executor.d.ts.map +1 -0
- package/dist/infrastructure/security/sandbox-executor.js +64 -0
- package/dist/infrastructure/security/sandbox-executor.js.map +1 -0
- package/dist/infrastructure/storage/memory-stream-service.d.ts +47 -0
- package/dist/infrastructure/storage/memory-stream-service.d.ts.map +1 -0
- package/dist/infrastructure/storage/memory-stream-service.js +204 -0
- package/dist/infrastructure/storage/memory-stream-service.js.map +1 -0
- package/dist/infrastructure/storage/sqlite-decision-repository.d.ts +29 -0
- package/dist/infrastructure/storage/sqlite-decision-repository.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite-decision-repository.js +232 -0
- package/dist/infrastructure/storage/sqlite-decision-repository.js.map +1 -0
- package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +24 -0
- package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite-embedding-repository.js +162 -0
- package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +1 -0
- package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts +41 -0
- package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js +417 -0
- package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js.map +1 -0
- package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts +29 -0
- package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js +230 -0
- package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js.map +1 -0
- package/dist/infrastructure/storage/sqlite-memory-repository.d.ts +40 -0
- package/dist/infrastructure/storage/sqlite-memory-repository.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite-memory-repository.js +229 -0
- package/dist/infrastructure/storage/sqlite-memory-repository.js.map +1 -0
- package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts +25 -0
- package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite-pattern-repository.js +249 -0
- package/dist/infrastructure/storage/sqlite-pattern-repository.js.map +1 -0
- package/dist/infrastructure/ux/appropriate-friction.d.ts +77 -0
- package/dist/infrastructure/ux/appropriate-friction.d.ts.map +1 -0
- package/dist/infrastructure/ux/appropriate-friction.js +213 -0
- package/dist/infrastructure/ux/appropriate-friction.js.map +1 -0
- package/dist/infrastructure/ux/bi-directional-learning.d.ts +109 -0
- package/dist/infrastructure/ux/bi-directional-learning.d.ts.map +1 -0
- package/dist/infrastructure/ux/bi-directional-learning.js +200 -0
- package/dist/infrastructure/ux/bi-directional-learning.js.map +1 -0
- package/dist/infrastructure/ux/expectation-management.d.ts +65 -0
- package/dist/infrastructure/ux/expectation-management.d.ts.map +1 -0
- package/dist/infrastructure/ux/expectation-management.js +193 -0
- package/dist/infrastructure/ux/expectation-management.js.map +1 -0
- package/dist/infrastructure/ux/hitl-validation.d.ts +104 -0
- package/dist/infrastructure/ux/hitl-validation.d.ts.map +1 -0
- package/dist/infrastructure/ux/hitl-validation.js +211 -0
- package/dist/infrastructure/ux/hitl-validation.js.map +1 -0
- package/dist/infrastructure/ux/progressive-disclosure.d.ts +84 -0
- package/dist/infrastructure/ux/progressive-disclosure.d.ts.map +1 -0
- package/dist/infrastructure/ux/progressive-disclosure.js +235 -0
- package/dist/infrastructure/ux/progressive-disclosure.js.map +1 -0
- package/dist/infrastructure/ux/team-standards.d.ts +94 -0
- package/dist/infrastructure/ux/team-standards.d.ts.map +1 -0
- package/dist/infrastructure/ux/team-standards.js +196 -0
- package/dist/infrastructure/ux/team-standards.js.map +1 -0
- package/dist/infrastructure/verification/verification-service.d.ts +12 -0
- package/dist/infrastructure/verification/verification-service.d.ts.map +1 -0
- package/dist/infrastructure/verification/verification-service.js +47 -0
- package/dist/infrastructure/verification/verification-service.js.map +1 -0
- package/dist/infrastructure/xai/attention-visualizer.d.ts +73 -0
- package/dist/infrastructure/xai/attention-visualizer.d.ts.map +1 -0
- package/dist/infrastructure/xai/attention-visualizer.js +174 -0
- package/dist/infrastructure/xai/attention-visualizer.js.map +1 -0
- package/dist/infrastructure/xai/cot-visualizer.d.ts +105 -0
- package/dist/infrastructure/xai/cot-visualizer.d.ts.map +1 -0
- package/dist/infrastructure/xai/cot-visualizer.js +239 -0
- package/dist/infrastructure/xai/cot-visualizer.js.map +1 -0
- package/dist/infrastructure/xai/decision-tree-log.d.ts +104 -0
- package/dist/infrastructure/xai/decision-tree-log.d.ts.map +1 -0
- package/dist/infrastructure/xai/decision-tree-log.js +216 -0
- package/dist/infrastructure/xai/decision-tree-log.js.map +1 -0
- package/dist/infrastructure/xai/interactive-xai.d.ts +106 -0
- package/dist/infrastructure/xai/interactive-xai.d.ts.map +1 -0
- package/dist/infrastructure/xai/interactive-xai.js +262 -0
- package/dist/infrastructure/xai/interactive-xai.js.map +1 -0
- package/dist/infrastructure/xai/uncertainty-quantifier.d.ts +80 -0
- package/dist/infrastructure/xai/uncertainty-quantifier.d.ts.map +1 -0
- package/dist/infrastructure/xai/uncertainty-quantifier.js +201 -0
- package/dist/infrastructure/xai/uncertainty-quantifier.js.map +1 -0
- package/dist/intelligent-retrieval.d.ts.map +1 -1
- package/dist/intelligent-retrieval.js +8 -1
- package/dist/intelligent-retrieval.js.map +1 -1
- package/dist/intent/classifier.d.ts +6 -0
- package/dist/intent/classifier.d.ts.map +1 -0
- package/dist/intent/classifier.js +2 -0
- package/dist/intent/classifier.js.map +1 -0
- package/dist/intent/context.d.ts +4 -0
- package/dist/intent/context.d.ts.map +1 -0
- package/dist/intent/context.js +2 -0
- package/dist/intent/context.js.map +1 -0
- package/dist/iterative-refinement.d.ts.map +1 -1
- package/dist/iterative-refinement.js +20 -3
- package/dist/iterative-refinement.js.map +1 -1
- package/dist/learning.d.ts.map +1 -1
- package/dist/learning.js +1 -2
- package/dist/learning.js.map +1 -1
- package/dist/monitoring.d.ts.map +1 -1
- package/dist/monitoring.js +1 -2
- package/dist/monitoring.js.map +1 -1
- package/dist/parallel-processor.d.ts +3 -2
- package/dist/parallel-processor.d.ts.map +1 -1
- package/dist/parallel-processor.js +183 -56
- package/dist/parallel-processor.js.map +1 -1
- package/dist/presentation/cli/commands/ask-command.d.ts +8 -0
- package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/ask-command.js +133 -0
- package/dist/presentation/cli/commands/ask-command.js.map +1 -0
- package/dist/presentation/cli/commands/config-command.d.ts +9 -0
- package/dist/presentation/cli/commands/config-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/config-command.js +123 -0
- package/dist/presentation/cli/commands/config-command.js.map +1 -0
- package/dist/presentation/cli/commands/cost-command.d.ts +8 -0
- package/dist/presentation/cli/commands/cost-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/cost-command.js +191 -0
- package/dist/presentation/cli/commands/cost-command.js.map +1 -0
- package/dist/presentation/cli/commands/decision-command.d.ts +12 -0
- package/dist/presentation/cli/commands/decision-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/decision-command.js +207 -0
- package/dist/presentation/cli/commands/decision-command.js.map +1 -0
- package/dist/presentation/cli/commands/help-command.d.ts +9 -0
- package/dist/presentation/cli/commands/help-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/help-command.js +281 -0
- package/dist/presentation/cli/commands/help-command.js.map +1 -0
- package/dist/presentation/cli/commands/knowledge-command.d.ts +13 -0
- package/dist/presentation/cli/commands/knowledge-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/knowledge-command.js +129 -0
- package/dist/presentation/cli/commands/knowledge-command.js.map +1 -0
- package/dist/presentation/cli/commands/learning-dashboard-command.d.ts +8 -0
- package/dist/presentation/cli/commands/learning-dashboard-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/learning-dashboard-command.js +183 -0
- package/dist/presentation/cli/commands/learning-dashboard-command.js.map +1 -0
- package/dist/presentation/cli/commands/orchestrate-command.d.ts +8 -0
- package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/orchestrate-command.js +112 -0
- package/dist/presentation/cli/commands/orchestrate-command.js.map +1 -0
- package/dist/presentation/cli/commands/plan-command.d.ts +8 -0
- package/dist/presentation/cli/commands/plan-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/plan-command.js +114 -0
- package/dist/presentation/cli/commands/plan-command.js.map +1 -0
- package/dist/presentation/cli/commands/react-command.d.ts +8 -0
- package/dist/presentation/cli/commands/react-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/react-command.js +99 -0
- package/dist/presentation/cli/commands/react-command.js.map +1 -0
- package/dist/presentation/cli/commands/setup-command.d.ts +10 -0
- package/dist/presentation/cli/commands/setup-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/setup-command.js +231 -0
- package/dist/presentation/cli/commands/setup-command.js.map +1 -0
- package/dist/presentation/cli/commands/smart-command.d.ts +6 -0
- package/dist/presentation/cli/commands/smart-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/smart-command.js +212 -0
- package/dist/presentation/cli/commands/smart-command.js.map +1 -0
- package/dist/presentation/cli/commands/trace-command.d.ts +8 -0
- package/dist/presentation/cli/commands/trace-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/trace-command.js +125 -0
- package/dist/presentation/cli/commands/trace-command.js.map +1 -0
- package/dist/presentation/cli/commands/undo-command.d.ts +8 -0
- package/dist/presentation/cli/commands/undo-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/undo-command.js +141 -0
- package/dist/presentation/cli/commands/undo-command.js.map +1 -0
- package/dist/presentation/cli/error-display.d.ts +23 -0
- package/dist/presentation/cli/error-display.d.ts.map +1 -0
- package/dist/presentation/cli/error-display.js +122 -0
- package/dist/presentation/cli/error-display.js.map +1 -0
- package/dist/refactor.d.ts.map +1 -1
- package/dist/refactor.js +2 -4
- package/dist/refactor.js.map +1 -1
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +2 -63
- package/dist/search.js.map +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +52 -3
- package/dist/session.js.map +1 -1
- package/dist/testgen.d.ts.map +1 -1
- package/dist/testgen.js +1 -2
- package/dist/testgen.js.map +1 -1
- package/dist/tools/bash.d.ts +53 -0
- package/dist/tools/bash.d.ts.map +1 -0
- package/dist/tools/bash.js +213 -0
- package/dist/tools/bash.js.map +1 -0
- package/dist/tools/edit.d.ts +48 -0
- package/dist/tools/edit.d.ts.map +1 -0
- package/dist/tools/edit.js +235 -0
- package/dist/tools/edit.js.map +1 -0
- package/dist/tools/executor.d.ts +29 -0
- package/dist/tools/executor.d.ts.map +1 -0
- package/dist/tools/executor.js +153 -0
- package/dist/tools/executor.js.map +1 -0
- package/dist/tools/git-tool.d.ts +87 -0
- package/dist/tools/git-tool.d.ts.map +1 -0
- package/dist/tools/git-tool.js +292 -0
- package/dist/tools/git-tool.js.map +1 -0
- package/dist/tools/parser.d.ts +33 -0
- package/dist/tools/parser.d.ts.map +1 -0
- package/dist/tools/parser.js +158 -0
- package/dist/tools/parser.js.map +1 -0
- package/dist/tools/registry.d.ts +74 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +302 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/search.d.ts +41 -0
- package/dist/tools/search.d.ts.map +1 -0
- package/dist/tools/search.js +100 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +4 -2
- package/dist/ui.js.map +1 -1
- package/dist/utils/check-api-status.d.ts +12 -0
- package/dist/utils/check-api-status.d.ts.map +1 -0
- package/dist/utils/check-api-status.js +82 -0
- package/dist/utils/check-api-status.js.map +1 -0
- package/dist/utils/diff-parser.d.ts +22 -0
- package/dist/utils/diff-parser.d.ts.map +1 -0
- package/dist/utils/diff-parser.js +160 -0
- package/dist/utils/diff-parser.js.map +1 -0
- package/dist/utils/logger.d.ts +34 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +56 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/version.d.ts +21 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +52 -0
- package/dist/utils/version.js.map +1 -0
- package/dist/verification/backup.d.ts +30 -0
- package/dist/verification/backup.d.ts.map +1 -0
- package/dist/verification/backup.js +238 -0
- package/dist/verification/backup.js.map +1 -0
- package/dist/verification/compiler.d.ts +20 -0
- package/dist/verification/compiler.d.ts.map +1 -0
- package/dist/verification/compiler.js +228 -0
- package/dist/verification/compiler.js.map +1 -0
- package/dist/verification/index.d.ts +59 -0
- package/dist/verification/index.d.ts.map +1 -0
- package/dist/verification/index.js +273 -0
- package/dist/verification/index.js.map +1 -0
- package/dist/verification/test-runner.d.ts +27 -0
- package/dist/verification/test-runner.d.ts.map +1 -0
- package/dist/verification/test-runner.js +379 -0
- package/dist/verification/test-runner.js.map +1 -0
- package/package.json +39 -14
- package/ARCHITECTURE.md +0 -240
- package/CHANGELOG.md +0 -44
- package/CONTRIBUTING.md +0 -171
- package/dist/benchmark.d.ts +0 -39
- package/dist/benchmark.d.ts.map +0 -1
- package/dist/benchmark.js +0 -195
- package/dist/benchmark.js.map +0 -1
- package/dist/scaffold.d.ts +0 -14
- package/dist/scaffold.d.ts.map +0 -1
- package/dist/scaffold.js +0 -85
- package/dist/scaffold.js.map +0 -1
- package/templates/next-page/app/layout.tsx +0 -19
- package/templates/next-page/app/page.tsx +0 -10
- package/templates/next-page/package.json +0 -22
- package/templates/node-api/index.js +0 -57
- package/templates/node-api/package.json +0 -13
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Call Parser
|
|
3
|
+
* Parse tool calls from LLM responses
|
|
4
|
+
* Handles JSON extraction and validation
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Parse tool calls from LLM response
|
|
8
|
+
* Handles various formats:
|
|
9
|
+
* - JSON object: {"tool": "bash", "parameters": {...}}
|
|
10
|
+
* - JSON array: [{"tool": "bash", ...}, ...]
|
|
11
|
+
* - Markdown code blocks: ```json {...} ```
|
|
12
|
+
* - Inline JSON: tool: bash, params: {...}
|
|
13
|
+
*/
|
|
14
|
+
export function parseToolCalls(response) {
|
|
15
|
+
const calls = [];
|
|
16
|
+
// 1. Try to parse the entire response as JSON (Handles Test 1 & 2)
|
|
17
|
+
try {
|
|
18
|
+
const parsed = JSON.parse(response.trim());
|
|
19
|
+
if (Array.isArray(parsed)) {
|
|
20
|
+
parsed.forEach(item => {
|
|
21
|
+
const validated = validateToolCall(item);
|
|
22
|
+
if (validated)
|
|
23
|
+
calls.push(validated);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
const validated = validateToolCall(parsed);
|
|
28
|
+
if (validated)
|
|
29
|
+
calls.push(validated);
|
|
30
|
+
}
|
|
31
|
+
if (calls.length > 0)
|
|
32
|
+
return calls;
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
// Not valid JSON, continue to other methods
|
|
36
|
+
}
|
|
37
|
+
// 2. Try to extract JSON from markdown code blocks (Handles Test 3)
|
|
38
|
+
const codeBlockMatch = response.match(/```(?:json)?\s*(\[[\s\S]*?\]|{[\s\S]*?})\s*```/);
|
|
39
|
+
if (codeBlockMatch) {
|
|
40
|
+
try {
|
|
41
|
+
const parsed = JSON.parse(codeBlockMatch[1]);
|
|
42
|
+
if (Array.isArray(parsed)) {
|
|
43
|
+
parsed.forEach(item => {
|
|
44
|
+
const validated = validateToolCall(item);
|
|
45
|
+
if (validated)
|
|
46
|
+
calls.push(validated);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
const validated = validateToolCall(parsed);
|
|
51
|
+
if (validated)
|
|
52
|
+
calls.push(validated);
|
|
53
|
+
}
|
|
54
|
+
return calls;
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
// Fall through to other parsing methods
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// 3. Try to find JSON object/array in response (Fallback)
|
|
61
|
+
const jsonMatch = response.match(/(\[[\s\S]*?\]|{[\s\S]*?})/);
|
|
62
|
+
if (jsonMatch) {
|
|
63
|
+
try {
|
|
64
|
+
const parsed = JSON.parse(jsonMatch[1]);
|
|
65
|
+
if (Array.isArray(parsed)) {
|
|
66
|
+
parsed.forEach(item => {
|
|
67
|
+
const validated = validateToolCall(item);
|
|
68
|
+
if (validated)
|
|
69
|
+
calls.push(validated);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
const validated = validateToolCall(parsed);
|
|
74
|
+
if (validated)
|
|
75
|
+
calls.push(validated);
|
|
76
|
+
}
|
|
77
|
+
// Only return if we actually found valid tool calls
|
|
78
|
+
if (calls.length > 0)
|
|
79
|
+
return calls;
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
// Fall through to other parsing methods
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// 4. Try to parse structured text format (Handles Test 5 - Error Recovery)
|
|
86
|
+
// Format: tool: name, parameters: {...}
|
|
87
|
+
const textMatch = response.match(/tool:\s*(\w+)[\s\S]*?parameters?:\s*({[\s\S]*?})/i);
|
|
88
|
+
if (textMatch) {
|
|
89
|
+
try {
|
|
90
|
+
const toolName = textMatch[1];
|
|
91
|
+
const paramsStr = textMatch[2];
|
|
92
|
+
const parameters = JSON.parse(paramsStr);
|
|
93
|
+
const call = validateToolCall({ tool: toolName, parameters });
|
|
94
|
+
if (call) {
|
|
95
|
+
calls.push(call);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// Ignore parsing errors
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return calls;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Validate and normalize a tool call
|
|
106
|
+
*/
|
|
107
|
+
function validateToolCall(call) {
|
|
108
|
+
if (!call || typeof call !== 'object') {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
// Check required fields
|
|
112
|
+
if (!call.tool || typeof call.tool !== 'string') {
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
// Normalize parameters
|
|
116
|
+
const parameters = call.parameters || call.params || call.args || {};
|
|
117
|
+
if (typeof parameters !== 'object') {
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
return {
|
|
121
|
+
tool: call.tool.trim().toLowerCase(),
|
|
122
|
+
parameters,
|
|
123
|
+
id: call.id || call.callId || undefined,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Handle partial/malformed responses
|
|
128
|
+
* Attempts to fix common issues
|
|
129
|
+
*/
|
|
130
|
+
export function fixToolCall(response) {
|
|
131
|
+
let fixed = response;
|
|
132
|
+
// Fix common JSON issues
|
|
133
|
+
// 1. Missing quotes around keys
|
|
134
|
+
fixed = fixed.replace(/([{,]\s*)(\w+)(\s*:)/g, '$1"$2"$3');
|
|
135
|
+
// 2. Single quotes instead of double quotes
|
|
136
|
+
fixed = fixed.replace(/'/g, '"');
|
|
137
|
+
// 3. Trailing commas
|
|
138
|
+
fixed = fixed.replace(/,(\s*[}\]])/g, '$1');
|
|
139
|
+
// 4. Comments in JSON
|
|
140
|
+
fixed = fixed.replace(/\/\/.*$/gm, '');
|
|
141
|
+
fixed = fixed.replace(/\/\*[\s\S]*?\*\//g, '');
|
|
142
|
+
return fixed;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Extract tool calls with error recovery
|
|
146
|
+
* Tries multiple parsing strategies
|
|
147
|
+
*/
|
|
148
|
+
export function extractToolCalls(response) {
|
|
149
|
+
// Try normal parsing first
|
|
150
|
+
let calls = parseToolCalls(response);
|
|
151
|
+
// If no calls found, try fixing common issues
|
|
152
|
+
if (calls.length === 0) {
|
|
153
|
+
const fixed = fixToolCall(response);
|
|
154
|
+
calls = parseToolCalls(fixed);
|
|
155
|
+
}
|
|
156
|
+
return calls;
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/tools/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Registry
|
|
3
|
+
* Central registry for all available tools
|
|
4
|
+
* Provides tool lookup and description access
|
|
5
|
+
*/
|
|
6
|
+
export interface Tool {
|
|
7
|
+
/** Unique tool name */
|
|
8
|
+
name: string;
|
|
9
|
+
/** Human-readable description */
|
|
10
|
+
description: string;
|
|
11
|
+
/** Detailed description for the model */
|
|
12
|
+
modelDescription: string;
|
|
13
|
+
/** Function to execute the tool */
|
|
14
|
+
execute: (...args: any[]) => Promise<any>;
|
|
15
|
+
/** Parameter schema (for validation) */
|
|
16
|
+
parameters?: {
|
|
17
|
+
[key: string]: {
|
|
18
|
+
type: string;
|
|
19
|
+
required?: boolean;
|
|
20
|
+
description?: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Tool Registry
|
|
26
|
+
* Singleton registry for all tools
|
|
27
|
+
*/
|
|
28
|
+
export declare class ToolRegistry {
|
|
29
|
+
private tools;
|
|
30
|
+
constructor();
|
|
31
|
+
/**
|
|
32
|
+
* Register all available tools
|
|
33
|
+
*/
|
|
34
|
+
private registerAllTools;
|
|
35
|
+
/**
|
|
36
|
+
* Register a tool
|
|
37
|
+
*/
|
|
38
|
+
register(tool: Tool): void;
|
|
39
|
+
/**
|
|
40
|
+
* Get a tool by name
|
|
41
|
+
*/
|
|
42
|
+
get(name: string): Tool | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Get all tools
|
|
45
|
+
*/
|
|
46
|
+
getAll(): Tool[];
|
|
47
|
+
/**
|
|
48
|
+
* Get all tool names
|
|
49
|
+
*/
|
|
50
|
+
getNames(): string[];
|
|
51
|
+
/**
|
|
52
|
+
* Check if a tool exists
|
|
53
|
+
*/
|
|
54
|
+
has(name: string): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Get tool descriptions for the model
|
|
57
|
+
* Returns formatted string with all tool descriptions
|
|
58
|
+
*/
|
|
59
|
+
getModelDescriptions(): string;
|
|
60
|
+
/**
|
|
61
|
+
* Get tool list summary for the model
|
|
62
|
+
* Returns compact list of available tools
|
|
63
|
+
*/
|
|
64
|
+
getToolList(): string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Get the global tool registry instance
|
|
68
|
+
*/
|
|
69
|
+
export declare function getToolRegistry(): ToolRegistry;
|
|
70
|
+
/**
|
|
71
|
+
* Reset the registry (for testing)
|
|
72
|
+
*/
|
|
73
|
+
export declare function resetToolRegistry(): void;
|
|
74
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,WAAW,IAAI;IACnB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,mCAAmC;IACnC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,wCAAwC;IACxC,UAAU,CAAC,EAAE;QACX,CAAC,GAAG,EAAE,MAAM,GAAG;YACb,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC;KACH,CAAC;CACH;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAgC;;IAM7C;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmOxB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAO1B;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAInC;;OAEG;IACH,MAAM,IAAI,IAAI,EAAE;IAIhB;;OAEG;IACH,QAAQ,IAAI,MAAM,EAAE;IAIpB;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;;OAGG;IACH,oBAAoB,IAAI,MAAM;IAO9B;;;OAGG;IACH,WAAW,IAAI,MAAM;CAMtB;AAKD;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAK9C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Registry
|
|
3
|
+
* Central registry for all available tools
|
|
4
|
+
* Provides tool lookup and description access
|
|
5
|
+
*/
|
|
6
|
+
import { executeBash, BASH_TOOL_DESCRIPTION } from './bash.js';
|
|
7
|
+
import { viewFile, createFile, strReplace, undoEdit, EDIT_TOOL_DESCRIPTION } from './edit.js';
|
|
8
|
+
import { searchCodebase, SEARCH_TOOL_DESCRIPTION } from './search.js';
|
|
9
|
+
import { GitTool, GIT_TOOL_DESCRIPTION } from './git-tool.js';
|
|
10
|
+
/**
|
|
11
|
+
* Tool Registry
|
|
12
|
+
* Singleton registry for all tools
|
|
13
|
+
*/
|
|
14
|
+
export class ToolRegistry {
|
|
15
|
+
tools = new Map();
|
|
16
|
+
constructor() {
|
|
17
|
+
this.registerAllTools();
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Register all available tools
|
|
21
|
+
*/
|
|
22
|
+
registerAllTools() {
|
|
23
|
+
// Bash Tool
|
|
24
|
+
this.register({
|
|
25
|
+
name: 'bash',
|
|
26
|
+
description: 'Execute shell commands safely',
|
|
27
|
+
modelDescription: BASH_TOOL_DESCRIPTION,
|
|
28
|
+
execute: async (command, options) => {
|
|
29
|
+
return await executeBash(command, options);
|
|
30
|
+
},
|
|
31
|
+
parameters: {
|
|
32
|
+
command: {
|
|
33
|
+
type: 'string',
|
|
34
|
+
required: true,
|
|
35
|
+
description: 'Shell command to execute',
|
|
36
|
+
},
|
|
37
|
+
options: {
|
|
38
|
+
type: 'object',
|
|
39
|
+
required: false,
|
|
40
|
+
description: 'Bash options (cwd, timeout, maxOutputSize, env)',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
// Edit Tool - view
|
|
45
|
+
this.register({
|
|
46
|
+
name: 'edit_view',
|
|
47
|
+
description: 'View file content',
|
|
48
|
+
modelDescription: EDIT_TOOL_DESCRIPTION,
|
|
49
|
+
execute: async (filepath, options) => {
|
|
50
|
+
return viewFile(filepath, options);
|
|
51
|
+
},
|
|
52
|
+
parameters: {
|
|
53
|
+
filepath: {
|
|
54
|
+
type: 'string',
|
|
55
|
+
required: true,
|
|
56
|
+
description: 'File path to view',
|
|
57
|
+
},
|
|
58
|
+
options: {
|
|
59
|
+
type: 'object',
|
|
60
|
+
required: false,
|
|
61
|
+
description: 'Edit options (cwd, createIfNotExists)',
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
// Edit Tool - create
|
|
66
|
+
this.register({
|
|
67
|
+
name: 'edit_create',
|
|
68
|
+
description: 'Create a new file',
|
|
69
|
+
modelDescription: EDIT_TOOL_DESCRIPTION,
|
|
70
|
+
execute: async (filepath, content, options) => {
|
|
71
|
+
return createFile(filepath, content, options);
|
|
72
|
+
},
|
|
73
|
+
parameters: {
|
|
74
|
+
filepath: {
|
|
75
|
+
type: 'string',
|
|
76
|
+
required: true,
|
|
77
|
+
description: 'File path to create',
|
|
78
|
+
},
|
|
79
|
+
content: {
|
|
80
|
+
type: 'string',
|
|
81
|
+
required: true,
|
|
82
|
+
description: 'File content',
|
|
83
|
+
},
|
|
84
|
+
options: {
|
|
85
|
+
type: 'object',
|
|
86
|
+
required: false,
|
|
87
|
+
description: 'Edit options (cwd, createIfNotExists)',
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
// Edit Tool - str_replace
|
|
92
|
+
this.register({
|
|
93
|
+
name: 'edit_replace',
|
|
94
|
+
description: 'Replace string in file (exact match required)',
|
|
95
|
+
modelDescription: EDIT_TOOL_DESCRIPTION,
|
|
96
|
+
execute: async (filepath, oldString, newString, options) => {
|
|
97
|
+
return strReplace(filepath, oldString, newString, options);
|
|
98
|
+
},
|
|
99
|
+
parameters: {
|
|
100
|
+
filepath: {
|
|
101
|
+
type: 'string',
|
|
102
|
+
required: true,
|
|
103
|
+
description: 'File path to edit',
|
|
104
|
+
},
|
|
105
|
+
oldString: {
|
|
106
|
+
type: 'string',
|
|
107
|
+
required: true,
|
|
108
|
+
description: 'String to replace (must match exactly)',
|
|
109
|
+
},
|
|
110
|
+
newString: {
|
|
111
|
+
type: 'string',
|
|
112
|
+
required: true,
|
|
113
|
+
description: 'Replacement string',
|
|
114
|
+
},
|
|
115
|
+
options: {
|
|
116
|
+
type: 'object',
|
|
117
|
+
required: false,
|
|
118
|
+
description: 'Edit options (cwd)',
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
});
|
|
122
|
+
// Edit Tool - undo
|
|
123
|
+
this.register({
|
|
124
|
+
name: 'edit_undo',
|
|
125
|
+
description: 'Undo last edit',
|
|
126
|
+
modelDescription: EDIT_TOOL_DESCRIPTION,
|
|
127
|
+
execute: async (filepath, options) => {
|
|
128
|
+
return undoEdit(filepath, options);
|
|
129
|
+
},
|
|
130
|
+
parameters: {
|
|
131
|
+
filepath: {
|
|
132
|
+
type: 'string',
|
|
133
|
+
required: true,
|
|
134
|
+
description: 'File path to undo',
|
|
135
|
+
},
|
|
136
|
+
options: {
|
|
137
|
+
type: 'object',
|
|
138
|
+
required: false,
|
|
139
|
+
description: 'Edit options (cwd)',
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
});
|
|
143
|
+
// Search Tool
|
|
144
|
+
this.register({
|
|
145
|
+
name: 'search',
|
|
146
|
+
description: 'Search codebase using intelligent retrieval',
|
|
147
|
+
modelDescription: SEARCH_TOOL_DESCRIPTION,
|
|
148
|
+
execute: async (query, options) => {
|
|
149
|
+
return await searchCodebase(query, options);
|
|
150
|
+
},
|
|
151
|
+
parameters: {
|
|
152
|
+
query: {
|
|
153
|
+
type: 'string',
|
|
154
|
+
required: true,
|
|
155
|
+
description: 'Search query',
|
|
156
|
+
},
|
|
157
|
+
options: {
|
|
158
|
+
type: 'object',
|
|
159
|
+
required: false,
|
|
160
|
+
description: 'Search options (baseDir, maxResults, fileTypes, minScore)',
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
});
|
|
164
|
+
// Git Tool
|
|
165
|
+
this.register({
|
|
166
|
+
name: 'git',
|
|
167
|
+
description: 'Git version control operations (COMMIT, BRANCH, MERGE, DIFF, LOG)',
|
|
168
|
+
modelDescription: GIT_TOOL_DESCRIPTION,
|
|
169
|
+
execute: async (operation, params) => {
|
|
170
|
+
const gitTool = new GitTool();
|
|
171
|
+
switch (operation.toLowerCase()) {
|
|
172
|
+
case 'commit':
|
|
173
|
+
return await gitTool.commit(params?.message || 'Codehere commit', params?.files);
|
|
174
|
+
case 'branch':
|
|
175
|
+
return await gitTool.branch(params?.branch || 'main', params?.create || false, params?.switchTo || false);
|
|
176
|
+
case 'merge':
|
|
177
|
+
return await gitTool.merge(params?.branch || 'main', params?.strategy || 'merge');
|
|
178
|
+
case 'diff':
|
|
179
|
+
return await gitTool.diff(params?.source, params?.target, params?.filepath);
|
|
180
|
+
case 'log':
|
|
181
|
+
return await gitTool.log(params?.limit || 10, params?.filepath);
|
|
182
|
+
case 'status':
|
|
183
|
+
return await gitTool.status();
|
|
184
|
+
default:
|
|
185
|
+
return {
|
|
186
|
+
success: false,
|
|
187
|
+
output: '',
|
|
188
|
+
error: `Unknown git operation: ${operation}`,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
parameters: {
|
|
193
|
+
operation: {
|
|
194
|
+
type: 'string',
|
|
195
|
+
required: true,
|
|
196
|
+
description: 'Git operation: commit, branch, merge, diff, log, status',
|
|
197
|
+
},
|
|
198
|
+
message: {
|
|
199
|
+
type: 'string',
|
|
200
|
+
required: false,
|
|
201
|
+
description: 'Commit message (for commit operation)',
|
|
202
|
+
},
|
|
203
|
+
branch: {
|
|
204
|
+
type: 'string',
|
|
205
|
+
required: false,
|
|
206
|
+
description: 'Branch name (for branch/merge operations)',
|
|
207
|
+
},
|
|
208
|
+
files: {
|
|
209
|
+
type: 'array',
|
|
210
|
+
required: false,
|
|
211
|
+
description: 'File paths (for commit operation)',
|
|
212
|
+
},
|
|
213
|
+
source: {
|
|
214
|
+
type: 'string',
|
|
215
|
+
required: false,
|
|
216
|
+
description: 'Source commit/branch (for diff operation)',
|
|
217
|
+
},
|
|
218
|
+
target: {
|
|
219
|
+
type: 'string',
|
|
220
|
+
required: false,
|
|
221
|
+
description: 'Target commit/branch (for diff operation)',
|
|
222
|
+
},
|
|
223
|
+
limit: {
|
|
224
|
+
type: 'number',
|
|
225
|
+
required: false,
|
|
226
|
+
description: 'Number of commits to return (for log operation)',
|
|
227
|
+
},
|
|
228
|
+
},
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Register a tool
|
|
233
|
+
*/
|
|
234
|
+
register(tool) {
|
|
235
|
+
if (this.tools.has(tool.name)) {
|
|
236
|
+
throw new Error(`Tool "${tool.name}" is already registered`);
|
|
237
|
+
}
|
|
238
|
+
this.tools.set(tool.name, tool);
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Get a tool by name
|
|
242
|
+
*/
|
|
243
|
+
get(name) {
|
|
244
|
+
return this.tools.get(name);
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Get all tools
|
|
248
|
+
*/
|
|
249
|
+
getAll() {
|
|
250
|
+
return Array.from(this.tools.values());
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Get all tool names
|
|
254
|
+
*/
|
|
255
|
+
getNames() {
|
|
256
|
+
return Array.from(this.tools.keys());
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Check if a tool exists
|
|
260
|
+
*/
|
|
261
|
+
has(name) {
|
|
262
|
+
return this.tools.has(name);
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Get tool descriptions for the model
|
|
266
|
+
* Returns formatted string with all tool descriptions
|
|
267
|
+
*/
|
|
268
|
+
getModelDescriptions() {
|
|
269
|
+
const tools = this.getAll();
|
|
270
|
+
return tools.map(tool => {
|
|
271
|
+
return `## ${tool.name}\n${tool.modelDescription}`;
|
|
272
|
+
}).join('\n\n---\n\n');
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Get tool list summary for the model
|
|
276
|
+
* Returns compact list of available tools
|
|
277
|
+
*/
|
|
278
|
+
getToolList() {
|
|
279
|
+
const tools = this.getAll();
|
|
280
|
+
return tools.map(tool => {
|
|
281
|
+
return `- ${tool.name}: ${tool.description}`;
|
|
282
|
+
}).join('\n');
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
// Singleton instance
|
|
286
|
+
let registryInstance = null;
|
|
287
|
+
/**
|
|
288
|
+
* Get the global tool registry instance
|
|
289
|
+
*/
|
|
290
|
+
export function getToolRegistry() {
|
|
291
|
+
if (!registryInstance) {
|
|
292
|
+
registryInstance = new ToolRegistry();
|
|
293
|
+
}
|
|
294
|
+
return registryInstance;
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Reset the registry (for testing)
|
|
298
|
+
*/
|
|
299
|
+
export function resetToolRegistry() {
|
|
300
|
+
registryInstance = null;
|
|
301
|
+
}
|
|
302
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search Tool
|
|
3
|
+
* Leverages our intelligent retrieval (competitive advantage)
|
|
4
|
+
* Provides semantic codebase search with AST-based context
|
|
5
|
+
*/
|
|
6
|
+
import type { SearchResult } from '../types.js';
|
|
7
|
+
export interface SearchOptions {
|
|
8
|
+
/** Base directory for search (default: current working directory) */
|
|
9
|
+
baseDir?: string;
|
|
10
|
+
/** Maximum number of results (default: 15) */
|
|
11
|
+
maxResults?: number;
|
|
12
|
+
/** File type filters (e.g., ['ts', 'tsx', 'js']) */
|
|
13
|
+
fileTypes?: string[];
|
|
14
|
+
/** Minimum relevance score (0-1, default: 0.3) */
|
|
15
|
+
minScore?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface SearchToolResult {
|
|
18
|
+
/** Whether search succeeded */
|
|
19
|
+
success: boolean;
|
|
20
|
+
/** Search results (code chunks) */
|
|
21
|
+
results: SearchResult[];
|
|
22
|
+
/** Total chunks found */
|
|
23
|
+
totalChunks: number;
|
|
24
|
+
/** Token reduction percentage */
|
|
25
|
+
reductionPercent: number;
|
|
26
|
+
/** Error message if failed */
|
|
27
|
+
error?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Search codebase using intelligent retrieval
|
|
31
|
+
*
|
|
32
|
+
* This is our competitive advantage - uses AST-based context retrieval
|
|
33
|
+
* instead of naive cosine similarity
|
|
34
|
+
*/
|
|
35
|
+
export declare function searchCodebase(query: string, options?: SearchOptions): Promise<SearchToolResult>;
|
|
36
|
+
/**
|
|
37
|
+
* Tool description for the model
|
|
38
|
+
* This highlights our competitive advantage
|
|
39
|
+
*/
|
|
40
|
+
export declare const SEARCH_TOOL_DESCRIPTION = "\nSearch Tool - Intelligent codebase search (Our Competitive Advantage)\n\nDESCRIPTION:\nSearch codebase using intelligent retrieval with AST-based context understanding.\nThis is more powerful than naive cosine similarity - understands code structure.\n\nAVAILABLE OPERATIONS:\n- searchCodebase(query, options): Search codebase with intelligent retrieval\n\nFEATURES (Our Competitive Advantage):\n1. **AST-Based Context**: Understands code structure, not just text similarity\n2. **Caller/Callee Analysis**: Finds related functions automatically\n3. **Type-Aware Search**: Understands TypeScript/JavaScript types\n4. **Token Optimization**: Reduces context size by 80-90% while maintaining relevance\n5. **Intelligent Chunking**: Chunks code semantically, not just by size\n\nSEARCH OPTIONS:\n- baseDir: Base directory (default: current directory)\n- maxResults: Maximum results (default: 15)\n- fileTypes: Filter by file types (e.g., ['ts', 'tsx'])\n- minScore: Minimum relevance score 0-1 (default: 0.3)\n\nRETURNS:\n- results: Array of code chunks with metadata\n- Each chunk includes: filepath, content, score, metadata\n- reductionPercent: Token reduction achieved (typically 80-90%)\n\nEXAMPLES:\n- searchCodebase('How does authentication work?')\n- searchCodebase('Find all API endpoints', { fileTypes: ['ts'] })\n- searchCodebase('Where is user validation?', { maxResults: 10 })\n\nADVANTAGES OVER NAIVE SEARCH:\n1. **Semantic Understanding**: Understands code meaning, not just keywords\n2. **Context-Aware**: Includes related functions, types, imports\n3. **Efficient**: 80-90% token reduction while maintaining accuracy\n4. **Accurate**: AST-based matching is more precise than text similarity\n\nREQUIREMENTS:\n- Codebase must be indexed first (run 'codehere index')\n- Indexing creates embeddings and AST analysis\n- Search uses both embeddings and AST for best results\n";
|
|
41
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAyC3B;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,k2DA2CnC,CAAC"}
|