codehere 0.1.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +68 -329
- package/dist/application/agents/execution-agent.js +4 -30
- package/dist/application/agents/multi-agent-orchestrator.js +0 -1
- package/dist/application/agents/planning-agent.js +79 -199
- package/dist/application/services/dependency-container.js +9 -20
- package/dist/application/services/intelligent-router.js +56 -64
- package/dist/application/use-cases/ask-question-use-case.js +22 -121
- package/dist/application/use-cases/edit-file-use-case.js +171 -160
- package/dist/application/use-cases/react-orchestration-use-case.js +10 -43
- package/dist/chat.js +130 -54
- package/dist/domain/services/query-intent-classifier.js +3 -36
- package/dist/embed.js +61 -74
- package/dist/index.js +1299 -259
- package/dist/infrastructure/ai/cohere-ai-service.js +9 -78
- package/dist/infrastructure/ai/provider-ai-service.js +18 -121
- package/dist/infrastructure/config/config-manager.js +14 -135
- package/dist/infrastructure/config/product-context.js +66 -0
- package/dist/infrastructure/context/conversation-context.js +1 -86
- package/dist/infrastructure/cost/cost-router.js +104 -0
- package/dist/infrastructure/cost/cost-tracker.js +2 -3
- package/dist/infrastructure/governance/policy-as-code.js +2 -1
- package/dist/infrastructure/hooks/claude-sdk-hook.js +253 -0
- package/dist/infrastructure/hooks/session-analyzer.js +111 -0
- package/dist/infrastructure/observability/execution-tracer.js +7 -180
- package/dist/infrastructure/protocols/mcp-helpers.js +45 -0
- package/dist/infrastructure/protocols/mcp-server-impl.js +286 -0
- package/dist/infrastructure/providers/cohere-provider.js +5 -31
- package/dist/infrastructure/providers/fake-provider.js +0 -8
- package/dist/infrastructure/providers/local-llm-provider.js +2 -8
- package/dist/infrastructure/providers/openai-provider.js +5 -37
- package/dist/infrastructure/providers/openrouter-provider.js +3 -11
- package/dist/infrastructure/safety/pattern-detector.js +133 -0
- package/dist/infrastructure/security/ai-sast-scanner.js +62 -13
- package/dist/infrastructure/security/enhanced-security-gate.js +2 -61
- package/dist/infrastructure/security/input-validator.js +29 -146
- package/dist/infrastructure/security/trust-scorer.js +337 -0
- package/dist/infrastructure/storage/embeddings-path.js +4 -14
- package/dist/infrastructure/storage/plan-repository.js +5 -4
- package/dist/infrastructure/storage/sqlite-decision-repository.js +8 -4
- package/dist/infrastructure/storage/sqlite-embedding-repository.js +11 -23
- package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js +8 -4
- package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js +8 -4
- package/dist/infrastructure/storage/sqlite-memory-repository.js +8 -4
- package/dist/infrastructure/storage/sqlite-pattern-repository.js +8 -4
- package/dist/infrastructure/ux/stream-markdown.js +151 -0
- package/dist/infrastructure/ux/transparency.js +71 -0
- package/dist/infrastructure/validation/agent-feedback.js +12 -57
- package/dist/monitoring.js +8 -17
- package/dist/parallel-processor.js +50 -122
- package/dist/presentation/cli/commands/ask-command.js +39 -80
- package/dist/presentation/cli/commands/config-command.js +1 -1
- package/dist/presentation/cli/commands/cost-command.js +6 -6
- package/dist/presentation/cli/commands/decision-command.js +5 -5
- package/dist/presentation/cli/commands/fix-command.js +4 -44
- package/dist/presentation/cli/commands/help-command.js +151 -100
- package/dist/presentation/cli/commands/hook-command.js +272 -0
- package/dist/presentation/cli/commands/knowledge-command.js +4 -4
- package/dist/presentation/cli/commands/learning-dashboard-command.js +3 -3
- package/dist/presentation/cli/commands/orchestrate-command.js +6 -48
- package/dist/presentation/cli/commands/plan-command.js +1 -1
- package/dist/presentation/cli/commands/product-command.js +193 -16
- package/dist/presentation/cli/commands/report-command.js +353 -0
- package/dist/presentation/cli/commands/run-command.js +3 -3
- package/dist/presentation/cli/commands/scan-tool-command.js +65 -0
- package/dist/presentation/cli/commands/setup-command.js +34 -81
- package/dist/presentation/cli/commands/smart-command.js +50 -172
- package/dist/presentation/cli/commands/status-command.js +304 -119
- package/dist/presentation/cli/commands/trust-command.js +267 -274
- package/dist/presentation/cli/commands/undo-command.js +2 -2
- package/dist/search.js +37 -67
- package/dist/session.js +595 -484
- package/dist/task-verification.js +4 -4
- package/dist/token-optimizer.js +1 -6
- package/dist/ui.js +132 -16
- package/dist/utils/check-api-status.js +30 -12
- package/dist/utils/diff-parser.js +18 -48
- package/dist/verification/compiler.js +12 -11
- package/package.json +36 -43
- package/dist/agents/base.d.ts +0 -107
- package/dist/agents/base.d.ts.map +0 -1
- package/dist/agents/base.js.map +0 -1
- package/dist/agents/orchestrator-model-driven.d.ts +0 -41
- package/dist/agents/orchestrator-model-driven.d.ts.map +0 -1
- package/dist/agents/orchestrator-model-driven.js.map +0 -1
- package/dist/agents/react-orchestrator-agent.d.ts +0 -15
- package/dist/agents/react-orchestrator-agent.d.ts.map +0 -1
- package/dist/agents/react-orchestrator-agent.js.map +0 -1
- package/dist/application/agents/execution-agent.d.ts +0 -79
- package/dist/application/agents/execution-agent.d.ts.map +0 -1
- package/dist/application/agents/execution-agent.js.map +0 -1
- package/dist/application/agents/multi-agent-orchestrator.d.ts +0 -69
- package/dist/application/agents/multi-agent-orchestrator.d.ts.map +0 -1
- package/dist/application/agents/multi-agent-orchestrator.js.map +0 -1
- package/dist/application/agents/planning-agent.d.ts +0 -65
- package/dist/application/agents/planning-agent.d.ts.map +0 -1
- package/dist/application/agents/planning-agent.js.map +0 -1
- package/dist/application/agents/validation-agent.d.ts +0 -68
- package/dist/application/agents/validation-agent.d.ts.map +0 -1
- package/dist/application/agents/validation-agent.js.map +0 -1
- package/dist/application/architectures/plan-and-act.d.ts +0 -94
- package/dist/application/architectures/plan-and-act.d.ts.map +0 -1
- package/dist/application/architectures/plan-and-act.js.map +0 -1
- package/dist/application/index.d.ts +0 -12
- package/dist/application/index.d.ts.map +0 -1
- package/dist/application/index.js.map +0 -1
- package/dist/application/services/agent-factory.d.ts +0 -9
- package/dist/application/services/agent-factory.d.ts.map +0 -1
- package/dist/application/services/agent-factory.js.map +0 -1
- package/dist/application/services/context-importer.d.ts +0 -71
- package/dist/application/services/context-importer.d.ts.map +0 -1
- package/dist/application/services/context-importer.js +0 -436
- package/dist/application/services/context-importer.js.map +0 -1
- package/dist/application/services/context-manager.d.ts +0 -132
- package/dist/application/services/context-manager.d.ts.map +0 -1
- package/dist/application/services/context-manager.js +0 -369
- package/dist/application/services/context-manager.js.map +0 -1
- package/dist/application/services/dependency-container.d.ts +0 -187
- package/dist/application/services/dependency-container.d.ts.map +0 -1
- package/dist/application/services/dependency-container.js.map +0 -1
- package/dist/application/services/git-context-service.d.ts +0 -30
- package/dist/application/services/git-context-service.d.ts.map +0 -1
- package/dist/application/services/git-context-service.js.map +0 -1
- package/dist/application/services/intelligent-router.d.ts +0 -90
- package/dist/application/services/intelligent-router.d.ts.map +0 -1
- package/dist/application/services/intelligent-router.js.map +0 -1
- package/dist/application/services/token-counting-service.d.ts +0 -87
- package/dist/application/services/token-counting-service.d.ts.map +0 -1
- package/dist/application/services/token-counting-service.js +0 -196
- package/dist/application/services/token-counting-service.js.map +0 -1
- package/dist/application/services/tool-executor-service.d.ts +0 -14
- package/dist/application/services/tool-executor-service.d.ts.map +0 -1
- package/dist/application/services/tool-executor-service.js.map +0 -1
- package/dist/application/use-cases/ask-question-use-case.d.ts +0 -67
- package/dist/application/use-cases/ask-question-use-case.d.ts.map +0 -1
- package/dist/application/use-cases/ask-question-use-case.js.map +0 -1
- package/dist/application/use-cases/edit-file-use-case.d.ts +0 -92
- package/dist/application/use-cases/edit-file-use-case.d.ts.map +0 -1
- package/dist/application/use-cases/edit-file-use-case.js.map +0 -1
- package/dist/application/use-cases/explain-file-use-case.d.ts +0 -21
- package/dist/application/use-cases/explain-file-use-case.d.ts.map +0 -1
- package/dist/application/use-cases/explain-file-use-case.js.map +0 -1
- package/dist/application/use-cases/index-codebase-use-case.d.ts +0 -46
- package/dist/application/use-cases/index-codebase-use-case.d.ts.map +0 -1
- package/dist/application/use-cases/index-codebase-use-case.js.map +0 -1
- package/dist/application/use-cases/planning-use-case.d.ts +0 -46
- package/dist/application/use-cases/planning-use-case.d.ts.map +0 -1
- package/dist/application/use-cases/planning-use-case.js.map +0 -1
- package/dist/application/use-cases/react-orchestration-use-case.d.ts +0 -51
- package/dist/application/use-cases/react-orchestration-use-case.d.ts.map +0 -1
- package/dist/application/use-cases/react-orchestration-use-case.js.map +0 -1
- package/dist/application/use-cases/reflexion-use-case.d.ts +0 -24
- package/dist/application/use-cases/reflexion-use-case.d.ts.map +0 -1
- package/dist/application/use-cases/reflexion-use-case.js.map +0 -1
- package/dist/application/workflows/deterministic-workflows.d.ts +0 -61
- package/dist/application/workflows/deterministic-workflows.d.ts.map +0 -1
- package/dist/application/workflows/deterministic-workflows.js.map +0 -1
- package/dist/ast-parser.d 2.ts +0 -55
- package/dist/ast-parser.d.ts +0 -55
- package/dist/ast-parser.d.ts.map +0 -1
- package/dist/ast-parser.js.map +0 -1
- package/dist/cache.d.ts +0 -45
- package/dist/cache.d.ts.map +0 -1
- package/dist/cache.js.map +0 -1
- package/dist/chat.d.ts +0 -4
- package/dist/chat.d.ts.map +0 -1
- package/dist/chat.js.map +0 -1
- package/dist/code-analysis 2.js +0 -327
- package/dist/code-analysis.d.ts +0 -50
- package/dist/code-analysis.d.ts.map +0 -1
- package/dist/code-analysis.js.map +0 -1
- package/dist/context.d.ts +0 -44
- package/dist/context.d.ts 2.map +0 -1
- package/dist/context.d.ts.map +0 -1
- package/dist/context.js.map +0 -1
- package/dist/docs.d.ts +0 -21
- package/dist/docs.d.ts.map +0 -1
- package/dist/docs.js.map +0 -1
- package/dist/domain/entities/code-chunk.d.ts +0 -26
- package/dist/domain/entities/code-chunk.d.ts.map +0 -1
- package/dist/domain/entities/code-chunk.js.map +0 -1
- package/dist/domain/entities/conversation-context.d.ts +0 -245
- package/dist/domain/entities/conversation-context.d.ts.map +0 -1
- package/dist/domain/entities/conversation-context.js +0 -50
- package/dist/domain/entities/conversation-context.js.map +0 -1
- package/dist/domain/entities/decision.d.ts +0 -37
- package/dist/domain/entities/decision.d.ts.map +0 -1
- package/dist/domain/entities/decision.js.map +0 -1
- package/dist/domain/entities/edit.d.ts +0 -35
- package/dist/domain/entities/edit.d.ts.map +0 -1
- package/dist/domain/entities/edit.js.map +0 -1
- package/dist/domain/entities/knowledge-node.d.ts +0 -83
- package/dist/domain/entities/knowledge-node.d.ts.map +0 -1
- package/dist/domain/entities/knowledge-node.js.map +0 -1
- package/dist/domain/entities/knowledge-preservation.d.ts +0 -42
- package/dist/domain/entities/knowledge-preservation.d.ts.map +0 -1
- package/dist/domain/entities/knowledge-preservation.js.map +0 -1
- package/dist/domain/entities/memory.d.ts +0 -36
- package/dist/domain/entities/memory.d.ts.map +0 -1
- package/dist/domain/entities/memory.js.map +0 -1
- package/dist/domain/entities/pattern.d.ts +0 -49
- package/dist/domain/entities/pattern.d.ts.map +0 -1
- package/dist/domain/entities/pattern.js.map +0 -1
- package/dist/domain/entities/plan.d.ts +0 -42
- package/dist/domain/entities/plan.d.ts.map +0 -1
- package/dist/domain/entities/plan.js.map +0 -1
- package/dist/domain/entities/query.d.ts +0 -17
- package/dist/domain/entities/query.d.ts.map +0 -1
- package/dist/domain/entities/query.js.map +0 -1
- package/dist/domain/entities/task.d.ts +0 -152
- package/dist/domain/entities/task.d.ts.map +0 -1
- package/dist/domain/entities/task.js.map +0 -1
- package/dist/domain/errors/embeddings-not-found-error.d.ts +0 -9
- package/dist/domain/errors/embeddings-not-found-error.d.ts.map +0 -1
- package/dist/domain/errors/embeddings-not-found-error.js.map +0 -1
- package/dist/domain/index.d.ts +0 -16
- package/dist/domain/index.d.ts.map +0 -1
- package/dist/domain/index.js.map +0 -1
- package/dist/domain/interfaces/ai-service.interface.d.ts +0 -72
- package/dist/domain/interfaces/ai-service.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/ai-service.interface.js.map +0 -1
- package/dist/domain/interfaces/code-analyzer.interface.d.ts +0 -38
- package/dist/domain/interfaces/code-analyzer.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/code-analyzer.interface.js.map +0 -1
- package/dist/domain/interfaces/context-repository.interface.d.ts +0 -71
- package/dist/domain/interfaces/context-repository.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/context-repository.interface.js +0 -10
- package/dist/domain/interfaces/context-repository.interface.js.map +0 -1
- package/dist/domain/interfaces/decision-repository.interface.d.ts +0 -51
- package/dist/domain/interfaces/decision-repository.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/decision-repository.interface.js.map +0 -1
- package/dist/domain/interfaces/embedding-repository.interface.d.ts +0 -33
- package/dist/domain/interfaces/embedding-repository.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/embedding-repository.interface.js.map +0 -1
- package/dist/domain/interfaces/knowledge-graph-repository.interface.d.ts +0 -91
- package/dist/domain/interfaces/knowledge-graph-repository.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/knowledge-graph-repository.interface.js.map +0 -1
- package/dist/domain/interfaces/knowledge-preservation-repository.interface.d.ts +0 -50
- package/dist/domain/interfaces/knowledge-preservation-repository.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/knowledge-preservation-repository.interface.js.map +0 -1
- package/dist/domain/interfaces/memory-repository.interface.d.ts +0 -49
- package/dist/domain/interfaces/memory-repository.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/memory-repository.interface.js.map +0 -1
- package/dist/domain/interfaces/pattern-repository.interface.d.ts +0 -48
- package/dist/domain/interfaces/pattern-repository.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/pattern-repository.interface.js.map +0 -1
- package/dist/domain/interfaces/verification-service.interface.d.ts +0 -20
- package/dist/domain/interfaces/verification-service.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/verification-service.interface.js.map +0 -1
- package/dist/domain/services/codebase-detector.d.ts +0 -18
- package/dist/domain/services/codebase-detector.d.ts.map +0 -1
- package/dist/domain/services/codebase-detector.js.map +0 -1
- package/dist/domain/services/cross-team-pattern-sharing.d.ts +0 -65
- package/dist/domain/services/cross-team-pattern-sharing.d.ts.map +0 -1
- package/dist/domain/services/cross-team-pattern-sharing.js.map +0 -1
- package/dist/domain/services/decision-recorder.d.ts +0 -76
- package/dist/domain/services/decision-recorder.d.ts.map +0 -1
- package/dist/domain/services/decision-recorder.js.map +0 -1
- package/dist/domain/services/decision-retriever.d.ts +0 -75
- package/dist/domain/services/decision-retriever.d.ts.map +0 -1
- package/dist/domain/services/decision-retriever.js.map +0 -1
- package/dist/domain/services/environment-mode-manager.d.ts +0 -12
- package/dist/domain/services/environment-mode-manager.d.ts.map +0 -1
- package/dist/domain/services/environment-mode-manager.js.map +0 -1
- package/dist/domain/services/graded-memory-activation.d.ts +0 -37
- package/dist/domain/services/graded-memory-activation.d.ts.map +0 -1
- package/dist/domain/services/graded-memory-activation.js.map +0 -1
- package/dist/domain/services/knowledge-access.d.ts +0 -63
- package/dist/domain/services/knowledge-access.d.ts.map +0 -1
- package/dist/domain/services/knowledge-access.js.map +0 -1
- package/dist/domain/services/knowledge-extractor.d.ts +0 -54
- package/dist/domain/services/knowledge-extractor.d.ts.map +0 -1
- package/dist/domain/services/knowledge-extractor.js.map +0 -1
- package/dist/domain/services/knowledge-graph-builder.d.ts +0 -70
- package/dist/domain/services/knowledge-graph-builder.d.ts.map +0 -1
- package/dist/domain/services/knowledge-graph-builder.js.map +0 -1
- package/dist/domain/services/knowledge-graph-query.d.ts +0 -69
- package/dist/domain/services/knowledge-graph-query.d.ts.map +0 -1
- package/dist/domain/services/knowledge-graph-query.js.map +0 -1
- package/dist/domain/services/memory-retriever.d.ts +0 -30
- package/dist/domain/services/memory-retriever.d.ts.map +0 -1
- package/dist/domain/services/memory-retriever.js.map +0 -1
- package/dist/domain/services/memory-synthesizer.d.ts +0 -57
- package/dist/domain/services/memory-synthesizer.d.ts.map +0 -1
- package/dist/domain/services/memory-synthesizer.js.map +0 -1
- package/dist/domain/services/pattern-extractor.d.ts +0 -108
- package/dist/domain/services/pattern-extractor.d.ts.map +0 -1
- package/dist/domain/services/pattern-extractor.js.map +0 -1
- package/dist/domain/services/query-intent-classifier.d.ts +0 -16
- package/dist/domain/services/query-intent-classifier.d.ts.map +0 -1
- package/dist/domain/services/query-intent-classifier.js.map +0 -1
- package/dist/domain/services/react-loop.d.ts +0 -52
- package/dist/domain/services/react-loop.d.ts.map +0 -1
- package/dist/domain/services/react-loop.js.map +0 -1
- package/dist/domain/services/risk-tier-detector.d.ts +0 -17
- package/dist/domain/services/risk-tier-detector.d.ts.map +0 -1
- package/dist/domain/services/risk-tier-detector.js.map +0 -1
- package/dist/edit.d.ts +0 -26
- package/dist/edit.d.ts 2.map +0 -1
- package/dist/edit.d.ts.map +0 -1
- package/dist/edit.js.map +0 -1
- package/dist/embed.d 2.ts +0 -14
- package/dist/embed.d.ts +0 -14
- package/dist/embed.d.ts.map +0 -1
- package/dist/embed.js.map +0 -1
- package/dist/error-handler.d 2.ts +0 -77
- package/dist/error-handler.d.ts +0 -77
- package/dist/error-handler.d.ts.map +0 -1
- package/dist/error-handler.js.map +0 -1
- package/dist/formatter 2.js +0 -168
- package/dist/formatter.d.ts +0 -25
- package/dist/formatter.d.ts 2.map +0 -1
- package/dist/formatter.d.ts.map +0 -1
- package/dist/formatter.js.map +0 -1
- package/dist/git 2.js +0 -198
- package/dist/git.d 2.ts +0 -55
- package/dist/git.d.ts +0 -55
- package/dist/git.d.ts.map +0 -1
- package/dist/git.js.map +0 -1
- package/dist/index 2.d.ts +0 -16
- package/dist/index 2.d.ts.map +0 -1
- package/dist/index 2.js +0 -429
- package/dist/index 2.js.map +0 -1
- package/dist/index-backup-before-lazy-loading.d.ts +0 -3
- package/dist/index-backup-before-lazy-loading.d.ts.map +0 -1
- package/dist/index-backup-before-lazy-loading.js +0 -1551
- package/dist/index-backup-before-lazy-loading.js.map +0 -1
- package/dist/index.d.ts +0 -16
- package/dist/index.d.ts 2.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js 2.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/infrastructure/ai/cohere-ai-service.d.ts +0 -71
- package/dist/infrastructure/ai/cohere-ai-service.d.ts.map +0 -1
- package/dist/infrastructure/ai/cohere-ai-service.js.map +0 -1
- package/dist/infrastructure/ai/command-r-evaluation.d.ts +0 -42
- package/dist/infrastructure/ai/command-r-evaluation.d.ts.map +0 -1
- package/dist/infrastructure/ai/command-r-evaluation.js.map +0 -1
- package/dist/infrastructure/ai/model-config.d.ts +0 -47
- package/dist/infrastructure/ai/model-config.d.ts.map +0 -1
- package/dist/infrastructure/ai/model-config.js.map +0 -1
- package/dist/infrastructure/ai/provider-ai-service.d.ts +0 -67
- package/dist/infrastructure/ai/provider-ai-service.d.ts.map +0 -1
- package/dist/infrastructure/ai/provider-ai-service.js.map +0 -1
- package/dist/infrastructure/cache/embedding-cache.d.ts +0 -58
- package/dist/infrastructure/cache/embedding-cache.d.ts.map +0 -1
- package/dist/infrastructure/cache/embedding-cache.js.map +0 -1
- package/dist/infrastructure/cache/query-result-cache.d.ts +0 -27
- package/dist/infrastructure/cache/query-result-cache.d.ts.map +0 -1
- package/dist/infrastructure/cache/query-result-cache.js.map +0 -1
- package/dist/infrastructure/cache/response-cache.d.ts +0 -18
- package/dist/infrastructure/cache/response-cache.d.ts.map +0 -1
- package/dist/infrastructure/cache/response-cache.js.map +0 -1
- package/dist/infrastructure/cache/security-scan-cache.d.ts +0 -16
- package/dist/infrastructure/cache/security-scan-cache.d.ts.map +0 -1
- package/dist/infrastructure/cache/security-scan-cache.js.map +0 -1
- package/dist/infrastructure/chunking/ast-code-chunker.d.ts +0 -12
- package/dist/infrastructure/chunking/ast-code-chunker.d.ts.map +0 -1
- package/dist/infrastructure/chunking/ast-code-chunker.js.map +0 -1
- package/dist/infrastructure/chunking/code-aware-chunker.d.ts +0 -63
- package/dist/infrastructure/chunking/code-aware-chunker.d.ts.map +0 -1
- package/dist/infrastructure/chunking/code-aware-chunker.js.map +0 -1
- package/dist/infrastructure/completion/bash-completion.d.ts +0 -7
- package/dist/infrastructure/completion/bash-completion.d.ts.map +0 -1
- package/dist/infrastructure/completion/bash-completion.js.map +0 -1
- package/dist/infrastructure/completion/fish-completion.d.ts +0 -7
- package/dist/infrastructure/completion/fish-completion.d.ts.map +0 -1
- package/dist/infrastructure/completion/fish-completion.js.map +0 -1
- package/dist/infrastructure/completion/zsh-completion.d.ts +0 -7
- package/dist/infrastructure/completion/zsh-completion.d.ts.map +0 -1
- package/dist/infrastructure/completion/zsh-completion.js.map +0 -1
- package/dist/infrastructure/config/config-manager.d.ts +0 -158
- package/dist/infrastructure/config/config-manager.d.ts.map +0 -1
- package/dist/infrastructure/config/config-manager.js.map +0 -1
- package/dist/infrastructure/context/context-compressor.d.ts +0 -94
- package/dist/infrastructure/context/context-compressor.d.ts.map +0 -1
- package/dist/infrastructure/context/context-compressor.js.map +0 -1
- package/dist/infrastructure/context/conversation-context.d.ts +0 -82
- package/dist/infrastructure/context/conversation-context.d.ts.map +0 -1
- package/dist/infrastructure/context/conversation-context.js.map +0 -1
- package/dist/infrastructure/context/direct-context-provider.d.ts +0 -18
- package/dist/infrastructure/context/direct-context-provider.d.ts.map +0 -1
- package/dist/infrastructure/context/direct-context-provider.js +0 -222
- package/dist/infrastructure/context/direct-context-provider.js.map +0 -1
- package/dist/infrastructure/context/git-context-provider.d.ts +0 -30
- package/dist/infrastructure/context/git-context-provider.d.ts.map +0 -1
- package/dist/infrastructure/context/git-context-provider.js +0 -140
- package/dist/infrastructure/context/git-context-provider.js.map +0 -1
- package/dist/infrastructure/context/project-context-loader.d.ts +0 -35
- package/dist/infrastructure/context/project-context-loader.d.ts.map +0 -1
- package/dist/infrastructure/context/project-context-loader.js +0 -184
- package/dist/infrastructure/context/project-context-loader.js.map +0 -1
- package/dist/infrastructure/context/session-manager.d.ts +0 -42
- package/dist/infrastructure/context/session-manager.d.ts.map +0 -1
- package/dist/infrastructure/context/session-manager.js.map +0 -1
- package/dist/infrastructure/cost/cost-tracker.d.ts +0 -91
- package/dist/infrastructure/cost/cost-tracker.d.ts.map +0 -1
- package/dist/infrastructure/cost/cost-tracker.js.map +0 -1
- package/dist/infrastructure/cost/session-token-tracker.d.ts +0 -68
- package/dist/infrastructure/cost/session-token-tracker.d.ts.map +0 -1
- package/dist/infrastructure/cost/session-token-tracker.js +0 -178
- package/dist/infrastructure/cost/session-token-tracker.js.map +0 -1
- package/dist/infrastructure/cost-calculator.d.ts +0 -34
- package/dist/infrastructure/cost-calculator.d.ts.map +0 -1
- package/dist/infrastructure/cost-calculator.js +0 -145
- package/dist/infrastructure/cost-calculator.js.map +0 -1
- package/dist/infrastructure/cost-estimator.d.ts +0 -48
- package/dist/infrastructure/cost-estimator.d.ts.map +0 -1
- package/dist/infrastructure/cost-estimator.js +0 -201
- package/dist/infrastructure/cost-estimator.js.map +0 -1
- package/dist/infrastructure/file-scanner/file-scanner.d.ts +0 -31
- package/dist/infrastructure/file-scanner/file-scanner.d.ts.map +0 -1
- package/dist/infrastructure/file-scanner/file-scanner.js.map +0 -1
- package/dist/infrastructure/governance/nist-ai-rmf.d.ts +0 -105
- package/dist/infrastructure/governance/nist-ai-rmf.d.ts.map +0 -1
- package/dist/infrastructure/governance/nist-ai-rmf.js.map +0 -1
- package/dist/infrastructure/governance/policy-as-code.d.ts +0 -88
- package/dist/infrastructure/governance/policy-as-code.d.ts.map +0 -1
- package/dist/infrastructure/governance/policy-as-code.js.map +0 -1
- package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts +0 -136
- package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts.map +0 -1
- package/dist/infrastructure/governance/prompt-to-code-lineage.js.map +0 -1
- package/dist/infrastructure/index.d.ts +0 -7
- package/dist/infrastructure/index.d.ts.map +0 -1
- package/dist/infrastructure/index.js.map +0 -1
- package/dist/infrastructure/observability/execution-tracer.d.ts +0 -130
- package/dist/infrastructure/observability/execution-tracer.d.ts.map +0 -1
- package/dist/infrastructure/observability/execution-tracer.js.map +0 -1
- package/dist/infrastructure/observability/prompt-versioner.d.ts +0 -67
- package/dist/infrastructure/observability/prompt-versioner.d.ts.map +0 -1
- package/dist/infrastructure/observability/prompt-versioner.js.map +0 -1
- package/dist/infrastructure/protocols/a2a-metadata.d.ts +0 -278
- package/dist/infrastructure/protocols/a2a-metadata.d.ts.map +0 -1
- package/dist/infrastructure/protocols/a2a-metadata.js.map +0 -1
- package/dist/infrastructure/protocols/a2a-protocol.d.ts +0 -132
- package/dist/infrastructure/protocols/a2a-protocol.d.ts.map +0 -1
- package/dist/infrastructure/protocols/a2a-protocol.js.map +0 -1
- package/dist/infrastructure/protocols/mcp-oauth.d.ts +0 -91
- package/dist/infrastructure/protocols/mcp-oauth.d.ts.map +0 -1
- package/dist/infrastructure/protocols/mcp-oauth.js.map +0 -1
- package/dist/infrastructure/protocols/mcp-server.d.ts +0 -126
- package/dist/infrastructure/protocols/mcp-server.d.ts.map +0 -1
- package/dist/infrastructure/protocols/mcp-server.js.map +0 -1
- package/dist/infrastructure/protocols/streaming-handler.d.ts +0 -57
- package/dist/infrastructure/protocols/streaming-handler.d.ts.map +0 -1
- package/dist/infrastructure/protocols/streaming-handler.js.map +0 -1
- package/dist/infrastructure/providers/cohere-provider.d.ts +0 -39
- package/dist/infrastructure/providers/cohere-provider.d.ts.map +0 -1
- package/dist/infrastructure/providers/cohere-provider.js.map +0 -1
- package/dist/infrastructure/providers/fake-provider.d.ts +0 -43
- package/dist/infrastructure/providers/fake-provider.d.ts.map +0 -1
- package/dist/infrastructure/providers/fake-provider.js.map +0 -1
- package/dist/infrastructure/providers/local-llm-provider.d.ts +0 -49
- package/dist/infrastructure/providers/local-llm-provider.d.ts.map +0 -1
- package/dist/infrastructure/providers/local-llm-provider.js.map +0 -1
- package/dist/infrastructure/providers/model-config.types.d.ts +0 -70
- package/dist/infrastructure/providers/model-config.types.d.ts.map +0 -1
- package/dist/infrastructure/providers/model-config.types.js.map +0 -1
- package/dist/infrastructure/providers/model-provider.interface.d.ts +0 -113
- package/dist/infrastructure/providers/model-provider.interface.d.ts.map +0 -1
- package/dist/infrastructure/providers/model-provider.interface.js.map +0 -1
- package/dist/infrastructure/providers/openai-provider.d.ts +0 -38
- package/dist/infrastructure/providers/openai-provider.d.ts.map +0 -1
- package/dist/infrastructure/providers/openai-provider.js.map +0 -1
- package/dist/infrastructure/providers/openrouter-provider.d.ts +0 -42
- package/dist/infrastructure/providers/openrouter-provider.d.ts.map +0 -1
- package/dist/infrastructure/providers/openrouter-provider.js.map +0 -1
- package/dist/infrastructure/providers/operation-provider-resolver.d.ts +0 -48
- package/dist/infrastructure/providers/operation-provider-resolver.d.ts.map +0 -1
- package/dist/infrastructure/providers/operation-provider-resolver.js.map +0 -1
- package/dist/infrastructure/providers/provider-config-loader.d.ts +0 -37
- package/dist/infrastructure/providers/provider-config-loader.d.ts.map +0 -1
- package/dist/infrastructure/providers/provider-config-loader.js.map +0 -1
- package/dist/infrastructure/providers/provider-registry.d.ts +0 -53
- package/dist/infrastructure/providers/provider-registry.d.ts.map +0 -1
- package/dist/infrastructure/providers/provider-registry.js.map +0 -1
- package/dist/infrastructure/security/ai-sast-scanner.d.ts +0 -59
- package/dist/infrastructure/security/ai-sast-scanner.d.ts.map +0 -1
- package/dist/infrastructure/security/ai-sast-scanner.js.map +0 -1
- package/dist/infrastructure/security/docker-sandbox.d.ts +0 -57
- package/dist/infrastructure/security/docker-sandbox.d.ts.map +0 -1
- package/dist/infrastructure/security/docker-sandbox.js.map +0 -1
- package/dist/infrastructure/security/enhanced-security-gate.d.ts +0 -66
- package/dist/infrastructure/security/enhanced-security-gate.d.ts.map +0 -1
- package/dist/infrastructure/security/enhanced-security-gate.js.map +0 -1
- package/dist/infrastructure/security/input-validator.d.ts +0 -46
- package/dist/infrastructure/security/input-validator.d.ts.map +0 -1
- package/dist/infrastructure/security/input-validator.js.map +0 -1
- package/dist/infrastructure/security/license-scanner.d.ts +0 -55
- package/dist/infrastructure/security/license-scanner.d.ts.map +0 -1
- package/dist/infrastructure/security/license-scanner.js.map +0 -1
- package/dist/infrastructure/security/provider-bias-detector.d.ts +0 -53
- package/dist/infrastructure/security/provider-bias-detector.d.ts.map +0 -1
- package/dist/infrastructure/security/provider-bias-detector.js.map +0 -1
- package/dist/infrastructure/security/sandbox-executor.d.ts +0 -34
- package/dist/infrastructure/security/sandbox-executor.d.ts.map +0 -1
- package/dist/infrastructure/security/sandbox-executor.js.map +0 -1
- package/dist/infrastructure/serialization/toon-serializer.d.ts +0 -45
- package/dist/infrastructure/serialization/toon-serializer.d.ts.map +0 -1
- package/dist/infrastructure/serialization/toon-serializer.js.map +0 -1
- package/dist/infrastructure/storage/embeddings-path.d.ts +0 -18
- package/dist/infrastructure/storage/embeddings-path.d.ts.map +0 -1
- package/dist/infrastructure/storage/embeddings-path.js.map +0 -1
- package/dist/infrastructure/storage/memory-stream-service.d.ts +0 -47
- package/dist/infrastructure/storage/memory-stream-service.d.ts.map +0 -1
- package/dist/infrastructure/storage/memory-stream-service.js.map +0 -1
- package/dist/infrastructure/storage/plan-repository.d.ts +0 -40
- package/dist/infrastructure/storage/plan-repository.d.ts.map +0 -1
- package/dist/infrastructure/storage/plan-repository.js.map +0 -1
- package/dist/infrastructure/storage/sqlite-context-repository.d.ts +0 -95
- package/dist/infrastructure/storage/sqlite-context-repository.d.ts.map +0 -1
- package/dist/infrastructure/storage/sqlite-context-repository.js +0 -467
- package/dist/infrastructure/storage/sqlite-context-repository.js.map +0 -1
- package/dist/infrastructure/storage/sqlite-decision-repository.d.ts +0 -29
- package/dist/infrastructure/storage/sqlite-decision-repository.d.ts.map +0 -1
- package/dist/infrastructure/storage/sqlite-decision-repository.js.map +0 -1
- package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +0 -47
- package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +0 -1
- package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +0 -1
- package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts +0 -41
- package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts.map +0 -1
- package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js.map +0 -1
- package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts +0 -29
- package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts.map +0 -1
- package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js.map +0 -1
- package/dist/infrastructure/storage/sqlite-memory-repository.d.ts +0 -40
- package/dist/infrastructure/storage/sqlite-memory-repository.d.ts.map +0 -1
- package/dist/infrastructure/storage/sqlite-memory-repository.js.map +0 -1
- package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts +0 -25
- package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts.map +0 -1
- package/dist/infrastructure/storage/sqlite-pattern-repository.js.map +0 -1
- package/dist/infrastructure/storage/task-helpers.d.ts +0 -69
- package/dist/infrastructure/storage/task-helpers.d.ts.map +0 -1
- package/dist/infrastructure/storage/task-helpers.js.map +0 -1
- package/dist/infrastructure/storage/task-repository.d.ts +0 -67
- package/dist/infrastructure/storage/task-repository.d.ts.map +0 -1
- package/dist/infrastructure/storage/task-repository.js.map +0 -1
- package/dist/infrastructure/telemetry/telemetry-service.d.ts +0 -74
- package/dist/infrastructure/telemetry/telemetry-service.d.ts.map +0 -1
- package/dist/infrastructure/telemetry/telemetry-service.js.map +0 -1
- package/dist/infrastructure/ux/appropriate-friction.d.ts +0 -77
- package/dist/infrastructure/ux/appropriate-friction.d.ts.map +0 -1
- package/dist/infrastructure/ux/appropriate-friction.js.map +0 -1
- package/dist/infrastructure/ux/bi-directional-learning.d.ts +0 -131
- package/dist/infrastructure/ux/bi-directional-learning.d.ts.map +0 -1
- package/dist/infrastructure/ux/bi-directional-learning.js.map +0 -1
- package/dist/infrastructure/ux/capability-boundaries.d.ts +0 -22
- package/dist/infrastructure/ux/capability-boundaries.d.ts.map +0 -1
- package/dist/infrastructure/ux/capability-boundaries.js.map +0 -1
- package/dist/infrastructure/ux/cli-style-guide.d.ts +0 -105
- package/dist/infrastructure/ux/cli-style-guide.d.ts.map +0 -1
- package/dist/infrastructure/ux/cli-style-guide.js +0 -220
- package/dist/infrastructure/ux/cli-style-guide.js.map +0 -1
- package/dist/infrastructure/ux/comprehensive-formatter.d.ts +0 -21
- package/dist/infrastructure/ux/comprehensive-formatter.d.ts.map +0 -1
- package/dist/infrastructure/ux/comprehensive-formatter.js.map +0 -1
- package/dist/infrastructure/ux/contextual-feature-discovery.d.ts +0 -11
- package/dist/infrastructure/ux/contextual-feature-discovery.d.ts.map +0 -1
- package/dist/infrastructure/ux/contextual-feature-discovery.js.map +0 -1
- package/dist/infrastructure/ux/expectation-management.d.ts +0 -98
- package/dist/infrastructure/ux/expectation-management.d.ts.map +0 -1
- package/dist/infrastructure/ux/expectation-management.js.map +0 -1
- package/dist/infrastructure/ux/feature-discovery.d.ts +0 -17
- package/dist/infrastructure/ux/feature-discovery.d.ts.map +0 -1
- package/dist/infrastructure/ux/feature-discovery.js.map +0 -1
- package/dist/infrastructure/ux/feedback-prompt.d.ts +0 -26
- package/dist/infrastructure/ux/feedback-prompt.d.ts.map +0 -1
- package/dist/infrastructure/ux/feedback-prompt.js.map +0 -1
- package/dist/infrastructure/ux/hitl-validation.d.ts +0 -139
- package/dist/infrastructure/ux/hitl-validation.d.ts.map +0 -1
- package/dist/infrastructure/ux/hitl-validation.js.map +0 -1
- package/dist/infrastructure/ux/progress-indicator.d.ts +0 -53
- package/dist/infrastructure/ux/progress-indicator.d.ts.map +0 -1
- package/dist/infrastructure/ux/progress-indicator.js.map +0 -1
- package/dist/infrastructure/ux/progressive-disclosure.d.ts +0 -84
- package/dist/infrastructure/ux/progressive-disclosure.d.ts.map +0 -1
- package/dist/infrastructure/ux/progressive-disclosure.js.map +0 -1
- package/dist/infrastructure/ux/review-checkpoint.d.ts +0 -37
- package/dist/infrastructure/ux/review-checkpoint.d.ts.map +0 -1
- package/dist/infrastructure/ux/review-checkpoint.js.map +0 -1
- package/dist/infrastructure/ux/staged-feature-intro.d.ts +0 -22
- package/dist/infrastructure/ux/staged-feature-intro.d.ts.map +0 -1
- package/dist/infrastructure/ux/staged-feature-intro.js.map +0 -1
- package/dist/infrastructure/ux/syntax-highlighter.d.ts +0 -20
- package/dist/infrastructure/ux/syntax-highlighter.d.ts.map +0 -1
- package/dist/infrastructure/ux/syntax-highlighter.js.map +0 -1
- package/dist/infrastructure/ux/team-standards.d.ts +0 -94
- package/dist/infrastructure/ux/team-standards.d.ts.map +0 -1
- package/dist/infrastructure/ux/team-standards.js.map +0 -1
- package/dist/infrastructure/validation/agent-feedback.d.ts +0 -57
- package/dist/infrastructure/validation/agent-feedback.d.ts.map +0 -1
- package/dist/infrastructure/validation/agent-feedback.js.map +0 -1
- package/dist/infrastructure/validation/agent-validation-helper.d.ts +0 -75
- package/dist/infrastructure/validation/agent-validation-helper.d.ts.map +0 -1
- package/dist/infrastructure/validation/agent-validation-helper.js.map +0 -1
- package/dist/infrastructure/validation/hallucination-detector.d.ts +0 -121
- package/dist/infrastructure/validation/hallucination-detector.d.ts.map +0 -1
- package/dist/infrastructure/validation/hallucination-detector.js +0 -388
- package/dist/infrastructure/validation/hallucination-detector.js.map +0 -1
- package/dist/infrastructure/validation/review-handler.d.ts +0 -26
- package/dist/infrastructure/validation/review-handler.d.ts.map +0 -1
- package/dist/infrastructure/validation/review-handler.js.map +0 -1
- package/dist/infrastructure/validation/summary-aggregator.d.ts +0 -45
- package/dist/infrastructure/validation/summary-aggregator.d.ts.map +0 -1
- package/dist/infrastructure/validation/summary-aggregator.js.map +0 -1
- package/dist/infrastructure/validation/summary-extractor.d.ts +0 -24
- package/dist/infrastructure/validation/summary-extractor.d.ts.map +0 -1
- package/dist/infrastructure/validation/summary-extractor.js.map +0 -1
- package/dist/infrastructure/validation/trace-summary.d.ts +0 -45
- package/dist/infrastructure/validation/trace-summary.d.ts.map +0 -1
- package/dist/infrastructure/validation/trace-summary.js.map +0 -1
- package/dist/infrastructure/verification/verification-service.d.ts +0 -12
- package/dist/infrastructure/verification/verification-service.d.ts.map +0 -1
- package/dist/infrastructure/verification/verification-service.js.map +0 -1
- package/dist/infrastructure/xai/attention-visualizer.d.ts +0 -71
- package/dist/infrastructure/xai/attention-visualizer.d.ts.map +0 -1
- package/dist/infrastructure/xai/attention-visualizer.js.map +0 -1
- package/dist/infrastructure/xai/cot-visualizer.d.ts +0 -103
- package/dist/infrastructure/xai/cot-visualizer.d.ts.map +0 -1
- package/dist/infrastructure/xai/cot-visualizer.js.map +0 -1
- package/dist/infrastructure/xai/decision-tree-log.d.ts +0 -100
- package/dist/infrastructure/xai/decision-tree-log.d.ts.map +0 -1
- package/dist/infrastructure/xai/decision-tree-log.js.map +0 -1
- package/dist/infrastructure/xai/interactive-xai.d.ts +0 -104
- package/dist/infrastructure/xai/interactive-xai.d.ts.map +0 -1
- package/dist/infrastructure/xai/interactive-xai.js.map +0 -1
- package/dist/infrastructure/xai/uncertainty-quantifier.d.ts +0 -77
- package/dist/infrastructure/xai/uncertainty-quantifier.d.ts.map +0 -1
- package/dist/infrastructure/xai/uncertainty-quantifier.js.map +0 -1
- package/dist/intelligent-retrieval 2.js +0 -272
- package/dist/intelligent-retrieval.d.ts +0 -41
- package/dist/intelligent-retrieval.d.ts 2.map +0 -1
- package/dist/intelligent-retrieval.d.ts.map +0 -1
- package/dist/intelligent-retrieval.js.map +0 -1
- package/dist/intent/classifier.d.ts +0 -6
- package/dist/intent/classifier.d.ts.map +0 -1
- package/dist/intent/classifier.js.map +0 -1
- package/dist/intent/context.d.ts +0 -4
- package/dist/intent/context.d.ts.map +0 -1
- package/dist/intent/context.js.map +0 -1
- package/dist/iterative-refinement.d.ts +0 -31
- package/dist/iterative-refinement.d.ts.map +0 -1
- package/dist/iterative-refinement.js.map +0 -1
- package/dist/learning.d.ts +0 -69
- package/dist/learning.d.ts.map +0 -1
- package/dist/learning.js.map +0 -1
- package/dist/log.d.ts +0 -4
- package/dist/log.d.ts.map +0 -1
- package/dist/log.js 2.map +0 -1
- package/dist/log.js.map +0 -1
- package/dist/migrate.d.ts +0 -33
- package/dist/migrate.d.ts.map +0 -1
- package/dist/migrate.js 2.map +0 -1
- package/dist/migrate.js.map +0 -1
- package/dist/monitoring.d.ts +0 -75
- package/dist/monitoring.d.ts.map +0 -1
- package/dist/monitoring.js.map +0 -1
- package/dist/parallel-processor.d 2.ts +0 -44
- package/dist/parallel-processor.d.ts +0 -44
- package/dist/parallel-processor.d.ts.map +0 -1
- package/dist/parallel-processor.js.map +0 -1
- package/dist/planner.d.ts +0 -47
- package/dist/planner.d.ts.map +0 -1
- package/dist/planner.js.map +0 -1
- package/dist/policy.d 2.ts +0 -3
- package/dist/policy.d.ts +0 -3
- package/dist/policy.d.ts.map +0 -1
- package/dist/policy.js.map +0 -1
- package/dist/presentation/cli/commands/ask-command.d.ts +0 -9
- package/dist/presentation/cli/commands/ask-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/ask-command.js.map +0 -1
- package/dist/presentation/cli/commands/audit-command.d.ts +0 -13
- package/dist/presentation/cli/commands/audit-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/audit-command.js +0 -96
- package/dist/presentation/cli/commands/audit-command.js.map +0 -1
- package/dist/presentation/cli/commands/config-command.d.ts +0 -9
- package/dist/presentation/cli/commands/config-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/config-command.js.map +0 -1
- package/dist/presentation/cli/commands/context-command.d.ts +0 -32
- package/dist/presentation/cli/commands/context-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/context-command.js +0 -295
- package/dist/presentation/cli/commands/context-command.js.map +0 -1
- package/dist/presentation/cli/commands/context-helper.d.ts +0 -16
- package/dist/presentation/cli/commands/context-helper.d.ts.map +0 -1
- package/dist/presentation/cli/commands/context-helper.js +0 -88
- package/dist/presentation/cli/commands/context-helper.js.map +0 -1
- package/dist/presentation/cli/commands/cost-command.d.ts +0 -8
- package/dist/presentation/cli/commands/cost-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/cost-command.js.map +0 -1
- package/dist/presentation/cli/commands/decision-command.d.ts +0 -12
- package/dist/presentation/cli/commands/decision-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/decision-command.js.map +0 -1
- package/dist/presentation/cli/commands/docs-command.d.ts +0 -14
- package/dist/presentation/cli/commands/docs-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/docs-command.js.map +0 -1
- package/dist/presentation/cli/commands/fix-command.d.ts +0 -15
- package/dist/presentation/cli/commands/fix-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/fix-command.js.map +0 -1
- package/dist/presentation/cli/commands/help-command.d.ts +0 -9
- package/dist/presentation/cli/commands/help-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/help-command.js.map +0 -1
- package/dist/presentation/cli/commands/knowledge-command.d.ts +0 -13
- package/dist/presentation/cli/commands/knowledge-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/knowledge-command.js.map +0 -1
- package/dist/presentation/cli/commands/learning-dashboard-command.d.ts +0 -8
- package/dist/presentation/cli/commands/learning-dashboard-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/learning-dashboard-command.js.map +0 -1
- package/dist/presentation/cli/commands/models-command.d.ts +0 -13
- package/dist/presentation/cli/commands/models-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/models-command.js.map +0 -1
- package/dist/presentation/cli/commands/orchestrate-command.d.ts +0 -10
- package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/orchestrate-command.js.map +0 -1
- package/dist/presentation/cli/commands/plan-command.d.ts +0 -9
- package/dist/presentation/cli/commands/plan-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/plan-command.js.map +0 -1
- package/dist/presentation/cli/commands/product-command.d.ts +0 -14
- package/dist/presentation/cli/commands/product-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/product-command.js.map +0 -1
- package/dist/presentation/cli/commands/react-command.d.ts +0 -8
- package/dist/presentation/cli/commands/react-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/react-command.js.map +0 -1
- package/dist/presentation/cli/commands/review-command.d.ts +0 -14
- package/dist/presentation/cli/commands/review-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/review-command.js.map +0 -1
- package/dist/presentation/cli/commands/run-command.d.ts +0 -13
- package/dist/presentation/cli/commands/run-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/run-command.js.map +0 -1
- package/dist/presentation/cli/commands/setup-command.d.ts +0 -10
- package/dist/presentation/cli/commands/setup-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/setup-command.js.map +0 -1
- package/dist/presentation/cli/commands/smart-command.d.ts +0 -11
- package/dist/presentation/cli/commands/smart-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/smart-command.js.map +0 -1
- package/dist/presentation/cli/commands/status-command.d.ts +0 -14
- package/dist/presentation/cli/commands/status-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/status-command.js.map +0 -1
- package/dist/presentation/cli/commands/suggest-command.d.ts +0 -11
- package/dist/presentation/cli/commands/suggest-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/suggest-command.js.map +0 -1
- package/dist/presentation/cli/commands/trace-command.d.ts +0 -8
- package/dist/presentation/cli/commands/trace-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/trace-command.js.map +0 -1
- package/dist/presentation/cli/commands/trust-command.d.ts +0 -28
- package/dist/presentation/cli/commands/trust-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/trust-command.js.map +0 -1
- package/dist/presentation/cli/commands/undo-command.d.ts +0 -8
- package/dist/presentation/cli/commands/undo-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/undo-command.js.map +0 -1
- package/dist/presentation/cli/error-display.d.ts +0 -25
- package/dist/presentation/cli/error-display.d.ts.map +0 -1
- package/dist/presentation/cli/error-display.js.map +0 -1
- package/dist/query-optimizer.d.ts +0 -32
- package/dist/query-optimizer.d.ts.map +0 -1
- package/dist/query-optimizer.js.map +0 -1
- package/dist/refactor.d.ts +0 -27
- package/dist/refactor.d.ts.map +0 -1
- package/dist/refactor.js.map +0 -1
- package/dist/review 2.js +0 -206
- package/dist/review.d.ts +0 -31
- package/dist/review.d.ts.map +0 -1
- package/dist/review.js.map +0 -1
- package/dist/search.d.ts +0 -19
- package/dist/search.d.ts.map +0 -1
- package/dist/search.js 2.map +0 -1
- package/dist/search.js.map +0 -1
- package/dist/session 2.js +0 -593
- package/dist/session.d.ts +0 -17
- package/dist/session.d.ts 2.map +0 -1
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js.map +0 -1
- package/dist/task-verification 2.js +0 -336
- package/dist/task-verification.d.ts +0 -39
- package/dist/task-verification.d.ts 2.map +0 -1
- package/dist/task-verification.d.ts.map +0 -1
- package/dist/task-verification.js.map +0 -1
- package/dist/test-minimal.d.ts +0 -2
- package/dist/test-minimal.d.ts.map +0 -1
- package/dist/test-minimal.js +0 -2
- package/dist/test-minimal.js.map +0 -1
- package/dist/testgen.d.ts +0 -24
- package/dist/testgen.d.ts.map +0 -1
- package/dist/testgen.js 2.map +0 -1
- package/dist/testgen.js.map +0 -1
- package/dist/token-optimizer.d 2.ts +0 -20
- package/dist/token-optimizer.d.ts +0 -20
- package/dist/token-optimizer.d.ts.map +0 -1
- package/dist/token-optimizer.js.map +0 -1
- package/dist/tools/bash.d.ts +0 -53
- package/dist/tools/bash.d.ts.map +0 -1
- package/dist/tools/bash.js.map +0 -1
- package/dist/tools/edit.d.ts +0 -48
- package/dist/tools/edit.d.ts.map +0 -1
- package/dist/tools/edit.js.map +0 -1
- package/dist/tools/executor.d.ts +0 -29
- package/dist/tools/executor.d.ts.map +0 -1
- package/dist/tools/executor.js.map +0 -1
- package/dist/tools/git-tool.d.ts +0 -87
- package/dist/tools/git-tool.d.ts.map +0 -1
- package/dist/tools/git-tool.js.map +0 -1
- package/dist/tools/parser.d.ts +0 -33
- package/dist/tools/parser.d.ts.map +0 -1
- package/dist/tools/parser.js.map +0 -1
- package/dist/tools/registry.d.ts +0 -74
- package/dist/tools/registry.d.ts.map +0 -1
- package/dist/tools/registry.js.map +0 -1
- package/dist/tools/search.d.ts +0 -41
- package/dist/tools/search.d.ts.map +0 -1
- package/dist/tools/search.js.map +0 -1
- package/dist/types.d.ts +0 -36
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/ui.d.ts +0 -60
- package/dist/ui.d.ts 2.map +0 -1
- package/dist/ui.d.ts.map +0 -1
- package/dist/ui.js.map +0 -1
- package/dist/utils/check-api-status.d.ts +0 -12
- package/dist/utils/check-api-status.d.ts.map +0 -1
- package/dist/utils/check-api-status.js.map +0 -1
- package/dist/utils/debug.d.ts +0 -7
- package/dist/utils/debug.d.ts.map +0 -1
- package/dist/utils/debug.js +0 -24
- package/dist/utils/debug.js.map +0 -1
- package/dist/utils/diff-parser.d.ts +0 -22
- package/dist/utils/diff-parser.d.ts.map +0 -1
- package/dist/utils/diff-parser.js.map +0 -1
- package/dist/utils/provider-check.d.ts +0 -21
- package/dist/utils/provider-check.d.ts.map +0 -1
- package/dist/utils/provider-check.js +0 -124
- package/dist/utils/provider-check.js.map +0 -1
- package/dist/utils/version.d.ts +0 -21
- package/dist/utils/version.d.ts.map +0 -1
- package/dist/utils/version.js.map +0 -1
- package/dist/verification/backup.d.ts +0 -30
- package/dist/verification/backup.d.ts.map +0 -1
- package/dist/verification/backup.js.map +0 -1
- package/dist/verification/compiler.d.ts +0 -20
- package/dist/verification/compiler.d.ts.map +0 -1
- package/dist/verification/compiler.js.map +0 -1
- package/dist/verification/index.d.ts +0 -59
- package/dist/verification/index.d.ts.map +0 -1
- package/dist/verification/index.js.map +0 -1
- package/dist/verification/test-runner.d.ts +0 -27
- package/dist/verification/test-runner.d.ts.map +0 -1
- package/dist/verification/test-runner.js.map +0 -1
- package/dist/verify_db.d.ts +0 -2
- package/dist/verify_db.d.ts.map +0 -1
- package/dist/verify_db.js +0 -52
- package/dist/verify_db.js 2.map +0 -1
- package/dist/verify_db.js.map +0 -1
|
@@ -85,8 +85,7 @@ export class PlanningAgent {
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
// 4. Generate hierarchical plan with detailed steps (including Git context and patterns)
|
|
88
|
-
const plan = await this.generateDetailedPlan(request.goal, reflections, relevantMemories, request.context, gitContext, relevantPatterns
|
|
89
|
-
request.feedback);
|
|
88
|
+
const plan = await this.generateDetailedPlan(request.goal, reflections, relevantMemories, request.context, gitContext, relevantPatterns);
|
|
90
89
|
// 5. Assess plan confidence
|
|
91
90
|
const confidence = await this.assessPlanConfidence(plan, relevantMemories);
|
|
92
91
|
// 6. Store plan in memory (with codebase context)
|
|
@@ -107,10 +106,7 @@ export class PlanningAgent {
|
|
|
107
106
|
}
|
|
108
107
|
// Calculate plan metrics for validation
|
|
109
108
|
const planComplexity = plan.metadata?.complexity || 'medium';
|
|
110
|
-
const unresolvedDependencies = plan.subPlans.filter(sp =>
|
|
111
|
-
const deps = Array.isArray(sp.dependencies) ? sp.dependencies : [];
|
|
112
|
-
return deps.some(depId => !plan.subPlans.find(sp2 => sp2.id === depId));
|
|
113
|
-
});
|
|
109
|
+
const unresolvedDependencies = plan.subPlans.filter(sp => sp.dependencies.some(depId => !plan.subPlans.find(sp2 => sp2.id === depId)));
|
|
114
110
|
// Complete validation and get summary
|
|
115
111
|
const validationResult = await agentValidationHelper.completeAgentOperation(validationContext, {
|
|
116
112
|
plan,
|
|
@@ -218,7 +214,7 @@ export class PlanningAgent {
|
|
|
218
214
|
/**
|
|
219
215
|
* Generate detailed hierarchical plan
|
|
220
216
|
*/
|
|
221
|
-
async generateDetailedPlan(goal, reflections, memories, context, gitContext, relevantPatterns = [], relevantKnowledge = []
|
|
217
|
+
async generateDetailedPlan(goal, reflections, memories, context, gitContext, relevantPatterns = [], relevantKnowledge = []) {
|
|
222
218
|
const memoryContext = memories.map(m => `- ${m.description} (Type: ${m.type})`).join('\n');
|
|
223
219
|
const reflectionContext = reflections.map(r => `- ${r}`).join('\n');
|
|
224
220
|
const fileContext = context?.files && context.files.length > 0
|
|
@@ -282,18 +278,10 @@ export class PlanningAgent {
|
|
|
282
278
|
- Sub-plan 3: "Create src/repositories/user-repository.ts implementing IUserRepository"
|
|
283
279
|
- Sub-plan 4: "Update src/services/user-service.ts to use UserRepository instead of direct data access"
|
|
284
280
|
` : ''}
|
|
285
|
-
` : '';
|
|
286
|
-
const feedbackContext = feedback ? `
|
|
287
|
-
|
|
288
|
-
**IMPORTANT - PREVIOUS ATTEMPT FAILED**:
|
|
289
|
-
This is a retry. The previous plan failed with this feedback:
|
|
290
|
-
"${feedback}"
|
|
291
|
-
|
|
292
|
-
**You MUST address the issues in the feedback above to create a better plan.**
|
|
293
281
|
` : '';
|
|
294
282
|
const prompt = `You are a Planning Agent (Architect) for an AI coding system. Your role is to create detailed, step-by-step modification plans.
|
|
295
283
|
|
|
296
|
-
Goal: "${goal}"${fileContext}${constraintsContext}${gitContextText}${multiFileGuidance}
|
|
284
|
+
Goal: "${goal}"${fileContext}${constraintsContext}${gitContextText}${multiFileGuidance}
|
|
297
285
|
|
|
298
286
|
Consider:
|
|
299
287
|
- **Relevant Past Experiences/Memories**:
|
|
@@ -349,191 +337,86 @@ export class PlanningAgent {
|
|
|
349
337
|
]
|
|
350
338
|
|
|
351
339
|
JSON only, no other text:`;
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
this.aiService.chat(currentPrompt, []),
|
|
370
|
-
timeoutPromise,
|
|
371
|
-
]);
|
|
372
|
-
// Check for empty response
|
|
373
|
-
if (!response || response.trim().length === 0) {
|
|
374
|
-
if (attempt < maxRetries) {
|
|
375
|
-
console.warn(`Planning Agent: Empty response on attempt ${attempt + 1}, retrying...`);
|
|
376
|
-
continue;
|
|
377
|
-
}
|
|
378
|
-
console.error('Planning Agent: Empty response from API');
|
|
379
|
-
throw new Error('Failed to generate plan: API returned empty response');
|
|
380
|
-
}
|
|
381
|
-
// Try to parse JSON
|
|
382
|
-
try {
|
|
383
|
-
// FAKE_AI mode detection - return mock plan for testing
|
|
384
|
-
if (process.env.CODEHERE_FAKE_AI === '1' || response.trim().startsWith('FAKE_RESPONSE')) {
|
|
385
|
-
const mockSubPlans = [
|
|
386
|
-
{
|
|
387
|
-
id: `subplan_${Date.now()}_1`,
|
|
388
|
-
description: `Analyze requirements for: ${goal}`,
|
|
389
|
-
type: 'analyze',
|
|
390
|
-
status: 'pending',
|
|
391
|
-
estimatedSteps: 2,
|
|
392
|
-
estimatedComplexity: 'low',
|
|
393
|
-
dependencies: [],
|
|
394
|
-
reflections: ['FAKE_AI: This is a mock plan for testing'],
|
|
395
|
-
},
|
|
396
|
-
{
|
|
397
|
-
id: `subplan_${Date.now()}_2`,
|
|
398
|
-
description: `Implement solution for: ${goal}`,
|
|
399
|
-
type: 'implement',
|
|
400
|
-
status: 'pending',
|
|
401
|
-
estimatedSteps: 3,
|
|
402
|
-
estimatedComplexity: 'medium',
|
|
403
|
-
dependencies: [`subplan_${Date.now()}_1`],
|
|
404
|
-
reflections: ['FAKE_AI: Mock implementation step'],
|
|
405
|
-
},
|
|
406
|
-
];
|
|
407
|
-
// Return mock plan immediately
|
|
408
|
-
return {
|
|
409
|
-
id: `plan_${Date.now()}`,
|
|
410
|
-
goal,
|
|
411
|
-
description: `FAKE_AI mock plan for: ${goal}`,
|
|
412
|
-
subPlans: mockSubPlans,
|
|
413
|
-
status: 'draft',
|
|
414
|
-
createdAt: new Date(),
|
|
415
|
-
updatedAt: new Date(),
|
|
416
|
-
dependencies: [],
|
|
417
|
-
metadata: {
|
|
418
|
-
memoriesUsed: memories.map(m => m.id || ''),
|
|
419
|
-
reflections: reflections,
|
|
420
|
-
complexity: 'medium',
|
|
421
|
-
priority: 5,
|
|
422
|
-
},
|
|
423
|
-
};
|
|
424
|
-
}
|
|
425
|
-
// Try to extract JSON from response (handle cases where LLM adds extra text)
|
|
426
|
-
let jsonStr = response.trim();
|
|
427
|
-
// Strategy 1: Remove markdown code blocks if present
|
|
428
|
-
jsonStr = jsonStr.replace(/```json\n?/gi, '').replace(/```\n?/g, '').trim();
|
|
429
|
-
// Strategy 2: Try to find JSON array in response (most common format)
|
|
430
|
-
const jsonArrayMatch = jsonStr.match(/\[[\s\S]*\]/);
|
|
431
|
-
if (jsonArrayMatch) {
|
|
432
|
-
jsonStr = jsonArrayMatch[0];
|
|
433
|
-
}
|
|
434
|
-
else {
|
|
435
|
-
// Strategy 3: Try to find JSON object and wrap in array
|
|
436
|
-
const jsonObjectMatch = jsonStr.match(/\{[\s\S]*\}/);
|
|
437
|
-
if (jsonObjectMatch) {
|
|
438
|
-
jsonStr = `[${jsonObjectMatch[0]}]`;
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
// Strategy 4: Try to extract from nested structures
|
|
442
|
-
if (!jsonStr.startsWith('[') && !jsonStr.startsWith('{')) {
|
|
443
|
-
// Look for array or object anywhere in the string
|
|
444
|
-
const anyJsonMatch = jsonStr.match(/(\[[\s\S]*\]|\{[\s\S]*\})/);
|
|
445
|
-
if (anyJsonMatch) {
|
|
446
|
-
jsonStr = anyJsonMatch[0];
|
|
447
|
-
// If it's an object, wrap in array
|
|
448
|
-
if (jsonStr.startsWith('{')) {
|
|
449
|
-
jsonStr = `[${jsonStr}]`;
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
}
|
|
453
|
-
const subPlans = JSON.parse(jsonStr);
|
|
454
|
-
// Validate subPlans
|
|
455
|
-
if (!Array.isArray(subPlans) || subPlans.length === 0) {
|
|
456
|
-
throw new Error('Invalid subPlans array: empty or not an array');
|
|
457
|
-
}
|
|
458
|
-
// Success! Return the plan
|
|
459
|
-
return {
|
|
460
|
-
id: `plan_${Date.now()}`,
|
|
461
|
-
goal,
|
|
462
|
-
description: goal,
|
|
463
|
-
subPlans,
|
|
464
|
-
status: 'draft',
|
|
465
|
-
createdAt: new Date(),
|
|
466
|
-
updatedAt: new Date(),
|
|
467
|
-
dependencies: [],
|
|
468
|
-
metadata: {
|
|
469
|
-
memoriesUsed: memories.map(m => m.id || ''),
|
|
470
|
-
reflections: reflections,
|
|
471
|
-
complexity: 'medium',
|
|
472
|
-
priority: 5,
|
|
473
|
-
},
|
|
474
|
-
};
|
|
475
|
-
}
|
|
476
|
-
catch (parseError) {
|
|
477
|
-
// JSON parsing failed, but we got a response - retry with reinforced prompt
|
|
478
|
-
lastError = parseError instanceof Error ? parseError : new Error(String(parseError));
|
|
479
|
-
if (attempt < maxRetries) {
|
|
480
|
-
console.warn(`Planning Agent: JSON parsing failed on attempt ${attempt + 1}, retrying with reinforced prompt...`);
|
|
481
|
-
await new Promise(resolve => setTimeout(resolve, 1000 * (attempt + 1))); // Brief delay before retry
|
|
482
|
-
continue;
|
|
483
|
-
}
|
|
484
|
-
// Last attempt failed, throw error
|
|
485
|
-
throw parseError;
|
|
486
|
-
}
|
|
340
|
+
let response;
|
|
341
|
+
try {
|
|
342
|
+
// Add timeout protection for planning calls (60 seconds max)
|
|
343
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
344
|
+
setTimeout(() => reject(new Error('Planning API call timed out after 60 seconds')), 60000);
|
|
345
|
+
});
|
|
346
|
+
response = await Promise.race([
|
|
347
|
+
this.aiService.chat(prompt, []),
|
|
348
|
+
timeoutPromise,
|
|
349
|
+
]);
|
|
350
|
+
}
|
|
351
|
+
catch (error) {
|
|
352
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
353
|
+
console.error('Planning Agent: API call failed:', errorMsg);
|
|
354
|
+
// Provide more helpful error messages
|
|
355
|
+
if (errorMsg.includes('timeout') || errorMsg.includes('timed out')) {
|
|
356
|
+
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.`);
|
|
487
357
|
}
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
if
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
throw new Error(`Failed to generate plan: API authentication failed. Please check your API key is valid.`);
|
|
497
|
-
}
|
|
498
|
-
else if (errorMsg.includes('429') || errorMsg.includes('rate limit') || errorMsg.includes('TooManyRequests')) {
|
|
499
|
-
// Check if it's a trial key monthly limit
|
|
500
|
-
const isTrialLimit = errorMsg.includes('Trial key') || errorMsg.includes('1000 API calls');
|
|
501
|
-
if (isTrialLimit) {
|
|
502
|
-
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`);
|
|
503
|
-
}
|
|
504
|
-
throw new Error(`Failed to generate plan: API rate limit exceeded (429). Please wait and try again or upgrade your API key.`);
|
|
505
|
-
}
|
|
506
|
-
// Retry on other errors if we haven't exhausted retries
|
|
507
|
-
if (attempt < maxRetries) {
|
|
508
|
-
console.warn(`Planning Agent: API call failed on attempt ${attempt + 1}, retrying...`);
|
|
509
|
-
await new Promise(resolve => setTimeout(resolve, 1000 * (attempt + 1))); // Brief delay before retry
|
|
510
|
-
continue;
|
|
358
|
+
else if (errorMsg.includes('401') || errorMsg.includes('Unauthorized')) {
|
|
359
|
+
throw new Error(`Failed to generate plan: API authentication failed. Please check your COHERE_API_KEY is valid.`);
|
|
360
|
+
}
|
|
361
|
+
else if (errorMsg.includes('429') || errorMsg.includes('rate limit') || errorMsg.includes('TooManyRequests')) {
|
|
362
|
+
// Check if it's a trial key monthly limit
|
|
363
|
+
const isTrialLimit = errorMsg.includes('Trial key') || errorMsg.includes('1000 API calls');
|
|
364
|
+
if (isTrialLimit) {
|
|
365
|
+
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`);
|
|
511
366
|
}
|
|
512
|
-
|
|
513
|
-
throw new Error(`Failed to generate plan: API call failed after ${maxRetries + 1} attempts. ${errorMsg}`);
|
|
367
|
+
throw new Error(`Failed to generate plan: API rate limit exceeded (429). Please wait and try again or upgrade your API key.`);
|
|
514
368
|
}
|
|
369
|
+
throw new Error(`Failed to generate plan: API call failed. ${errorMsg}`);
|
|
515
370
|
}
|
|
516
|
-
//
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
371
|
+
// Check for empty response
|
|
372
|
+
if (!response || response.trim().length === 0) {
|
|
373
|
+
console.error('Planning Agent: Empty response from API');
|
|
374
|
+
throw new Error('Failed to generate plan: API returned empty response');
|
|
375
|
+
}
|
|
376
|
+
try {
|
|
377
|
+
// Try to extract JSON from response (handle cases where LLM adds extra text)
|
|
378
|
+
let jsonStr = response.trim();
|
|
379
|
+
// Try to find JSON array in response
|
|
380
|
+
const jsonArrayMatch = jsonStr.match(/\[[\s\S]*\]/);
|
|
381
|
+
if (jsonArrayMatch) {
|
|
382
|
+
jsonStr = jsonArrayMatch[0];
|
|
383
|
+
}
|
|
384
|
+
const subPlans = JSON.parse(jsonStr);
|
|
385
|
+
// Validate subPlans
|
|
386
|
+
if (!Array.isArray(subPlans) || subPlans.length === 0) {
|
|
387
|
+
console.error('Planning Agent: Invalid subPlans array:', subPlans);
|
|
388
|
+
throw new Error('Failed to generate plan: API returned empty or invalid sub-plans array');
|
|
389
|
+
}
|
|
390
|
+
return {
|
|
391
|
+
id: `plan_${Date.now()}`,
|
|
392
|
+
goal,
|
|
393
|
+
description: goal,
|
|
394
|
+
subPlans,
|
|
395
|
+
status: 'draft',
|
|
396
|
+
createdAt: new Date(),
|
|
397
|
+
updatedAt: new Date(),
|
|
398
|
+
dependencies: [],
|
|
399
|
+
metadata: {
|
|
400
|
+
memoriesUsed: memories.map(m => m.id || ''),
|
|
401
|
+
reflections: reflections,
|
|
402
|
+
complexity: 'medium',
|
|
403
|
+
priority: 5,
|
|
404
|
+
},
|
|
405
|
+
};
|
|
406
|
+
}
|
|
407
|
+
catch (e) {
|
|
408
|
+
// User-friendly error for minimal mode
|
|
409
|
+
console.error('Planning agent returned an unexpected response.');
|
|
410
|
+
console.error('This is usually a provider/model issue. Try again or check your AI provider configuration.');
|
|
411
|
+
// Verbose details for debugging (when CODEHERE_CLI_STYLE=verbose)
|
|
412
|
+
if (process.env.CODEHERE_CLI_STYLE === 'verbose') {
|
|
413
|
+
console.error('\nDebug details:');
|
|
414
|
+
console.error(' Response length:', response?.length || 0);
|
|
415
|
+
console.error(' Response preview:', response?.substring(0, 200) || 'empty');
|
|
416
|
+
console.error(' Parse error:', e instanceof Error ? e.message : String(e));
|
|
533
417
|
}
|
|
534
|
-
|
|
418
|
+
throw new Error(`Planning failed: AI response was not valid JSON. Try again or switch providers.`);
|
|
535
419
|
}
|
|
536
|
-
throw new Error(`Planning failed: AI response was not valid JSON after ${maxRetries + 1} attempts. The AI provider may not be following JSON format requirements. Try again or switch providers.`);
|
|
537
420
|
}
|
|
538
421
|
/**
|
|
539
422
|
* Assess confidence in plan quality
|
|
@@ -543,10 +426,7 @@ export class PlanningAgent {
|
|
|
543
426
|
// More detailed sub-plans = higher confidence
|
|
544
427
|
const memoryFactor = Math.min(memories.length / 10, 1.0);
|
|
545
428
|
const detailFactor = Math.min(plan.subPlans.length / 5, 1.0);
|
|
546
|
-
const dependencyFactor = plan.subPlans.some(sp =>
|
|
547
|
-
const deps = Array.isArray(sp.dependencies) ? sp.dependencies : [];
|
|
548
|
-
return deps.length > 0;
|
|
549
|
-
}) ? 0.2 : 0;
|
|
429
|
+
const dependencyFactor = plan.subPlans.some(sp => sp.dependencies.length > 0) ? 0.2 : 0;
|
|
550
430
|
return Math.min(memoryFactor * 0.4 + detailFactor * 0.4 + dependencyFactor, 1.0);
|
|
551
431
|
}
|
|
552
432
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Dependency Container
|
|
3
3
|
* Simple DI container for wiring up dependencies
|
|
4
4
|
*/
|
|
5
|
+
import { CohereAIService } from '../../infrastructure/ai/cohere-ai-service.js';
|
|
5
6
|
import { SQLiteEmbeddingRepository } from '../../infrastructure/storage/sqlite-embedding-repository.js';
|
|
6
7
|
import { SQLiteMemoryRepository } from '../../infrastructure/storage/sqlite-memory-repository.js';
|
|
7
8
|
import { MemoryStreamService } from '../../infrastructure/storage/memory-stream-service.js';
|
|
@@ -144,7 +145,7 @@ export class DependencyContainer {
|
|
|
144
145
|
this._providerRegistry.register(cohereProvider);
|
|
145
146
|
}
|
|
146
147
|
catch (error) {
|
|
147
|
-
|
|
148
|
+
// Silently skip — provider not configured
|
|
148
149
|
}
|
|
149
150
|
// Phase 4E: Register LocalLLMProvider if CODEHERE_AI_PROVIDER=local and base URL is set
|
|
150
151
|
const requestedProvider = process.env.CODEHERE_AI_PROVIDER?.toLowerCase();
|
|
@@ -166,7 +167,7 @@ export class DependencyContainer {
|
|
|
166
167
|
this._providerRegistry.register(openaiProvider);
|
|
167
168
|
}
|
|
168
169
|
catch (error) {
|
|
169
|
-
|
|
170
|
+
// Silently skip — provider not configured
|
|
170
171
|
}
|
|
171
172
|
}
|
|
172
173
|
// Register OpenRouterProvider if API key is available
|
|
@@ -176,7 +177,7 @@ export class DependencyContainer {
|
|
|
176
177
|
this._providerRegistry.register(openRouterProvider);
|
|
177
178
|
}
|
|
178
179
|
catch (error) {
|
|
179
|
-
|
|
180
|
+
// Silently skip — provider not configured
|
|
180
181
|
}
|
|
181
182
|
}
|
|
182
183
|
// Set default provider based on CODEHERE_AI_PROVIDER env var
|
|
@@ -220,10 +221,9 @@ export class DependencyContainer {
|
|
|
220
221
|
}
|
|
221
222
|
}
|
|
222
223
|
catch (error) {
|
|
223
|
-
// Fallback to
|
|
224
|
-
console.warn('[DependencyContainer] ProviderAIService initialization failed, falling back to
|
|
225
|
-
|
|
226
|
-
this._aiService = new ProviderAIService(fakeProvider);
|
|
224
|
+
// Fallback to CohereAIService if provider registry fails
|
|
225
|
+
console.warn('[DependencyContainer] ProviderAIService initialization failed, falling back to CohereAIService:', error instanceof Error ? error.message : String(error));
|
|
226
|
+
this._aiService = new CohereAIService();
|
|
227
227
|
if (this._contextCompressor) {
|
|
228
228
|
this._aiService._contextCompressor = this._contextCompressor;
|
|
229
229
|
}
|
|
@@ -580,8 +580,7 @@ export class DependencyContainer {
|
|
|
580
580
|
return new ProviderAIService(provider);
|
|
581
581
|
}
|
|
582
582
|
catch {
|
|
583
|
-
|
|
584
|
-
return new ProviderAIService(new FakeProvider());
|
|
583
|
+
return new CohereAIService();
|
|
585
584
|
}
|
|
586
585
|
})();
|
|
587
586
|
this._contextCompressor = new ContextCompressor(tempAIService);
|
|
@@ -593,15 +592,5 @@ export class DependencyContainer {
|
|
|
593
592
|
return this._contextCompressor;
|
|
594
593
|
}
|
|
595
594
|
}
|
|
596
|
-
|
|
597
|
-
// The container is only instantiated on first property access
|
|
598
|
-
let _containerInstance;
|
|
599
|
-
export const container = new Proxy({}, {
|
|
600
|
-
get(_target, prop) {
|
|
601
|
-
if (!_containerInstance) {
|
|
602
|
-
_containerInstance = new DependencyContainer();
|
|
603
|
-
}
|
|
604
|
-
return _containerInstance[prop];
|
|
605
|
-
}
|
|
606
|
-
});
|
|
595
|
+
export const container = new DependencyContainer();
|
|
607
596
|
//# sourceMappingURL=dependency-container.js.map
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Provides seamless experience - user just types what they want
|
|
5
5
|
* MEMORY-AWARE: Uses Memory Stream to inform routing decisions
|
|
6
6
|
*/
|
|
7
|
+
const DEBUG = process.env.CODEHERE_DEBUG === '1';
|
|
7
8
|
import { QueryIntentClassifier } from '../../domain/services/query-intent-classifier.js';
|
|
8
9
|
import { validateQuery } from '../../infrastructure/security/input-validator.js';
|
|
9
10
|
import { executionTracer } from '../../infrastructure/observability/execution-tracer.js';
|
|
@@ -105,11 +106,8 @@ export class IntelligentRouter {
|
|
|
105
106
|
'index': 'index',
|
|
106
107
|
'plan': 'plan',
|
|
107
108
|
'find': 'ask',
|
|
108
|
-
'understand': 'ask',
|
|
109
|
+
'understand': 'ask',
|
|
109
110
|
'general': 'ask',
|
|
110
|
-
'review': 'ask', // Code review questions → semantic search
|
|
111
|
-
'test': 'ask', // Test-related questions → semantic search
|
|
112
|
-
'refactor': 'edit', // Single-file refactoring
|
|
113
111
|
};
|
|
114
112
|
const selectedAction = actionMap[intent] || 'ask';
|
|
115
113
|
const selectedAgent = selectedAction === 'orchestrate' ? 'multi-agent-orchestrator' :
|
|
@@ -167,7 +165,8 @@ export class IntelligentRouter {
|
|
|
167
165
|
});
|
|
168
166
|
// Debug logging for compound instructions
|
|
169
167
|
if (isCompoundInstruction) {
|
|
170
|
-
|
|
168
|
+
if (DEBUG)
|
|
169
|
+
console.log(`[IntelligentRouter] Compound instruction detected. Classified: ${classifiedIntent}, Memory: ${memoryInformedIntent}, Using: ${intent}`);
|
|
171
170
|
}
|
|
172
171
|
// 3. Check if indexing is needed
|
|
173
172
|
const needsIndex = await this.checkIfIndexingNeeded(request.context);
|
|
@@ -201,55 +200,48 @@ export class IntelligentRouter {
|
|
|
201
200
|
};
|
|
202
201
|
}
|
|
203
202
|
// Route based on intent (pass memories for context)
|
|
203
|
+
// Design: default to ask (LLM answers anything). Only use specialized
|
|
204
|
+
// handlers when the user explicitly targets a file or action.
|
|
204
205
|
let routingResult;
|
|
205
206
|
try {
|
|
206
207
|
switch (intent) {
|
|
207
|
-
case 'explain':
|
|
208
|
-
//
|
|
209
|
-
|
|
208
|
+
case 'explain': {
|
|
209
|
+
// Only use file-explain if the query contains a real file path
|
|
210
|
+
const filepath = this.extractFilepath(query);
|
|
211
|
+
if (filepath) {
|
|
212
|
+
routingResult = await this.handleExplainWithWorkflow(query, symbols, memories);
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
// No file path → treat as a question about the codebase
|
|
216
|
+
routingResult = await this.handleAsk(query, memories);
|
|
217
|
+
}
|
|
218
|
+
break;
|
|
219
|
+
}
|
|
220
|
+
case 'modify':
|
|
221
|
+
case 'debug':
|
|
222
|
+
case 'implement': {
|
|
223
|
+
// Only route to edit if query references a specific file
|
|
224
|
+
const editPath = this.extractFilepath(query);
|
|
225
|
+
if (editPath) {
|
|
226
|
+
routingResult = await this.handleEdit(query, symbols, memories);
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
// "fix the auth" without a file → ask (LLM explains what to do)
|
|
230
|
+
routingResult = await this.handleAsk(query, memories);
|
|
231
|
+
}
|
|
210
232
|
break;
|
|
233
|
+
}
|
|
211
234
|
case 'multi-file-modify':
|
|
212
|
-
// Multi-file operations require planning AND execution
|
|
213
235
|
routingResult = await this.handleOrchestrate(query, memories);
|
|
214
236
|
break;
|
|
215
|
-
case 'modify':
|
|
216
|
-
case 'debug': // 'fix' maps to 'debug'
|
|
217
|
-
case 'implement':
|
|
218
|
-
routingResult = await this.handleEdit(query, symbols, memories);
|
|
219
|
-
break;
|
|
220
237
|
case 'index':
|
|
221
238
|
routingResult = await this.handleIndex(query);
|
|
222
239
|
break;
|
|
223
240
|
case 'plan':
|
|
224
|
-
// Complex goals need planning
|
|
225
241
|
routingResult = await this.handlePlan(query, memories);
|
|
226
242
|
break;
|
|
227
|
-
case 'find':
|
|
228
|
-
// For "find" queries, use AskQuestion to search the codebase
|
|
229
|
-
routingResult = await this.handleAsk(query, memories);
|
|
230
|
-
break;
|
|
231
|
-
case 'understand':
|
|
232
|
-
case 'general':
|
|
233
|
-
// CRITICAL FIX: Simple questions should NEVER use ReAct
|
|
234
|
-
// Only use ReAct for truly complex multi-step queries
|
|
235
|
-
// Simple questions (explain, find, understand) go directly to AskQuestionUseCase
|
|
236
|
-
if (this.isSimpleQuestion(query)) {
|
|
237
|
-
routingResult = await this.handleAsk(query, memories);
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
// For complex queries, check if ReAct is appropriate
|
|
241
|
-
const shouldUseReAct = this.shouldUseReAct(query, memories);
|
|
242
|
-
if (shouldUseReAct) {
|
|
243
|
-
routingResult = await this.handleReAct(query, memories);
|
|
244
|
-
}
|
|
245
|
-
else {
|
|
246
|
-
// Default to AskQuestion for understand/general queries
|
|
247
|
-
routingResult = await this.handleAsk(query, memories);
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
break;
|
|
251
243
|
default:
|
|
252
|
-
//
|
|
244
|
+
// Everything else → ask. The LLM is smart enough.
|
|
253
245
|
routingResult = await this.handleAsk(query, memories);
|
|
254
246
|
break;
|
|
255
247
|
}
|
|
@@ -464,18 +456,6 @@ Respond with ONLY the intent word (e.g., "explain", "plan", "understand"):`;
|
|
|
464
456
|
return indicatorCount >= 2 || query.split(' ').length > 20;
|
|
465
457
|
}
|
|
466
458
|
async checkIfIndexingNeeded(context) {
|
|
467
|
-
// Quick mode - bypass indexing entirely, use direct file reading
|
|
468
|
-
if (context?.quickMode) {
|
|
469
|
-
return false;
|
|
470
|
-
}
|
|
471
|
-
// FAKE_AI mode never needs indexing - for demos and testing
|
|
472
|
-
if (process.env.CODEHERE_FAKE_AI === '1') {
|
|
473
|
-
return false;
|
|
474
|
-
}
|
|
475
|
-
// Local provider with no embeddings support - skip indexing
|
|
476
|
-
if (process.env.CODEHERE_AI_PROVIDER === 'local') {
|
|
477
|
-
return false;
|
|
478
|
-
}
|
|
479
459
|
if (context?.hasIndex === false)
|
|
480
460
|
return true;
|
|
481
461
|
try {
|
|
@@ -608,10 +588,14 @@ Respond with ONLY the intent word (e.g., "explain", "plan", "understand"):`;
|
|
|
608
588
|
};
|
|
609
589
|
}
|
|
610
590
|
}
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
591
|
+
if (DEBUG)
|
|
592
|
+
console.log(`[IntelligentRouter] Edit query: ${query}`);
|
|
593
|
+
if (DEBUG)
|
|
594
|
+
console.log(`[IntelligentRouter] Extracted filepath: ${filepath || 'none'}`);
|
|
595
|
+
if (DEBUG)
|
|
596
|
+
console.log(`[IntelligentRouter] Extracted instruction: ${instruction || 'none'}`);
|
|
597
|
+
if (DEBUG)
|
|
598
|
+
console.log(`[IntelligentRouter] Symbols found: ${symbols.join(', ')}`);
|
|
615
599
|
// If no filepath found but we have symbols (class/function names), search for the file
|
|
616
600
|
if (!filepath && symbols.length > 0) {
|
|
617
601
|
// Filter out common words and prioritize capitalized names (likely class/function names)
|
|
@@ -631,11 +615,14 @@ Respond with ONLY the intent word (e.g., "explain", "plan", "understand"):`;
|
|
|
631
615
|
return 1;
|
|
632
616
|
return b.length - a.length; // Longer names are more specific
|
|
633
617
|
});
|
|
634
|
-
|
|
618
|
+
if (DEBUG)
|
|
619
|
+
console.log(`[IntelligentRouter] Filtered symbols: ${prioritizedSymbols.join(', ')}`);
|
|
635
620
|
if (prioritizedSymbols.length > 0) {
|
|
636
|
-
|
|
621
|
+
if (DEBUG)
|
|
622
|
+
console.log(`[IntelligentRouter] Searching for file containing symbol: ${prioritizedSymbols[0]}`);
|
|
637
623
|
filepath = await this.findFileBySymbol(prioritizedSymbols[0], query);
|
|
638
|
-
|
|
624
|
+
if (DEBUG)
|
|
625
|
+
console.log(`[IntelligentRouter] Found filepath: ${filepath || 'none'}`);
|
|
639
626
|
}
|
|
640
627
|
}
|
|
641
628
|
if (!filepath || !instruction) {
|
|
@@ -649,7 +636,8 @@ Respond with ONLY the intent word (e.g., "explain", "plan", "understand"):`;
|
|
|
649
636
|
memoriesUsed: memories?.length || 0,
|
|
650
637
|
};
|
|
651
638
|
}
|
|
652
|
-
|
|
639
|
+
if (DEBUG)
|
|
640
|
+
console.log(`[IntelligentRouter] Proceeding with edit: ${filepath} - ${instruction}`);
|
|
653
641
|
try {
|
|
654
642
|
const { container } = await import('./dependency-container.js');
|
|
655
643
|
const useCase = container.editFileUseCase;
|
|
@@ -893,7 +881,8 @@ Respond with ONLY the intent word (e.g., "explain", "plan", "understand"):`;
|
|
|
893
881
|
*/
|
|
894
882
|
async findFileBySymbol(symbol, query) {
|
|
895
883
|
try {
|
|
896
|
-
|
|
884
|
+
if (DEBUG)
|
|
885
|
+
console.log(`[IntelligentRouter] Searching for symbol: ${symbol}`);
|
|
897
886
|
const { container } = await import('./dependency-container.js');
|
|
898
887
|
const useCase = container.askQuestionUseCase;
|
|
899
888
|
// Search for the symbol - try multiple query variations
|
|
@@ -904,7 +893,8 @@ Respond with ONLY the intent word (e.g., "explain", "plan", "understand"):`;
|
|
|
904
893
|
`${symbol} class or function`,
|
|
905
894
|
];
|
|
906
895
|
for (const searchQuery of searchQueries) {
|
|
907
|
-
|
|
896
|
+
if (DEBUG)
|
|
897
|
+
console.log(`[IntelligentRouter] Trying search query: ${searchQuery}`);
|
|
908
898
|
const result = await useCase.execute({ query: searchQuery, maxResults: 5 });
|
|
909
899
|
// Look for filepath in results
|
|
910
900
|
if (result.chunks && result.chunks.length > 0) {
|
|
@@ -917,7 +907,8 @@ Respond with ONLY the intent word (e.g., "explain", "plan", "understand"):`;
|
|
|
917
907
|
if (filepath.startsWith(cwd)) {
|
|
918
908
|
filepath = filepath.substring(cwd.length + 1); // Remove leading slash
|
|
919
909
|
}
|
|
920
|
-
|
|
910
|
+
if (DEBUG)
|
|
911
|
+
console.log(`[IntelligentRouter] Found filepath from search: ${filepath}`);
|
|
921
912
|
return filepath;
|
|
922
913
|
}
|
|
923
914
|
}
|
|
@@ -925,7 +916,8 @@ Respond with ONLY the intent word (e.g., "explain", "plan", "understand"):`;
|
|
|
925
916
|
if (result.answer) {
|
|
926
917
|
const filepathMatch = result.answer.match(/([^\s]+\.(ts|js|tsx|jsx|py|java|cpp|go|rs|rb|php|vue|svelte|html|css|json|yaml|yml|md|txt|sh|bash))/);
|
|
927
918
|
if (filepathMatch) {
|
|
928
|
-
|
|
919
|
+
if (DEBUG)
|
|
920
|
+
console.log(`[IntelligentRouter] Found filepath from answer: ${filepathMatch[1]}`);
|
|
929
921
|
return filepathMatch[1];
|
|
930
922
|
}
|
|
931
923
|
}
|