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,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Application Agent: Planning Agent (Architect)
|
|
3
|
+
* Specialized agent for creating detailed, step-by-step modification plans
|
|
4
|
+
*
|
|
5
|
+
* Based on enterprise architecture: Separate Planning Agent from PlanningUseCase
|
|
6
|
+
* Role: Creates detailed plans before execution
|
|
7
|
+
*/
|
|
8
|
+
import type { IAIService } from '../../domain/interfaces/ai-service.interface.js';
|
|
9
|
+
import type { IMemoryRepository } from '../../domain/interfaces/memory-repository.interface.js';
|
|
10
|
+
import { MemoryStreamService } from '../../infrastructure/storage/memory-stream-service.js';
|
|
11
|
+
import type { Plan } from '../../domain/entities/plan.js';
|
|
12
|
+
import type { Memory } from '../../domain/entities/memory.js';
|
|
13
|
+
import type { DecisionRecorder } from '../../domain/services/decision-recorder.js';
|
|
14
|
+
import type { IPatternRepository } from '../../domain/interfaces/pattern-repository.interface.js';
|
|
15
|
+
import type { KnowledgeAccess } from '../../domain/services/knowledge-access.js';
|
|
16
|
+
export interface PlanningRequest {
|
|
17
|
+
goal: string;
|
|
18
|
+
context?: {
|
|
19
|
+
files?: string[];
|
|
20
|
+
constraints?: string[];
|
|
21
|
+
requirements?: string[];
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export interface PlanningResponse {
|
|
25
|
+
plan: Plan;
|
|
26
|
+
reflections: string[];
|
|
27
|
+
salientQuestions: string[];
|
|
28
|
+
memoriesUsed: Memory[];
|
|
29
|
+
confidence: number;
|
|
30
|
+
}
|
|
31
|
+
export declare class PlanningAgent {
|
|
32
|
+
private aiService;
|
|
33
|
+
private memoryStream;
|
|
34
|
+
private memoryRepository;
|
|
35
|
+
private cwd;
|
|
36
|
+
private decisionRecorder?;
|
|
37
|
+
private patternRepository?;
|
|
38
|
+
private knowledgeAccess?;
|
|
39
|
+
private gitTool;
|
|
40
|
+
constructor(aiService: IAIService, memoryStream: MemoryStreamService, memoryRepository: IMemoryRepository, cwd?: string, decisionRecorder?: DecisionRecorder | undefined, // Optional - only record if provided
|
|
41
|
+
patternRepository?: IPatternRepository | undefined, // Optional - for pattern suggestions
|
|
42
|
+
knowledgeAccess?: KnowledgeAccess | undefined);
|
|
43
|
+
/**
|
|
44
|
+
* Create detailed modification plan
|
|
45
|
+
* This is the architect role - plans before execution
|
|
46
|
+
*/
|
|
47
|
+
createPlan(request: PlanningRequest): Promise<PlanningResponse>;
|
|
48
|
+
/**
|
|
49
|
+
* Gather Git context for planning
|
|
50
|
+
*/
|
|
51
|
+
private gatherGitContext;
|
|
52
|
+
/**
|
|
53
|
+
* Generate detailed hierarchical plan
|
|
54
|
+
*/
|
|
55
|
+
private generateDetailedPlan;
|
|
56
|
+
/**
|
|
57
|
+
* Assess confidence in plan quality
|
|
58
|
+
*/
|
|
59
|
+
private assessPlanConfidence;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=planning-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planning-agent.d.ts","sourceRoot":"","sources":["../../../src/application/agents/planning-agent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAEhG,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAG9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAEnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yDAAyD,CAAC;AAClG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAEjF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,aAAa;IAItB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,gBAAgB,CAAC;IACzB,OAAO,CAAC,iBAAiB,CAAC;IAC1B,OAAO,CAAC,eAAe,CAAC;IAT1B,OAAO,CAAC,OAAO,CAAU;gBAGf,SAAS,EAAE,UAAU,EACrB,YAAY,EAAE,mBAAmB,EACjC,gBAAgB,EAAE,iBAAiB,EACnC,GAAG,GAAE,MAAsB,EAC3B,gBAAgB,CAAC,EAAE,gBAAgB,YAAA,EAAE,qCAAqC;IAC1E,iBAAiB,CAAC,EAAE,kBAAkB,YAAA,EAAE,qCAAqC;IAC7E,eAAe,CAAC,EAAE,eAAe,YAAA;IAK3C;;;OAGG;IACG,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiGrE;;OAEG;YACW,gBAAgB;IA2C9B;;OAEG;YACW,oBAAoB;IA6NlC;;OAEG;YACW,oBAAoB;CASnC"}
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Application Agent: Planning Agent (Architect)
|
|
3
|
+
* Specialized agent for creating detailed, step-by-step modification plans
|
|
4
|
+
*
|
|
5
|
+
* Based on enterprise architecture: Separate Planning Agent from PlanningUseCase
|
|
6
|
+
* Role: Creates detailed plans before execution
|
|
7
|
+
*/
|
|
8
|
+
import { GitTool } from '../../tools/git-tool.js';
|
|
9
|
+
import { findCodebaseRoot } from '../../domain/services/codebase-detector.js';
|
|
10
|
+
export class PlanningAgent {
|
|
11
|
+
aiService;
|
|
12
|
+
memoryStream;
|
|
13
|
+
memoryRepository;
|
|
14
|
+
cwd;
|
|
15
|
+
decisionRecorder;
|
|
16
|
+
patternRepository;
|
|
17
|
+
knowledgeAccess;
|
|
18
|
+
gitTool;
|
|
19
|
+
constructor(aiService, memoryStream, memoryRepository, cwd = process.cwd(), decisionRecorder, // Optional - only record if provided
|
|
20
|
+
patternRepository, // Optional - for pattern suggestions
|
|
21
|
+
knowledgeAccess // Optional - for knowledge retrieval
|
|
22
|
+
) {
|
|
23
|
+
this.aiService = aiService;
|
|
24
|
+
this.memoryStream = memoryStream;
|
|
25
|
+
this.memoryRepository = memoryRepository;
|
|
26
|
+
this.cwd = cwd;
|
|
27
|
+
this.decisionRecorder = decisionRecorder;
|
|
28
|
+
this.patternRepository = patternRepository;
|
|
29
|
+
this.knowledgeAccess = knowledgeAccess;
|
|
30
|
+
this.gitTool = new GitTool(cwd);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Create detailed modification plan
|
|
34
|
+
* This is the architect role - plans before execution
|
|
35
|
+
*/
|
|
36
|
+
async createPlan(request) {
|
|
37
|
+
// Input validation - fail fast
|
|
38
|
+
if (!request.goal || request.goal.trim().length === 0) {
|
|
39
|
+
throw new Error('Goal cannot be empty');
|
|
40
|
+
}
|
|
41
|
+
// 1. Detect codebase context (for codebase-aware operations)
|
|
42
|
+
const codebaseInfo = findCodebaseRoot(this.cwd);
|
|
43
|
+
const codebaseId = codebaseInfo?.codebaseId;
|
|
44
|
+
const codebasePath = codebaseInfo?.rootPath;
|
|
45
|
+
// 2. Gather context: Git state, memories (filtered by codebase if available)
|
|
46
|
+
const gitContext = await this.gatherGitContext();
|
|
47
|
+
let recentMemories;
|
|
48
|
+
let relevantMemories;
|
|
49
|
+
if (codebaseId) {
|
|
50
|
+
// Use codebase-aware memory retrieval
|
|
51
|
+
recentMemories = await this.memoryRepository.findRecentByCodebase(codebaseId, 100);
|
|
52
|
+
relevantMemories = await this.memoryStream.retrieveByCodebase(request.goal, codebaseId, 50);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
// Fallback to global memory retrieval (backward compatibility)
|
|
56
|
+
recentMemories = await this.memoryRepository.findRecent(100);
|
|
57
|
+
relevantMemories = await this.memoryStream.retrieve(request.goal, 50);
|
|
58
|
+
}
|
|
59
|
+
// 2. Synthesize memories into reflections
|
|
60
|
+
// Skip synthesis if no memories - fail fast
|
|
61
|
+
const reflections = [];
|
|
62
|
+
const salientQuestions = [];
|
|
63
|
+
if (recentMemories.length > 0) {
|
|
64
|
+
// Only synthesize if we have meaningful memories (skip for speed)
|
|
65
|
+
// For now, use memory descriptions directly as reflections
|
|
66
|
+
// Full synthesis can be done asynchronously if needed
|
|
67
|
+
reflections.push(...recentMemories.slice(0, 5).map(m => m.description));
|
|
68
|
+
}
|
|
69
|
+
// 3. Retrieve relevant patterns for plan generation (if pattern repository available)
|
|
70
|
+
let relevantPatterns = [];
|
|
71
|
+
if (this.patternRepository && codebaseId) {
|
|
72
|
+
try {
|
|
73
|
+
relevantPatterns = await this.patternRepository.search(codebaseId, request.goal, 5);
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
// Non-critical - pattern retrieval shouldn't fail planning
|
|
77
|
+
console.warn('Pattern retrieval failed (non-critical):', error);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// 4. Generate hierarchical plan with detailed steps (including Git context and patterns)
|
|
81
|
+
const plan = await this.generateDetailedPlan(request.goal, reflections, relevantMemories, request.context, gitContext, relevantPatterns);
|
|
82
|
+
// 5. Assess plan confidence
|
|
83
|
+
const confidence = await this.assessPlanConfidence(plan, relevantMemories);
|
|
84
|
+
// 6. Store plan in memory (with codebase context)
|
|
85
|
+
await this.memoryStream.recordPlan(`Planning Agent created plan for: "${request.goal}"`, plan, codebaseId, codebasePath);
|
|
86
|
+
// 7. Extract and record decisions from planning context (if decision recorder available)
|
|
87
|
+
if (this.decisionRecorder && codebaseId) {
|
|
88
|
+
try {
|
|
89
|
+
await this.decisionRecorder.extractDecisionFromPlanning({
|
|
90
|
+
goal: request.goal,
|
|
91
|
+
plan,
|
|
92
|
+
constraints: request.context?.constraints,
|
|
93
|
+
}, codebaseId, this.aiService);
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
// Don't fail planning if decision recording fails
|
|
97
|
+
console.warn('Decision recording failed (non-critical):', error);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return {
|
|
101
|
+
plan,
|
|
102
|
+
reflections,
|
|
103
|
+
salientQuestions,
|
|
104
|
+
memoriesUsed: relevantMemories,
|
|
105
|
+
confidence,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Gather Git context for planning
|
|
110
|
+
*/
|
|
111
|
+
async gatherGitContext() {
|
|
112
|
+
try {
|
|
113
|
+
const status = await this.gitTool.status();
|
|
114
|
+
// status returns: { branch, modified, staged, untracked }
|
|
115
|
+
const currentBranch = status.branch;
|
|
116
|
+
const uncommittedFiles = [
|
|
117
|
+
...status.modified,
|
|
118
|
+
...status.staged,
|
|
119
|
+
...status.untracked,
|
|
120
|
+
];
|
|
121
|
+
const hasUncommittedChanges = uncommittedFiles.length > 0;
|
|
122
|
+
// Get recent commits (last 5)
|
|
123
|
+
const log = await this.gitTool.log(5);
|
|
124
|
+
const recentCommits = [];
|
|
125
|
+
if (Array.isArray(log)) {
|
|
126
|
+
for (const commit of log.slice(0, 5)) {
|
|
127
|
+
recentCommits.push(commit.hash.substring(0, 12)); // Short hash
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return {
|
|
131
|
+
currentBranch,
|
|
132
|
+
hasUncommittedChanges,
|
|
133
|
+
uncommittedFiles,
|
|
134
|
+
recentCommits,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
// Git not available or not a git repo
|
|
139
|
+
return {
|
|
140
|
+
hasUncommittedChanges: false,
|
|
141
|
+
uncommittedFiles: [],
|
|
142
|
+
recentCommits: [],
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Generate detailed hierarchical plan
|
|
148
|
+
*/
|
|
149
|
+
async generateDetailedPlan(goal, reflections, memories, context, gitContext, relevantPatterns = [], relevantKnowledge = []) {
|
|
150
|
+
const memoryContext = memories.map(m => `- ${m.description} (Type: ${m.type})`).join('\n');
|
|
151
|
+
const reflectionContext = reflections.map(r => `- ${r}`).join('\n');
|
|
152
|
+
const fileContext = context?.files ? `\n\nFiles to modify: ${context.files.join(', ')}` : '';
|
|
153
|
+
const constraintsContext = context?.constraints
|
|
154
|
+
? `\n\nConstraints: ${context.constraints.join(', ')}`
|
|
155
|
+
: '';
|
|
156
|
+
// Git context
|
|
157
|
+
let gitContextText = '';
|
|
158
|
+
if (gitContext) {
|
|
159
|
+
gitContextText = `\n\nGit Context:`;
|
|
160
|
+
if (gitContext.currentBranch) {
|
|
161
|
+
gitContextText += `\n- Current branch: ${gitContext.currentBranch}`;
|
|
162
|
+
}
|
|
163
|
+
if (gitContext.hasUncommittedChanges) {
|
|
164
|
+
gitContextText += `\n- Uncommitted changes in: ${gitContext.uncommittedFiles.slice(0, 5).join(', ')}${gitContext.uncommittedFiles.length > 5 ? '...' : ''}`;
|
|
165
|
+
gitContextText += `\n⚠️ WARNING: There are uncommitted changes. Consider committing or stashing before making modifications.`;
|
|
166
|
+
}
|
|
167
|
+
if (gitContext.recentCommits.length > 0) {
|
|
168
|
+
gitContextText += `\n- Recent commits: ${gitContext.recentCommits.join(', ')}`;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
// Detect if this is a multi-file operation
|
|
172
|
+
const isMultiFile = /(refactor|migrate|update|implement|create|add|introduce).*(system|codebase|all|multiple|several|across|architecture|pattern|components|layer|abstraction)/i.test(goal);
|
|
173
|
+
// Detect if this requires file/directory creation (architecture patterns, new layers, etc.)
|
|
174
|
+
const requiresFileCreation = /(add|create|introduce).*(repository|service|controller|middleware|pattern|layer|abstraction|directory|folder|file)/i.test(goal) ||
|
|
175
|
+
/(repository|service|controller|middleware)\s+(pattern|layer)/i.test(goal);
|
|
176
|
+
const multiFileGuidance = isMultiFile ? `
|
|
177
|
+
|
|
178
|
+
**IMPORTANT - MULTI-FILE OPERATION DETECTED:**
|
|
179
|
+
This goal requires changes across multiple files. Your plan MUST:
|
|
180
|
+
1. Create separate sub-plans for EACH file that needs modification or creation
|
|
181
|
+
2. Include sub-plans to search and identify ALL files that need changes
|
|
182
|
+
3. Specify the exact filepath in each sub-plan description (e.g., "Edit src/auth/auth-service.ts to add JWT" or "Create src/repositories/user-repository.ts")
|
|
183
|
+
4. Ensure dependencies are set correctly (search → edit file 1 → edit file 2)
|
|
184
|
+
5. For file creation, use type "implement" and include the full filepath in the description
|
|
185
|
+
6. Coordinate changes across files to ensure consistency
|
|
186
|
+
${requiresFileCreation ? `
|
|
187
|
+
|
|
188
|
+
**FILE CREATION REQUIRED:**
|
|
189
|
+
This operation requires creating new files/directories. For each new file:
|
|
190
|
+
- Use type "implement" in the sub-plan
|
|
191
|
+
- Include the full directory path in the description (e.g., "Create src/repositories/user-repository.ts")
|
|
192
|
+
- Ensure parent directories are created as needed
|
|
193
|
+
- For patterns like "repository pattern", create:
|
|
194
|
+
* Interface files (e.g., "src/repositories/interfaces/user-repository.interface.ts")
|
|
195
|
+
* Implementation files (e.g., "src/repositories/user-repository.ts")
|
|
196
|
+
* Update existing files to use the new pattern
|
|
197
|
+
` : ''}
|
|
198
|
+
|
|
199
|
+
Example multi-file plan structure:
|
|
200
|
+
- Sub-plan 1: "Search codebase for authentication-related files"
|
|
201
|
+
- Sub-plan 2: "Edit src/auth/auth-service.ts to implement JWT token generation"
|
|
202
|
+
- Sub-plan 3: "Edit src/auth/middleware.ts to add JWT validation middleware"
|
|
203
|
+
- Sub-plan 4: "Update src/config/auth-config.ts to include JWT settings"
|
|
204
|
+
${requiresFileCreation ? `
|
|
205
|
+
Example file creation plan structure:
|
|
206
|
+
- Sub-plan 1: "Search codebase for data access patterns"
|
|
207
|
+
- Sub-plan 2: "Create src/repositories/interfaces/user-repository.interface.ts with IUserRepository interface"
|
|
208
|
+
- Sub-plan 3: "Create src/repositories/user-repository.ts implementing IUserRepository"
|
|
209
|
+
- Sub-plan 4: "Update src/services/user-service.ts to use UserRepository instead of direct data access"
|
|
210
|
+
` : ''}
|
|
211
|
+
` : '';
|
|
212
|
+
const prompt = `You are a Planning Agent (Architect) for an AI coding system. Your role is to create detailed, step-by-step modification plans.
|
|
213
|
+
|
|
214
|
+
Goal: "${goal}"${fileContext}${constraintsContext}${gitContextText}${multiFileGuidance}
|
|
215
|
+
|
|
216
|
+
Consider:
|
|
217
|
+
- **Relevant Past Experiences/Memories**:
|
|
218
|
+
${memoryContext || 'No relevant past experiences.'}
|
|
219
|
+
- **Synthesized Reflections/Insights**:
|
|
220
|
+
${reflectionContext || 'No specific reflections.'}
|
|
221
|
+
${relevantPatterns.length > 0 ? `
|
|
222
|
+
- **Relevant Patterns from Codebase**:
|
|
223
|
+
${relevantPatterns.map(p => ` - ${p.name}: ${p.description}${p.codeExample ? `\n Example: ${p.codeExample.substring(0, 200)}...` : ''}`).join('\n')}
|
|
224
|
+
|
|
225
|
+
**IMPORTANT**: Consider reusing or following these existing patterns from the codebase when creating your plan.
|
|
226
|
+
` : ''}
|
|
227
|
+
|
|
228
|
+
Create a detailed plan with:
|
|
229
|
+
1. Clear sub-plans with specific actions
|
|
230
|
+
2. Dependencies between sub-plans
|
|
231
|
+
3. Estimated complexity for each sub-plan
|
|
232
|
+
4. Required tools/resources for each step
|
|
233
|
+
|
|
234
|
+
For each sub-plan, specify:
|
|
235
|
+
- \`id\`: Unique identifier (e.g., "subplan_1")
|
|
236
|
+
- \`description\`: Clear, actionable description WITH filepath if applicable (e.g., "Edit src/auth/auth-service.ts to add JWT")
|
|
237
|
+
- \`type\`: Action type (search, edit, refactor, review, analyze, implement, test, debug)
|
|
238
|
+
- \`dependencies\`: Array of sub-plan IDs that must complete first
|
|
239
|
+
- \`status\`: Always "pending" initially
|
|
240
|
+
- \`estimatedComplexity\`: "low" | "medium" | "high"
|
|
241
|
+
- \`requiredTools\`: Array of tool names needed (e.g., ["search", "edit"])
|
|
242
|
+
|
|
243
|
+
${isMultiFile ? '**For multi-file operations, create one sub-plan per file, each with explicit filepath in description.**' : ''}
|
|
244
|
+
|
|
245
|
+
Respond with ONLY a JSON array of sub-plan objects.
|
|
246
|
+
|
|
247
|
+
Example:
|
|
248
|
+
[
|
|
249
|
+
{
|
|
250
|
+
"id": "subplan_1",
|
|
251
|
+
"description": "Search codebase for existing authentication patterns",
|
|
252
|
+
"type": "search",
|
|
253
|
+
"dependencies": [],
|
|
254
|
+
"status": "pending",
|
|
255
|
+
"estimatedComplexity": "low",
|
|
256
|
+
"requiredTools": ["search"]
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"id": "subplan_2",
|
|
260
|
+
"description": "Implement JWT token generation in src/auth/jwt.ts",
|
|
261
|
+
"type": "implement",
|
|
262
|
+
"dependencies": ["subplan_1"],
|
|
263
|
+
"status": "pending",
|
|
264
|
+
"estimatedComplexity": "high",
|
|
265
|
+
"requiredTools": ["edit", "bash"]
|
|
266
|
+
}
|
|
267
|
+
]
|
|
268
|
+
|
|
269
|
+
JSON only, no other text:`;
|
|
270
|
+
let response;
|
|
271
|
+
try {
|
|
272
|
+
// Add timeout protection for planning calls (60 seconds max)
|
|
273
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
274
|
+
setTimeout(() => reject(new Error('Planning API call timed out after 60 seconds')), 60000);
|
|
275
|
+
});
|
|
276
|
+
response = await Promise.race([
|
|
277
|
+
this.aiService.chat(prompt, []),
|
|
278
|
+
timeoutPromise,
|
|
279
|
+
]);
|
|
280
|
+
}
|
|
281
|
+
catch (error) {
|
|
282
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
283
|
+
console.error('Planning Agent: API call failed:', errorMsg);
|
|
284
|
+
// Provide more helpful error messages
|
|
285
|
+
if (errorMsg.includes('timeout') || errorMsg.includes('timed out')) {
|
|
286
|
+
throw new Error(`Failed to generate plan: API call timed out. The Cohere API may be slow or unresponsive. Please check your API key and network connection.`);
|
|
287
|
+
}
|
|
288
|
+
else if (errorMsg.includes('401') || errorMsg.includes('Unauthorized')) {
|
|
289
|
+
throw new Error(`Failed to generate plan: API authentication failed. Please check your COHERE_API_KEY is valid.`);
|
|
290
|
+
}
|
|
291
|
+
else if (errorMsg.includes('429') || errorMsg.includes('rate limit') || errorMsg.includes('TooManyRequests')) {
|
|
292
|
+
// Check if it's a trial key monthly limit
|
|
293
|
+
const isTrialLimit = errorMsg.includes('Trial key') || errorMsg.includes('1000 API calls');
|
|
294
|
+
if (isTrialLimit) {
|
|
295
|
+
throw new Error(`Failed to generate plan: Trial API key has reached monthly limit (1000 calls/month). Please upgrade to a Production key or wait for the limit to reset. See https://dashboard.cohere.com/api-keys`);
|
|
296
|
+
}
|
|
297
|
+
throw new Error(`Failed to generate plan: API rate limit exceeded (429). Please wait and try again or upgrade your API key.`);
|
|
298
|
+
}
|
|
299
|
+
throw new Error(`Failed to generate plan: API call failed. ${errorMsg}`);
|
|
300
|
+
}
|
|
301
|
+
// Check for empty response
|
|
302
|
+
if (!response || response.trim().length === 0) {
|
|
303
|
+
console.error('Planning Agent: Empty response from API');
|
|
304
|
+
throw new Error('Failed to generate plan: API returned empty response');
|
|
305
|
+
}
|
|
306
|
+
try {
|
|
307
|
+
// Try to extract JSON from response (handle cases where LLM adds extra text)
|
|
308
|
+
let jsonStr = response.trim();
|
|
309
|
+
// Try to find JSON array in response
|
|
310
|
+
const jsonArrayMatch = jsonStr.match(/\[[\s\S]*\]/);
|
|
311
|
+
if (jsonArrayMatch) {
|
|
312
|
+
jsonStr = jsonArrayMatch[0];
|
|
313
|
+
}
|
|
314
|
+
const subPlans = JSON.parse(jsonStr);
|
|
315
|
+
// Validate subPlans
|
|
316
|
+
if (!Array.isArray(subPlans) || subPlans.length === 0) {
|
|
317
|
+
console.error('Planning Agent: Invalid subPlans array:', subPlans);
|
|
318
|
+
throw new Error('Failed to generate plan: API returned empty or invalid sub-plans array');
|
|
319
|
+
}
|
|
320
|
+
return {
|
|
321
|
+
id: `plan_${Date.now()}`,
|
|
322
|
+
goal,
|
|
323
|
+
description: goal,
|
|
324
|
+
subPlans,
|
|
325
|
+
status: 'draft',
|
|
326
|
+
createdAt: new Date(),
|
|
327
|
+
updatedAt: new Date(),
|
|
328
|
+
dependencies: [],
|
|
329
|
+
metadata: {
|
|
330
|
+
memoriesUsed: memories.map(m => m.id || ''),
|
|
331
|
+
reflections: reflections,
|
|
332
|
+
complexity: 'medium',
|
|
333
|
+
priority: 5,
|
|
334
|
+
},
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
catch (e) {
|
|
338
|
+
console.error('Planning Agent: Failed to parse planning response');
|
|
339
|
+
console.error('Response length:', response?.length || 0);
|
|
340
|
+
console.error('Response preview:', response?.substring(0, 500) || 'empty');
|
|
341
|
+
console.error('Parse error:', e instanceof Error ? e.message : String(e));
|
|
342
|
+
throw new Error(`Failed to generate a valid plan. AI response was not valid JSON: ${e instanceof Error ? e.message : String(e)}`);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Assess confidence in plan quality
|
|
347
|
+
*/
|
|
348
|
+
async assessPlanConfidence(plan, memories) {
|
|
349
|
+
// Simple heuristic: more memories = higher confidence
|
|
350
|
+
// More detailed sub-plans = higher confidence
|
|
351
|
+
const memoryFactor = Math.min(memories.length / 10, 1.0);
|
|
352
|
+
const detailFactor = Math.min(plan.subPlans.length / 5, 1.0);
|
|
353
|
+
const dependencyFactor = plan.subPlans.some(sp => sp.dependencies.length > 0) ? 0.2 : 0;
|
|
354
|
+
return Math.min(memoryFactor * 0.4 + detailFactor * 0.4 + dependencyFactor, 1.0);
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
//# sourceMappingURL=planning-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planning-agent.js","sourceRoot":"","sources":["../../../src/application/agents/planning-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Application Agent: Validation Agent (Test Validator)
|
|
3
|
+
* Specialized agent for updating/generating tests, executing test suite, analyzing results
|
|
4
|
+
*
|
|
5
|
+
* Based on enterprise architecture: Separate Validation Agent
|
|
6
|
+
* Role: Validates execution results, runs tests, provides feedback
|
|
7
|
+
*/
|
|
8
|
+
import type { IAIService } from '../../domain/interfaces/ai-service.interface.js';
|
|
9
|
+
import type { IVerificationService } from '../../domain/interfaces/verification-service.interface.js';
|
|
10
|
+
import type { Plan } from '../../domain/entities/plan.js';
|
|
11
|
+
import type { ExecutionResult } from './execution-agent.js';
|
|
12
|
+
export interface ValidationRequest {
|
|
13
|
+
plan: Plan;
|
|
14
|
+
executionResults: ExecutionResult[];
|
|
15
|
+
filesModified?: string[];
|
|
16
|
+
}
|
|
17
|
+
export interface ValidationResult {
|
|
18
|
+
success: boolean;
|
|
19
|
+
testsPassed: boolean;
|
|
20
|
+
compilationSuccess: boolean;
|
|
21
|
+
testResults?: {
|
|
22
|
+
passed: number;
|
|
23
|
+
failed: number;
|
|
24
|
+
total: number;
|
|
25
|
+
failures: Array<{
|
|
26
|
+
test: string;
|
|
27
|
+
error: string;
|
|
28
|
+
}>;
|
|
29
|
+
};
|
|
30
|
+
compilationErrors?: string[];
|
|
31
|
+
recommendations: string[];
|
|
32
|
+
qualityScore: number;
|
|
33
|
+
}
|
|
34
|
+
export declare class ValidationAgent {
|
|
35
|
+
private aiService;
|
|
36
|
+
private verificationService?;
|
|
37
|
+
constructor(aiService: IAIService, verificationService?: IVerificationService | undefined);
|
|
38
|
+
/**
|
|
39
|
+
* Validate execution results
|
|
40
|
+
* Runs tests, checks compilation, analyzes quality
|
|
41
|
+
*/
|
|
42
|
+
validate(request: ValidationRequest): Promise<ValidationResult>;
|
|
43
|
+
/**
|
|
44
|
+
* Check compilation for modified files
|
|
45
|
+
*/
|
|
46
|
+
private checkCompilation;
|
|
47
|
+
/**
|
|
48
|
+
* Run test suite
|
|
49
|
+
*/
|
|
50
|
+
private runTests;
|
|
51
|
+
/**
|
|
52
|
+
* Analyze code quality
|
|
53
|
+
*/
|
|
54
|
+
private analyzeQuality;
|
|
55
|
+
/**
|
|
56
|
+
* Generate recommendations based on validation results
|
|
57
|
+
*/
|
|
58
|
+
private generateRecommendations;
|
|
59
|
+
/**
|
|
60
|
+
* Calculate overall quality score
|
|
61
|
+
*/
|
|
62
|
+
private calculateQualityScore;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=validation-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-agent.d.ts","sourceRoot":"","sources":["../../../src/application/agents/validation-agent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAC;AACtG,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAO5D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAClD,CAAC;IACF,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,eAAe;IAExB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,mBAAmB,CAAC;gBADpB,SAAS,EAAE,UAAU,EACrB,mBAAmB,CAAC,EAAE,oBAAoB,YAAA;IAGpD;;;OAGG;IACG,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuCrE;;OAEG;YACW,gBAAgB;IA4B9B;;OAEG;YACW,QAAQ;IAgEtB;;OAEG;YACW,cAAc;IA4B5B;;OAEG;YACW,uBAAuB;IAgCrC;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAoB9B"}
|