codehere 0.3.0 → 0.5.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +230 -42
- package/dist/application/agents/documentation-agent.d.ts +24 -0
- package/dist/application/agents/documentation-agent.d.ts.map +1 -0
- package/dist/application/agents/documentation-agent.js +399 -0
- package/dist/application/agents/documentation-agent.js.map +1 -0
- package/dist/application/agents/execution-agent.d.ts +11 -0
- package/dist/application/agents/execution-agent.d.ts.map +1 -1
- package/dist/application/agents/execution-agent.js +289 -80
- package/dist/application/agents/execution-agent.js.map +1 -1
- package/dist/application/agents/multi-agent-orchestrator.d.ts +3 -0
- package/dist/application/agents/multi-agent-orchestrator.d.ts.map +1 -1
- package/dist/application/agents/multi-agent-orchestrator.js +86 -0
- package/dist/application/agents/multi-agent-orchestrator.js.map +1 -1
- package/dist/application/agents/planning-agent.d.ts +3 -0
- package/dist/application/agents/planning-agent.d.ts.map +1 -1
- package/dist/application/agents/planning-agent.js +146 -70
- package/dist/application/agents/planning-agent.js.map +1 -1
- package/dist/application/agents/product-requirements-agent.d.ts +21 -0
- package/dist/application/agents/product-requirements-agent.d.ts.map +1 -0
- package/dist/application/agents/product-requirements-agent.js +247 -0
- package/dist/application/agents/product-requirements-agent.js.map +1 -0
- package/dist/application/agents/validation-agent.d.ts +5 -1
- package/dist/application/agents/validation-agent.d.ts.map +1 -1
- package/dist/application/agents/validation-agent.js +156 -21
- package/dist/application/agents/validation-agent.js.map +1 -1
- package/dist/application/services/dependency-container.d.ts +46 -2
- package/dist/application/services/dependency-container.d.ts.map +1 -1
- package/dist/application/services/dependency-container.js +177 -7
- package/dist/application/services/dependency-container.js.map +1 -1
- package/dist/application/services/intelligent-router.d.ts +13 -0
- package/dist/application/services/intelligent-router.d.ts.map +1 -1
- package/dist/application/services/intelligent-router.js +306 -90
- package/dist/application/services/intelligent-router.js.map +1 -1
- package/dist/application/use-cases/ask-question-use-case.d.ts +19 -0
- package/dist/application/use-cases/ask-question-use-case.d.ts.map +1 -1
- package/dist/application/use-cases/ask-question-use-case.js +125 -46
- package/dist/application/use-cases/ask-question-use-case.js.map +1 -1
- package/dist/application/use-cases/edit-file-use-case.d.ts.map +1 -1
- package/dist/application/use-cases/edit-file-use-case.js +16 -1
- package/dist/application/use-cases/edit-file-use-case.js.map +1 -1
- package/dist/domain/entities/documentation.d.ts +35 -0
- package/dist/domain/entities/documentation.d.ts.map +1 -0
- package/dist/domain/entities/documentation.js +6 -0
- package/dist/domain/entities/documentation.js.map +1 -0
- package/dist/domain/entities/product-requirements.d.ts +50 -0
- package/dist/domain/entities/product-requirements.d.ts.map +1 -0
- package/dist/domain/entities/product-requirements.js +6 -0
- package/dist/domain/entities/product-requirements.js.map +1 -0
- package/dist/domain/entities/task.d.ts +152 -0
- package/dist/domain/entities/task.d.ts.map +1 -0
- package/dist/domain/entities/task.js +61 -0
- package/dist/domain/entities/task.js.map +1 -0
- package/dist/domain/errors/embeddings-not-found-error.d.ts +9 -0
- package/dist/domain/errors/embeddings-not-found-error.d.ts.map +1 -0
- package/dist/domain/errors/embeddings-not-found-error.js +13 -0
- package/dist/domain/errors/embeddings-not-found-error.js.map +1 -0
- package/dist/domain/interfaces/agent.interface.d.ts +15 -0
- package/dist/domain/interfaces/agent.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/agent.interface.js +6 -0
- package/dist/domain/interfaces/agent.interface.js.map +1 -0
- package/dist/domain/interfaces/embedding-repository.interface.d.ts +5 -0
- package/dist/domain/interfaces/embedding-repository.interface.d.ts.map +1 -1
- package/dist/domain/services/environment-mode-manager.d.ts +12 -0
- package/dist/domain/services/environment-mode-manager.d.ts.map +1 -0
- package/dist/domain/services/environment-mode-manager.js +22 -0
- package/dist/domain/services/environment-mode-manager.js.map +1 -0
- package/dist/domain/services/risk-tier-detector.d.ts +17 -0
- package/dist/domain/services/risk-tier-detector.d.ts.map +1 -0
- package/dist/domain/services/risk-tier-detector.js +78 -0
- package/dist/domain/services/risk-tier-detector.js.map +1 -0
- package/dist/embed.d.ts.map +1 -1
- package/dist/embed.js +18 -8
- package/dist/embed.js.map +1 -1
- package/dist/formatter.d.ts.map +1 -1
- package/dist/formatter.js +10 -3
- package/dist/formatter.js.map +1 -1
- package/dist/index.js +398 -164
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/ai/cohere-ai-service.d.ts.map +1 -1
- package/dist/infrastructure/ai/cohere-ai-service.js +18 -5
- package/dist/infrastructure/ai/cohere-ai-service.js.map +1 -1
- package/dist/infrastructure/ai/fake-ai-service.d.ts +22 -0
- package/dist/infrastructure/ai/fake-ai-service.d.ts.map +1 -0
- package/dist/infrastructure/ai/fake-ai-service.js +59 -0
- package/dist/infrastructure/ai/fake-ai-service.js.map +1 -0
- package/dist/infrastructure/ai/provider-ai-service.d.ts +59 -0
- package/dist/infrastructure/ai/provider-ai-service.d.ts.map +1 -0
- package/dist/infrastructure/ai/provider-ai-service.js +477 -0
- package/dist/infrastructure/ai/provider-ai-service.js.map +1 -0
- package/dist/infrastructure/cache/embedding-cache.d.ts +13 -1
- package/dist/infrastructure/cache/embedding-cache.d.ts.map +1 -1
- package/dist/infrastructure/cache/embedding-cache.js +80 -9
- package/dist/infrastructure/cache/embedding-cache.js.map +1 -1
- package/dist/infrastructure/cache/query-result-cache.d.ts +14 -55
- package/dist/infrastructure/cache/query-result-cache.d.ts.map +1 -1
- package/dist/infrastructure/cache/query-result-cache.js +40 -112
- package/dist/infrastructure/cache/query-result-cache.js.map +1 -1
- package/dist/infrastructure/cache/response-cache.d.ts +18 -0
- package/dist/infrastructure/cache/response-cache.d.ts.map +1 -0
- package/dist/infrastructure/cache/response-cache.js +48 -0
- package/dist/infrastructure/cache/response-cache.js.map +1 -0
- package/dist/infrastructure/cache/security-scan-cache.d.ts +8 -49
- package/dist/infrastructure/cache/security-scan-cache.d.ts.map +1 -1
- package/dist/infrastructure/cache/security-scan-cache.js +25 -102
- package/dist/infrastructure/cache/security-scan-cache.js.map +1 -1
- package/dist/infrastructure/completion/bash-completion.d.ts +2 -3
- package/dist/infrastructure/completion/bash-completion.d.ts.map +1 -1
- package/dist/infrastructure/completion/bash-completion.js +11 -87
- package/dist/infrastructure/completion/bash-completion.js.map +1 -1
- package/dist/infrastructure/completion/fish-completion.d.ts +2 -3
- package/dist/infrastructure/completion/fish-completion.d.ts.map +1 -1
- package/dist/infrastructure/completion/fish-completion.js +15 -58
- package/dist/infrastructure/completion/fish-completion.js.map +1 -1
- package/dist/infrastructure/completion/zsh-completion.d.ts +2 -3
- package/dist/infrastructure/completion/zsh-completion.d.ts.map +1 -1
- package/dist/infrastructure/completion/zsh-completion.js +18 -73
- package/dist/infrastructure/completion/zsh-completion.js.map +1 -1
- package/dist/infrastructure/config/config-manager.js +2 -2
- package/dist/infrastructure/config/config-manager.js.map +1 -1
- package/dist/infrastructure/context/conversation-context.d.ts +54 -0
- package/dist/infrastructure/context/conversation-context.d.ts.map +1 -0
- package/dist/infrastructure/context/conversation-context.js +128 -0
- package/dist/infrastructure/context/conversation-context.js.map +1 -0
- package/dist/infrastructure/context/session-manager.d.ts +42 -0
- package/dist/infrastructure/context/session-manager.d.ts.map +1 -0
- package/dist/infrastructure/context/session-manager.js +94 -0
- package/dist/infrastructure/context/session-manager.js.map +1 -0
- package/dist/infrastructure/cost/cost-tracker.d.ts +1 -0
- package/dist/infrastructure/cost/cost-tracker.d.ts.map +1 -1
- package/dist/infrastructure/cost/cost-tracker.js +12 -5
- package/dist/infrastructure/cost/cost-tracker.js.map +1 -1
- package/dist/infrastructure/governance/nist-ai-rmf.d.ts +6 -8
- package/dist/infrastructure/governance/nist-ai-rmf.d.ts.map +1 -1
- package/dist/infrastructure/governance/nist-ai-rmf.js +6 -8
- package/dist/infrastructure/governance/nist-ai-rmf.js.map +1 -1
- package/dist/infrastructure/governance/policy-as-code.d.ts +6 -8
- package/dist/infrastructure/governance/policy-as-code.d.ts.map +1 -1
- package/dist/infrastructure/governance/policy-as-code.js +6 -8
- package/dist/infrastructure/governance/policy-as-code.js.map +1 -1
- package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts +7 -9
- package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts.map +1 -1
- package/dist/infrastructure/governance/prompt-to-code-lineage.js +7 -9
- package/dist/infrastructure/governance/prompt-to-code-lineage.js.map +1 -1
- package/dist/infrastructure/providers/cohere-provider.d.ts +39 -0
- package/dist/infrastructure/providers/cohere-provider.d.ts.map +1 -0
- package/dist/infrastructure/providers/cohere-provider.js +444 -0
- package/dist/infrastructure/providers/cohere-provider.js.map +1 -0
- package/dist/infrastructure/providers/fake-provider.d.ts +43 -0
- package/dist/infrastructure/providers/fake-provider.d.ts.map +1 -0
- package/dist/infrastructure/providers/fake-provider.js +130 -0
- package/dist/infrastructure/providers/fake-provider.js.map +1 -0
- package/dist/infrastructure/providers/local-llm-provider.d.ts +49 -0
- package/dist/infrastructure/providers/local-llm-provider.d.ts.map +1 -0
- package/dist/infrastructure/providers/local-llm-provider.js +330 -0
- package/dist/infrastructure/providers/local-llm-provider.js.map +1 -0
- package/dist/infrastructure/providers/model-config.types.d.ts +70 -0
- package/dist/infrastructure/providers/model-config.types.d.ts.map +1 -0
- package/dist/infrastructure/providers/model-config.types.js +9 -0
- package/dist/infrastructure/providers/model-config.types.js.map +1 -0
- package/dist/infrastructure/providers/model-provider.interface.d.ts +113 -0
- package/dist/infrastructure/providers/model-provider.interface.d.ts.map +1 -0
- package/dist/infrastructure/providers/model-provider.interface.js +8 -0
- package/dist/infrastructure/providers/model-provider.interface.js.map +1 -0
- package/dist/infrastructure/providers/openai-provider.d.ts +38 -0
- package/dist/infrastructure/providers/openai-provider.d.ts.map +1 -0
- package/dist/infrastructure/providers/openai-provider.js +413 -0
- package/dist/infrastructure/providers/openai-provider.js.map +1 -0
- package/dist/infrastructure/providers/openrouter-provider.d.ts +42 -0
- package/dist/infrastructure/providers/openrouter-provider.d.ts.map +1 -0
- package/dist/infrastructure/providers/openrouter-provider.js +399 -0
- package/dist/infrastructure/providers/openrouter-provider.js.map +1 -0
- package/dist/infrastructure/providers/operation-provider-resolver.d.ts +48 -0
- package/dist/infrastructure/providers/operation-provider-resolver.d.ts.map +1 -0
- package/dist/infrastructure/providers/operation-provider-resolver.js +105 -0
- package/dist/infrastructure/providers/operation-provider-resolver.js.map +1 -0
- package/dist/infrastructure/providers/provider-config-loader.d.ts +37 -0
- package/dist/infrastructure/providers/provider-config-loader.d.ts.map +1 -0
- package/dist/infrastructure/providers/provider-config-loader.js +120 -0
- package/dist/infrastructure/providers/provider-config-loader.js.map +1 -0
- package/dist/infrastructure/providers/provider-registry.d.ts +53 -0
- package/dist/infrastructure/providers/provider-registry.d.ts.map +1 -0
- package/dist/infrastructure/providers/provider-registry.js +88 -0
- package/dist/infrastructure/providers/provider-registry.js.map +1 -0
- package/dist/infrastructure/serialization/toon-serializer.d.ts +45 -0
- package/dist/infrastructure/serialization/toon-serializer.d.ts.map +1 -0
- package/dist/infrastructure/serialization/toon-serializer.js +119 -0
- package/dist/infrastructure/serialization/toon-serializer.js.map +1 -0
- package/dist/infrastructure/storage/embeddings-path.d.ts +18 -0
- package/dist/infrastructure/storage/embeddings-path.d.ts.map +1 -0
- package/dist/infrastructure/storage/embeddings-path.js +37 -0
- package/dist/infrastructure/storage/embeddings-path.js.map +1 -0
- package/dist/infrastructure/storage/plan-repository.d.ts +2 -0
- package/dist/infrastructure/storage/plan-repository.d.ts.map +1 -1
- package/dist/infrastructure/storage/plan-repository.js +36 -73
- package/dist/infrastructure/storage/plan-repository.js.map +1 -1
- package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +10 -1
- package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +1 -1
- package/dist/infrastructure/storage/sqlite-embedding-repository.js +37 -3
- package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +1 -1
- package/dist/infrastructure/storage/task-helpers.d.ts +69 -0
- package/dist/infrastructure/storage/task-helpers.d.ts.map +1 -0
- package/dist/infrastructure/storage/task-helpers.js +197 -0
- package/dist/infrastructure/storage/task-helpers.js.map +1 -0
- package/dist/infrastructure/storage/task-repository.d.ts +67 -0
- package/dist/infrastructure/storage/task-repository.d.ts.map +1 -0
- package/dist/infrastructure/storage/task-repository.js +205 -0
- package/dist/infrastructure/storage/task-repository.js.map +1 -0
- package/dist/infrastructure/ux/bi-directional-learning.d.ts +22 -0
- package/dist/infrastructure/ux/bi-directional-learning.d.ts.map +1 -1
- package/dist/infrastructure/ux/bi-directional-learning.js +144 -7
- package/dist/infrastructure/ux/bi-directional-learning.js.map +1 -1
- package/dist/infrastructure/ux/capability-boundaries.d.ts +22 -0
- package/dist/infrastructure/ux/capability-boundaries.d.ts.map +1 -0
- package/dist/infrastructure/ux/capability-boundaries.js +42 -0
- package/dist/infrastructure/ux/capability-boundaries.js.map +1 -0
- package/dist/infrastructure/ux/comprehensive-formatter.d.ts +21 -0
- package/dist/infrastructure/ux/comprehensive-formatter.d.ts.map +1 -0
- package/dist/infrastructure/ux/comprehensive-formatter.js +117 -0
- package/dist/infrastructure/ux/comprehensive-formatter.js.map +1 -0
- package/dist/infrastructure/ux/contextual-feature-discovery.d.ts +5 -18
- package/dist/infrastructure/ux/contextual-feature-discovery.d.ts.map +1 -1
- package/dist/infrastructure/ux/contextual-feature-discovery.js +5 -139
- package/dist/infrastructure/ux/contextual-feature-discovery.js.map +1 -1
- package/dist/infrastructure/ux/feature-discovery.d.ts +3 -33
- package/dist/infrastructure/ux/feature-discovery.d.ts.map +1 -1
- package/dist/infrastructure/ux/feature-discovery.js +5 -181
- package/dist/infrastructure/ux/feature-discovery.js.map +1 -1
- package/dist/infrastructure/ux/feedback-prompt.d.ts +26 -0
- package/dist/infrastructure/ux/feedback-prompt.d.ts.map +1 -0
- package/dist/infrastructure/ux/feedback-prompt.js +45 -0
- package/dist/infrastructure/ux/feedback-prompt.js.map +1 -0
- package/dist/infrastructure/ux/hitl-review-portal.d.ts.map +1 -1
- package/dist/infrastructure/ux/hitl-review-portal.js +4 -1
- package/dist/infrastructure/ux/hitl-review-portal.js.map +1 -1
- package/dist/infrastructure/ux/hitl-validation.d.ts +35 -0
- package/dist/infrastructure/ux/hitl-validation.d.ts.map +1 -1
- package/dist/infrastructure/ux/hitl-validation.js +86 -0
- package/dist/infrastructure/ux/hitl-validation.js.map +1 -1
- package/dist/infrastructure/ux/progress-indicator.d.ts +4 -5
- package/dist/infrastructure/ux/progress-indicator.d.ts.map +1 -1
- package/dist/infrastructure/ux/progress-indicator.js +35 -40
- package/dist/infrastructure/ux/progress-indicator.js.map +1 -1
- package/dist/infrastructure/ux/proportional-friction.d.ts +73 -0
- package/dist/infrastructure/ux/proportional-friction.d.ts.map +1 -0
- package/dist/infrastructure/ux/proportional-friction.js +200 -0
- package/dist/infrastructure/ux/proportional-friction.js.map +1 -0
- package/dist/infrastructure/ux/review-checkpoint.d.ts +3 -1
- package/dist/infrastructure/ux/review-checkpoint.d.ts.map +1 -1
- package/dist/infrastructure/ux/review-checkpoint.js +33 -80
- package/dist/infrastructure/ux/review-checkpoint.js.map +1 -1
- package/dist/infrastructure/ux/staged-feature-intro.d.ts +14 -39
- package/dist/infrastructure/ux/staged-feature-intro.d.ts.map +1 -1
- package/dist/infrastructure/ux/staged-feature-intro.js +12 -132
- package/dist/infrastructure/ux/staged-feature-intro.js.map +1 -1
- package/dist/infrastructure/ux/syntax-highlighter.d.ts +1 -2
- package/dist/infrastructure/ux/syntax-highlighter.d.ts.map +1 -1
- package/dist/infrastructure/ux/syntax-highlighter.js +67 -148
- package/dist/infrastructure/ux/syntax-highlighter.js.map +1 -1
- package/dist/infrastructure/validation/agent-feedback.d.ts +51 -0
- package/dist/infrastructure/validation/agent-feedback.d.ts.map +1 -0
- package/dist/infrastructure/validation/agent-feedback.js +55 -0
- package/dist/infrastructure/validation/agent-feedback.js.map +1 -0
- package/dist/infrastructure/validation/agent-validation-helper.d.ts +75 -0
- package/dist/infrastructure/validation/agent-validation-helper.d.ts.map +1 -0
- package/dist/infrastructure/validation/agent-validation-helper.js +137 -0
- package/dist/infrastructure/validation/agent-validation-helper.js.map +1 -0
- package/dist/infrastructure/validation/feedback-stats.d.ts +99 -0
- package/dist/infrastructure/validation/feedback-stats.d.ts.map +1 -0
- package/dist/infrastructure/validation/feedback-stats.js +173 -0
- package/dist/infrastructure/validation/feedback-stats.js.map +1 -0
- package/dist/infrastructure/validation/review-handler.d.ts +26 -0
- package/dist/infrastructure/validation/review-handler.d.ts.map +1 -0
- package/dist/infrastructure/validation/review-handler.js +40 -0
- package/dist/infrastructure/validation/review-handler.js.map +1 -0
- package/dist/infrastructure/validation/summary-aggregator.d.ts +45 -0
- package/dist/infrastructure/validation/summary-aggregator.d.ts.map +1 -0
- package/dist/infrastructure/validation/summary-aggregator.js +70 -0
- package/dist/infrastructure/validation/summary-aggregator.js.map +1 -0
- package/dist/infrastructure/validation/summary-extractor.d.ts +24 -0
- package/dist/infrastructure/validation/summary-extractor.d.ts.map +1 -0
- package/dist/infrastructure/validation/summary-extractor.js +45 -0
- package/dist/infrastructure/validation/summary-extractor.js.map +1 -0
- package/dist/infrastructure/validation/trace-summary.d.ts +45 -0
- package/dist/infrastructure/validation/trace-summary.d.ts.map +1 -0
- package/dist/infrastructure/validation/trace-summary.js +52 -0
- package/dist/infrastructure/validation/trace-summary.js.map +1 -0
- package/dist/infrastructure/validation/trust-config.d.ts +27 -0
- package/dist/infrastructure/validation/trust-config.d.ts.map +1 -0
- package/dist/infrastructure/validation/trust-config.js +113 -0
- package/dist/infrastructure/validation/trust-config.js.map +1 -0
- package/dist/infrastructure/xai/attention-visualizer.d.ts +6 -8
- package/dist/infrastructure/xai/attention-visualizer.d.ts.map +1 -1
- package/dist/infrastructure/xai/attention-visualizer.js +6 -8
- package/dist/infrastructure/xai/attention-visualizer.js.map +1 -1
- package/dist/infrastructure/xai/cot-visualizer.d.ts +6 -9
- package/dist/infrastructure/xai/cot-visualizer.d.ts.map +1 -1
- package/dist/infrastructure/xai/cot-visualizer.js +6 -9
- package/dist/infrastructure/xai/cot-visualizer.js.map +1 -1
- package/dist/infrastructure/xai/decision-tree-log.d.ts +6 -10
- package/dist/infrastructure/xai/decision-tree-log.d.ts.map +1 -1
- package/dist/infrastructure/xai/decision-tree-log.js +6 -10
- package/dist/infrastructure/xai/decision-tree-log.js.map +1 -1
- package/dist/infrastructure/xai/interactive-xai.d.ts +6 -8
- package/dist/infrastructure/xai/interactive-xai.d.ts.map +1 -1
- package/dist/infrastructure/xai/interactive-xai.js +6 -8
- package/dist/infrastructure/xai/interactive-xai.js.map +1 -1
- package/dist/infrastructure/xai/uncertainty-quantifier.d.ts +6 -9
- package/dist/infrastructure/xai/uncertainty-quantifier.d.ts.map +1 -1
- package/dist/infrastructure/xai/uncertainty-quantifier.js +6 -9
- package/dist/infrastructure/xai/uncertainty-quantifier.js.map +1 -1
- package/dist/monitoring.d.ts +1 -1
- package/dist/monitoring.d.ts.map +1 -1
- package/dist/monitoring.js +12 -9
- package/dist/monitoring.js.map +1 -1
- package/dist/parallel-processor.d.ts.map +1 -1
- package/dist/parallel-processor.js +124 -45
- package/dist/parallel-processor.js.map +1 -1
- package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/ask-command.js +225 -86
- package/dist/presentation/cli/commands/ask-command.js.map +1 -1
- package/dist/presentation/cli/commands/config-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/config-command.js +8 -6
- package/dist/presentation/cli/commands/config-command.js.map +1 -1
- package/dist/presentation/cli/commands/docs-command.d.ts +14 -0
- package/dist/presentation/cli/commands/docs-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/docs-command.js +25 -0
- package/dist/presentation/cli/commands/docs-command.js.map +1 -0
- package/dist/presentation/cli/commands/fix-command.d.ts +10 -0
- package/dist/presentation/cli/commands/fix-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/fix-command.js +53 -0
- package/dist/presentation/cli/commands/fix-command.js.map +1 -0
- package/dist/presentation/cli/commands/help-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/help-command.js +2 -0
- package/dist/presentation/cli/commands/help-command.js.map +1 -1
- package/dist/presentation/cli/commands/models-command.d.ts +13 -0
- package/dist/presentation/cli/commands/models-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/models-command.js +194 -0
- package/dist/presentation/cli/commands/models-command.js.map +1 -0
- package/dist/presentation/cli/commands/orchestrate-command.d.ts +1 -0
- package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/orchestrate-command.js +68 -7
- package/dist/presentation/cli/commands/orchestrate-command.js.map +1 -1
- package/dist/presentation/cli/commands/plan-command.d.ts +1 -0
- package/dist/presentation/cli/commands/plan-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/plan-command.js +88 -8
- package/dist/presentation/cli/commands/plan-command.js.map +1 -1
- package/dist/presentation/cli/commands/product-command.d.ts +14 -0
- package/dist/presentation/cli/commands/product-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/product-command.js +22 -0
- package/dist/presentation/cli/commands/product-command.js.map +1 -0
- package/dist/presentation/cli/commands/react-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/react-command.js +3 -1
- package/dist/presentation/cli/commands/react-command.js.map +1 -1
- package/dist/presentation/cli/commands/review-command.d.ts +14 -0
- package/dist/presentation/cli/commands/review-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/review-command.js +154 -0
- package/dist/presentation/cli/commands/review-command.js.map +1 -0
- package/dist/presentation/cli/commands/run-command.d.ts +13 -0
- package/dist/presentation/cli/commands/run-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/run-command.js +188 -0
- package/dist/presentation/cli/commands/run-command.js.map +1 -0
- package/dist/presentation/cli/commands/setup-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/setup-command.js +15 -0
- package/dist/presentation/cli/commands/setup-command.js.map +1 -1
- package/dist/presentation/cli/commands/smart-command.d.ts +3 -1
- package/dist/presentation/cli/commands/smart-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/smart-command.js +92 -6
- package/dist/presentation/cli/commands/smart-command.js.map +1 -1
- package/dist/presentation/cli/commands/status-command.d.ts +14 -0
- package/dist/presentation/cli/commands/status-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/status-command.js +167 -0
- package/dist/presentation/cli/commands/status-command.js.map +1 -0
- package/dist/presentation/cli/commands/suggest-command.d.ts +11 -0
- package/dist/presentation/cli/commands/suggest-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/suggest-command.js +138 -0
- package/dist/presentation/cli/commands/suggest-command.js.map +1 -0
- package/dist/presentation/cli/error-display.d.ts.map +1 -1
- package/dist/presentation/cli/error-display.js +43 -0
- package/dist/presentation/cli/error-display.js.map +1 -1
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +6 -1
- package/dist/search.js.map +1 -1
- package/dist/session.js +19 -2
- package/dist/session.js.map +1 -1
- package/dist/ui.d.ts +6 -0
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +43 -6
- package/dist/ui.js.map +1 -1
- package/package.json +16 -3
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Application Agent: Product Requirements Agent
|
|
3
|
+
* Generates product requirements documents (PRD) and feature specifications
|
|
4
|
+
*/
|
|
5
|
+
import { writeFileSync, existsSync, mkdirSync } from 'fs';
|
|
6
|
+
import { dirname, resolve } from 'path';
|
|
7
|
+
export class ProductRequirementsAgent {
|
|
8
|
+
aiService;
|
|
9
|
+
memoryStream;
|
|
10
|
+
cwd;
|
|
11
|
+
name = 'product-requirements-agent';
|
|
12
|
+
type = 'non-engineering';
|
|
13
|
+
constructor(aiService, memoryStream, cwd = process.cwd()) {
|
|
14
|
+
this.aiService = aiService;
|
|
15
|
+
this.memoryStream = memoryStream;
|
|
16
|
+
this.cwd = cwd;
|
|
17
|
+
}
|
|
18
|
+
async execute(request) {
|
|
19
|
+
const errors = [];
|
|
20
|
+
const documents = [];
|
|
21
|
+
try {
|
|
22
|
+
// Build prompt for PRD generation
|
|
23
|
+
const prompt = this.buildPRDPrompt(request);
|
|
24
|
+
// Generate PRD content using AI
|
|
25
|
+
const prdContent = await this.aiService.chat(prompt, []);
|
|
26
|
+
// Parse structured data from response
|
|
27
|
+
const structured = this.parseStructuredData(prdContent, request);
|
|
28
|
+
// Generate documents based on format option
|
|
29
|
+
const format = request.options?.format || 'both';
|
|
30
|
+
const outputPath = request.options?.outputPath;
|
|
31
|
+
let markdownPath;
|
|
32
|
+
let jsonPath;
|
|
33
|
+
if (format === 'markdown' || format === 'both') {
|
|
34
|
+
if (outputPath) {
|
|
35
|
+
// Write to file
|
|
36
|
+
const fullPath = resolve(this.cwd, outputPath);
|
|
37
|
+
const dir = dirname(fullPath);
|
|
38
|
+
if (!existsSync(dir)) {
|
|
39
|
+
mkdirSync(dir, { recursive: true });
|
|
40
|
+
}
|
|
41
|
+
writeFileSync(fullPath, prdContent, 'utf-8');
|
|
42
|
+
markdownPath = outputPath;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
markdownPath = 'stdout';
|
|
46
|
+
}
|
|
47
|
+
documents.push({
|
|
48
|
+
path: markdownPath,
|
|
49
|
+
type: 'prd',
|
|
50
|
+
format: 'markdown',
|
|
51
|
+
contentPreview: prdContent.slice(0, 200),
|
|
52
|
+
content: prdContent, // Store full content for stdout output
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
if (format === 'json' || format === 'both') {
|
|
56
|
+
const jsonContent = JSON.stringify(structured, null, 2);
|
|
57
|
+
if (outputPath && format === 'json') {
|
|
58
|
+
// Write JSON to file
|
|
59
|
+
const fullPath = resolve(this.cwd, outputPath);
|
|
60
|
+
const dir = dirname(fullPath);
|
|
61
|
+
if (!existsSync(dir)) {
|
|
62
|
+
mkdirSync(dir, { recursive: true });
|
|
63
|
+
}
|
|
64
|
+
writeFileSync(fullPath, jsonContent, 'utf-8');
|
|
65
|
+
jsonPath = outputPath;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
jsonPath = 'stdout';
|
|
69
|
+
}
|
|
70
|
+
documents.push({
|
|
71
|
+
path: jsonPath,
|
|
72
|
+
type: 'features',
|
|
73
|
+
format: 'json',
|
|
74
|
+
contentPreview: jsonContent.slice(0, 200),
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
// Generate technical spec if requested
|
|
78
|
+
if (request.options?.includeTechnicalSpec) {
|
|
79
|
+
const techSpecContent = await this.generateTechnicalSpec(request, structured);
|
|
80
|
+
const techSpecPath = outputPath
|
|
81
|
+
? outputPath.replace(/\.(md|json)$/, '-technical.md')
|
|
82
|
+
: 'stdout';
|
|
83
|
+
if (techSpecPath !== 'stdout' && outputPath) {
|
|
84
|
+
const fullPath = resolve(this.cwd, techSpecPath);
|
|
85
|
+
const dir = dirname(fullPath);
|
|
86
|
+
if (!existsSync(dir)) {
|
|
87
|
+
mkdirSync(dir, { recursive: true });
|
|
88
|
+
}
|
|
89
|
+
writeFileSync(fullPath, techSpecContent, 'utf-8');
|
|
90
|
+
}
|
|
91
|
+
documents.push({
|
|
92
|
+
path: techSpecPath,
|
|
93
|
+
type: 'technical-spec',
|
|
94
|
+
format: 'markdown',
|
|
95
|
+
contentPreview: techSpecContent.slice(0, 200),
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
success: true,
|
|
100
|
+
documents,
|
|
101
|
+
structured,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
return {
|
|
106
|
+
success: false,
|
|
107
|
+
documents,
|
|
108
|
+
structured: {
|
|
109
|
+
features: [],
|
|
110
|
+
},
|
|
111
|
+
errors: [error instanceof Error ? error.message : String(error)],
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
buildPRDPrompt(request) {
|
|
116
|
+
const context = request.context || {};
|
|
117
|
+
const detailLevel = request.options?.detailLevel || 'medium';
|
|
118
|
+
let prompt = `Generate a Product Requirements Document (PRD) for the following goal:
|
|
119
|
+
|
|
120
|
+
Goal: ${request.goal}
|
|
121
|
+
|
|
122
|
+
`;
|
|
123
|
+
if (context.targetUsers) {
|
|
124
|
+
prompt += `Target Users: ${context.targetUsers}\n`;
|
|
125
|
+
}
|
|
126
|
+
if (context.constraints && context.constraints.length > 0) {
|
|
127
|
+
prompt += `Constraints: ${context.constraints.join(', ')}\n`;
|
|
128
|
+
}
|
|
129
|
+
if (context.existingFeatures && context.existingFeatures.length > 0) {
|
|
130
|
+
prompt += `Existing Features: ${context.existingFeatures.join(', ')}\n`;
|
|
131
|
+
}
|
|
132
|
+
if (context.technicalStack) {
|
|
133
|
+
prompt += `Technical Stack: ${context.technicalStack}\n`;
|
|
134
|
+
}
|
|
135
|
+
prompt += `
|
|
136
|
+
Detail Level: ${detailLevel}
|
|
137
|
+
|
|
138
|
+
Please provide:
|
|
139
|
+
1. An executive summary
|
|
140
|
+
2. A list of features with priorities (high/medium/low)
|
|
141
|
+
3. User stories or use cases
|
|
142
|
+
4. Success criteria
|
|
143
|
+
|
|
144
|
+
Format the response as a clear, structured markdown document.
|
|
145
|
+
`;
|
|
146
|
+
return prompt;
|
|
147
|
+
}
|
|
148
|
+
parseStructuredData(content, request) {
|
|
149
|
+
// Check if we're using fake AI (detect by content pattern)
|
|
150
|
+
const isFakeAI = content.startsWith('FAKE_RESPONSE:') || content.length < 200;
|
|
151
|
+
const features = [];
|
|
152
|
+
if (isFakeAI) {
|
|
153
|
+
// For fake AI, generate meaningful features from the goal
|
|
154
|
+
const goal = request.goal.toLowerCase();
|
|
155
|
+
const featureCount = request.options?.detailLevel === 'high' ? 5 :
|
|
156
|
+
request.options?.detailLevel === 'low' ? 2 : 3;
|
|
157
|
+
// Extract key nouns/verbs from goal for feature names
|
|
158
|
+
const words = goal.split(/\s+/).filter(w => w.length > 3);
|
|
159
|
+
const keyTerms = words.slice(0, featureCount);
|
|
160
|
+
keyTerms.forEach((term, index) => {
|
|
161
|
+
const capitalized = term.charAt(0).toUpperCase() + term.slice(1);
|
|
162
|
+
features.push({
|
|
163
|
+
id: `feature-${index + 1}`,
|
|
164
|
+
name: `${capitalized} functionality`,
|
|
165
|
+
description: `Implement ${term} as part of: ${request.goal}`,
|
|
166
|
+
priority: index === 0 ? 'high' : index < 2 ? 'medium' : 'low',
|
|
167
|
+
estimatedComplexity: index < 2 ? 'medium' : 'low',
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
// Always ensure at least one main feature
|
|
171
|
+
if (features.length === 0) {
|
|
172
|
+
const mainFeature = request.goal.split(/[.,;]/)[0].trim();
|
|
173
|
+
features.push({
|
|
174
|
+
id: 'feature-1',
|
|
175
|
+
name: mainFeature.length > 50 ? mainFeature.slice(0, 47) + '...' : mainFeature,
|
|
176
|
+
description: request.goal,
|
|
177
|
+
priority: 'high',
|
|
178
|
+
estimatedComplexity: 'medium',
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
// For real AI, try to extract features from content
|
|
184
|
+
const featureMatches = content.match(/###?\s*(.+?)(?:\n|$)/g) || [];
|
|
185
|
+
if (featureMatches.length > 0) {
|
|
186
|
+
featureMatches.forEach((match, index) => {
|
|
187
|
+
const name = match.replace(/###?\s*/, '').trim();
|
|
188
|
+
if (name && !name.toLowerCase().includes('summary') && !name.toLowerCase().includes('overview')) {
|
|
189
|
+
features.push({
|
|
190
|
+
id: `feature-${index + 1}`,
|
|
191
|
+
name,
|
|
192
|
+
description: `Feature extracted from PRD: ${name}`,
|
|
193
|
+
priority: index < 2 ? 'high' : index < 4 ? 'medium' : 'low',
|
|
194
|
+
estimatedComplexity: 'medium',
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
// If no features extracted, create at least one from the goal
|
|
200
|
+
if (features.length === 0) {
|
|
201
|
+
features.push({
|
|
202
|
+
id: 'feature-1',
|
|
203
|
+
name: request.goal.slice(0, 50),
|
|
204
|
+
description: request.goal,
|
|
205
|
+
priority: 'high',
|
|
206
|
+
estimatedComplexity: 'medium',
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
// Limit to reasonable number
|
|
211
|
+
const maxFeatures = request.options?.detailLevel === 'high' ? 10 :
|
|
212
|
+
request.options?.detailLevel === 'low' ? 3 : 5;
|
|
213
|
+
const finalFeatures = features.slice(0, maxFeatures);
|
|
214
|
+
const technicalApproach = request.options?.includeTechnicalSpec
|
|
215
|
+
? {
|
|
216
|
+
stack: request.context?.technicalStack ? [request.context.technicalStack] : [],
|
|
217
|
+
architecture: 'To be determined based on requirements',
|
|
218
|
+
considerations: request.context?.constraints || [],
|
|
219
|
+
}
|
|
220
|
+
: undefined;
|
|
221
|
+
return {
|
|
222
|
+
features: finalFeatures,
|
|
223
|
+
technicalApproach,
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
async generateTechnicalSpec(request, structured) {
|
|
227
|
+
const prompt = `Generate a technical specification document for:
|
|
228
|
+
|
|
229
|
+
Goal: ${request.goal}
|
|
230
|
+
|
|
231
|
+
Features:
|
|
232
|
+
${structured.features.map(f => `- ${f.name}: ${f.description}`).join('\n')}
|
|
233
|
+
|
|
234
|
+
${request.context?.technicalStack ? `Technical Stack: ${request.context.technicalStack}\n` : ''}
|
|
235
|
+
|
|
236
|
+
Provide:
|
|
237
|
+
1. Architecture overview
|
|
238
|
+
2. Technology choices
|
|
239
|
+
3. Implementation approach
|
|
240
|
+
4. Technical considerations
|
|
241
|
+
|
|
242
|
+
Format as markdown.
|
|
243
|
+
`;
|
|
244
|
+
return await this.aiService.chat(prompt, []);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=product-requirements-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-requirements-agent.js","sourceRoot":"","sources":["../../../src/application/agents/product-requirements-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,11 +30,15 @@ export interface ValidationResult {
|
|
|
30
30
|
compilationErrors?: string[];
|
|
31
31
|
recommendations: string[];
|
|
32
32
|
qualityScore: number;
|
|
33
|
+
validationSummary?: any;
|
|
34
|
+
feedbackId?: string;
|
|
35
|
+
runId?: string;
|
|
33
36
|
}
|
|
34
37
|
export declare class ValidationAgent {
|
|
35
38
|
private aiService;
|
|
36
39
|
private verificationService?;
|
|
37
|
-
|
|
40
|
+
private cwd;
|
|
41
|
+
constructor(aiService: IAIService, verificationService?: IVerificationService | undefined, cwd?: string);
|
|
38
42
|
/**
|
|
39
43
|
* Validate execution results
|
|
40
44
|
* Runs tests, checks compilation, analyzes quality
|
|
@@ -1 +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;
|
|
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;AAS5D,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;IAErB,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,eAAe;IAIxB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,mBAAmB,CAAC;IAJ9B,OAAO,CAAC,GAAG,CAAyB;gBAG1B,SAAS,EAAE,UAAU,EACrB,mBAAmB,CAAC,EAAE,oBAAoB,YAAA,EAClD,GAAG,CAAC,EAAE,MAAM;IAOd;;;OAGG;IACG,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkMrE;;OAEG;YACW,gBAAgB;IA4B9B;;OAEG;YACW,QAAQ;IAgEtB;;OAEG;YACW,cAAc;IA4B5B;;OAEG;YACW,uBAAuB;IAgCrC;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAoB9B"}
|
|
@@ -8,13 +8,19 @@
|
|
|
8
8
|
import { exec } from 'child_process';
|
|
9
9
|
import { promisify } from 'util';
|
|
10
10
|
import { existsSync, readFileSync } from 'fs';
|
|
11
|
+
import { agentValidationHelper } from '../../infrastructure/validation/agent-validation-helper.js';
|
|
12
|
+
import { findCodebaseRoot } from '../../domain/services/codebase-detector.js';
|
|
11
13
|
const execAsync = promisify(exec);
|
|
12
14
|
export class ValidationAgent {
|
|
13
15
|
aiService;
|
|
14
16
|
verificationService;
|
|
15
|
-
|
|
17
|
+
cwd = process.cwd();
|
|
18
|
+
constructor(aiService, verificationService, cwd) {
|
|
16
19
|
this.aiService = aiService;
|
|
17
20
|
this.verificationService = verificationService;
|
|
21
|
+
if (cwd) {
|
|
22
|
+
this.cwd = cwd;
|
|
23
|
+
}
|
|
18
24
|
}
|
|
19
25
|
/**
|
|
20
26
|
* Validate execution results
|
|
@@ -22,26 +28,155 @@ export class ValidationAgent {
|
|
|
22
28
|
*/
|
|
23
29
|
async validate(request) {
|
|
24
30
|
const { plan, executionResults, filesModified = [] } = request;
|
|
25
|
-
//
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
31
|
+
// Start validation context
|
|
32
|
+
const codebaseInfo = findCodebaseRoot(this.cwd);
|
|
33
|
+
const validationContext = agentValidationHelper.startAgentOperation('validation-agent', 'validate', {
|
|
34
|
+
query: plan.goal,
|
|
35
|
+
codebaseId: codebaseInfo?.codebaseId,
|
|
36
|
+
});
|
|
37
|
+
try {
|
|
38
|
+
// Track validation checks
|
|
39
|
+
const validationChecks = [];
|
|
40
|
+
const errors = [];
|
|
41
|
+
const warnings = [];
|
|
42
|
+
// 1. Check compilation for modified files
|
|
43
|
+
const compilationResult = await this.checkCompilation(filesModified);
|
|
44
|
+
// Record compilation check
|
|
45
|
+
validationChecks.push({
|
|
46
|
+
check: 'Compilation',
|
|
47
|
+
passed: compilationResult.success,
|
|
48
|
+
message: compilationResult.success
|
|
49
|
+
? 'All files compile successfully'
|
|
50
|
+
: `${compilationResult.errors.length} compilation error(s)`,
|
|
51
|
+
critical: true,
|
|
52
|
+
});
|
|
53
|
+
if (!compilationResult.success && compilationResult.errors.length > 0) {
|
|
54
|
+
errors.push(...compilationResult.errors);
|
|
55
|
+
}
|
|
56
|
+
// Trace compilation check
|
|
57
|
+
agentValidationHelper.trace({
|
|
58
|
+
operationType: 'code_analysis',
|
|
59
|
+
operationName: 'compile_check',
|
|
60
|
+
input: { files: filesModified },
|
|
61
|
+
output: compilationResult,
|
|
62
|
+
error: compilationResult.success ? undefined : new Error('Compilation failed'),
|
|
63
|
+
metadata: {
|
|
64
|
+
filesChecked: filesModified.length,
|
|
65
|
+
errors: compilationResult.errors.length,
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
// 2. Run test suite
|
|
69
|
+
const testResult = await this.runTests();
|
|
70
|
+
// Record test check
|
|
71
|
+
const testsPassed = testResult.testsPassed;
|
|
72
|
+
if (testResult.testResults) {
|
|
73
|
+
validationChecks.push({
|
|
74
|
+
check: 'Tests',
|
|
75
|
+
passed: testsPassed,
|
|
76
|
+
message: testsPassed
|
|
77
|
+
? `All ${testResult.testResults.total} tests passed`
|
|
78
|
+
: `${testResult.testResults.failed} of ${testResult.testResults.total} tests failed`,
|
|
79
|
+
critical: true,
|
|
80
|
+
});
|
|
81
|
+
if (testResult.testResults.failures) {
|
|
82
|
+
testResult.testResults.failures.forEach(failure => {
|
|
83
|
+
errors.push(`Test failure: ${failure.test} - ${failure.error}`);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
validationChecks.push({
|
|
89
|
+
check: 'Tests',
|
|
90
|
+
passed: true,
|
|
91
|
+
message: 'No tests to run',
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
// Trace test execution
|
|
95
|
+
agentValidationHelper.trace({
|
|
96
|
+
operationType: 'code_analysis',
|
|
97
|
+
operationName: 'test_execution',
|
|
98
|
+
input: {},
|
|
99
|
+
output: testResult,
|
|
100
|
+
metadata: {
|
|
101
|
+
testsTotal: testResult.testResults?.total,
|
|
102
|
+
testsPassed: testResult.testResults?.passed,
|
|
103
|
+
testsFailed: testResult.testResults?.failed,
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
// 3. Analyze code quality
|
|
107
|
+
const qualityAnalysis = await this.analyzeQuality(plan, executionResults);
|
|
108
|
+
// Calculate quality score for validation check
|
|
109
|
+
const qualityScore = this.calculateQualityScore(compilationResult, testResult, qualityAnalysis);
|
|
110
|
+
// Record quality check
|
|
111
|
+
validationChecks.push({
|
|
112
|
+
check: 'Code Quality',
|
|
113
|
+
passed: qualityScore >= 70, // Threshold
|
|
114
|
+
message: `Quality score: ${qualityScore}/100`,
|
|
115
|
+
critical: false,
|
|
116
|
+
});
|
|
117
|
+
if (qualityAnalysis.errorRate > 0.3) {
|
|
118
|
+
warnings.push(`High error rate: ${(qualityAnalysis.errorRate * 100).toFixed(1)}%`);
|
|
119
|
+
}
|
|
120
|
+
// 4. Generate recommendations
|
|
121
|
+
const recommendations = await this.generateRecommendations(compilationResult, testResult, qualityAnalysis);
|
|
122
|
+
const success = compilationResult.success && testResult.testsPassed;
|
|
123
|
+
// Complete validation
|
|
124
|
+
const validationResult = await agentValidationHelper.completeAgentOperation(validationContext, {
|
|
125
|
+
success,
|
|
126
|
+
testsPassed: testResult.testsPassed,
|
|
127
|
+
compilationSuccess: compilationResult.success,
|
|
128
|
+
testResults: testResult.testResults,
|
|
129
|
+
compilationErrors: compilationResult.errors,
|
|
130
|
+
recommendations,
|
|
131
|
+
qualityScore,
|
|
132
|
+
}, {
|
|
133
|
+
outcome: success ? 'success' : 'failure',
|
|
134
|
+
validationChecks,
|
|
135
|
+
errors: errors.length > 0 ? errors : undefined,
|
|
136
|
+
warnings: warnings.length > 0 ? warnings : undefined,
|
|
137
|
+
metrics: {
|
|
138
|
+
filesAnalyzed: filesModified.length,
|
|
139
|
+
},
|
|
140
|
+
additionalContext: {
|
|
141
|
+
query: plan.goal,
|
|
142
|
+
codebaseId: codebaseInfo?.codebaseId,
|
|
143
|
+
qualityScore,
|
|
144
|
+
testResults: testResult.testResults,
|
|
145
|
+
},
|
|
146
|
+
}).catch(error => {
|
|
147
|
+
// Non-blocking
|
|
148
|
+
console.warn('[ValidationAgent] Validation recording failed (non-critical):', error);
|
|
149
|
+
return null;
|
|
150
|
+
});
|
|
151
|
+
return {
|
|
152
|
+
success,
|
|
153
|
+
testsPassed: testResult.testsPassed,
|
|
154
|
+
compilationSuccess: compilationResult.success,
|
|
155
|
+
testResults: testResult.testResults,
|
|
156
|
+
compilationErrors: compilationResult.errors,
|
|
157
|
+
recommendations,
|
|
158
|
+
qualityScore,
|
|
159
|
+
...(validationResult ? {
|
|
160
|
+
validationSummary: validationResult.summary,
|
|
161
|
+
feedbackId: validationResult.feedbackId || undefined,
|
|
162
|
+
runId: validationResult.runId || undefined,
|
|
163
|
+
} : {}),
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
// Record failure
|
|
168
|
+
await agentValidationHelper.completeAgentOperation(validationContext, null, {
|
|
169
|
+
outcome: 'failure',
|
|
170
|
+
errors: [error instanceof Error ? error.message : String(error)],
|
|
171
|
+
additionalContext: {
|
|
172
|
+
query: plan.goal,
|
|
173
|
+
codebaseId: codebaseInfo?.codebaseId,
|
|
174
|
+
},
|
|
175
|
+
}).catch(() => {
|
|
176
|
+
// Non-blocking
|
|
177
|
+
});
|
|
178
|
+
throw error;
|
|
179
|
+
}
|
|
45
180
|
}
|
|
46
181
|
/**
|
|
47
182
|
* Check compilation for modified files
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-agent.js","sourceRoot":"","sources":["../../../src/application/agents/validation-agent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"validation-agent.js","sourceRoot":"","sources":["../../../src/application/agents/validation-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Dependency Container
|
|
3
3
|
* Simple DI container for wiring up dependencies
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
5
|
+
import type { IAIService } from '../../domain/interfaces/ai-service.interface.js';
|
|
6
6
|
import { SQLiteEmbeddingRepository } from '../../infrastructure/storage/sqlite-embedding-repository.js';
|
|
7
7
|
import { SQLiteMemoryRepository } from '../../infrastructure/storage/sqlite-memory-repository.js';
|
|
8
8
|
import { MemoryStreamService } from '../../infrastructure/storage/memory-stream-service.js';
|
|
@@ -47,8 +47,10 @@ import { SQLiteKnowledgePreservationRepository } from '../../infrastructure/stor
|
|
|
47
47
|
import { KnowledgeExtractor } from '../../domain/services/knowledge-extractor.js';
|
|
48
48
|
import { KnowledgeAccess } from '../../domain/services/knowledge-access.js';
|
|
49
49
|
import { CrossTeamPatternSharing } from '../../domain/services/cross-team-pattern-sharing.js';
|
|
50
|
+
import { ProviderRegistry } from '../../infrastructure/providers/provider-registry.js';
|
|
50
51
|
export declare class DependencyContainer {
|
|
51
52
|
private _aiService;
|
|
53
|
+
private _providerRegistry;
|
|
52
54
|
private _embeddingRepository;
|
|
53
55
|
private _memoryRepository;
|
|
54
56
|
private _memoryStreamService;
|
|
@@ -89,11 +91,53 @@ export declare class DependencyContainer {
|
|
|
89
91
|
private _editFileUseCase;
|
|
90
92
|
private _explainFileUseCase;
|
|
91
93
|
private _planningUseCase;
|
|
92
|
-
|
|
94
|
+
/**
|
|
95
|
+
* Provider Registry
|
|
96
|
+
* Phase 4C: Provider selection via env/config
|
|
97
|
+
*
|
|
98
|
+
* Provider Selection Logic:
|
|
99
|
+
* - Always register CohereProvider (default)
|
|
100
|
+
* - Register OpenAIProvider if CODEHERE_OPENAI_API_KEY is set
|
|
101
|
+
* - Default provider:
|
|
102
|
+
* - If CODEHERE_AI_PROVIDER=openai and OpenAIProvider available → OpenAI
|
|
103
|
+
* - Else → Cohere (backward compatible)
|
|
104
|
+
*/
|
|
105
|
+
get providerRegistry(): ProviderRegistry;
|
|
106
|
+
get aiService(): IAIService;
|
|
107
|
+
/**
|
|
108
|
+
* Get embedding repository for a specific codebase
|
|
109
|
+
* @param cwd - Current working directory for codebase root detection (defaults to process.cwd())
|
|
110
|
+
* @returns SQLiteEmbeddingRepository instance scoped to the codebase
|
|
111
|
+
*/
|
|
112
|
+
getEmbeddingRepository(cwd?: string): SQLiteEmbeddingRepository;
|
|
113
|
+
/**
|
|
114
|
+
* @deprecated Use getEmbeddingRepository(cwd) instead for per-repo isolation
|
|
115
|
+
* Kept for backward compatibility
|
|
116
|
+
*/
|
|
93
117
|
get embeddingRepository(): SQLiteEmbeddingRepository;
|
|
94
118
|
get memoryRepository(): SQLiteMemoryRepository;
|
|
95
119
|
get memoryStreamService(): MemoryStreamService;
|
|
120
|
+
/**
|
|
121
|
+
* Get ask question use case for a specific codebase
|
|
122
|
+
* @param cwd - Current working directory for codebase root detection (defaults to process.cwd())
|
|
123
|
+
* @returns AskQuestionUseCase instance scoped to the codebase
|
|
124
|
+
*/
|
|
125
|
+
getAskQuestionUseCase(cwd?: string): AskQuestionUseCase;
|
|
126
|
+
/**
|
|
127
|
+
* @deprecated Use getAskQuestionUseCase(cwd) instead for per-repo isolation
|
|
128
|
+
* Kept for backward compatibility
|
|
129
|
+
*/
|
|
96
130
|
get askQuestionUseCase(): AskQuestionUseCase;
|
|
131
|
+
/**
|
|
132
|
+
* Get index codebase use case for a specific codebase
|
|
133
|
+
* @param cwd - Current working directory for codebase root detection (defaults to process.cwd())
|
|
134
|
+
* @returns IndexCodebaseUseCase instance scoped to the codebase
|
|
135
|
+
*/
|
|
136
|
+
getIndexCodebaseUseCase(cwd?: string): IndexCodebaseUseCase;
|
|
137
|
+
/**
|
|
138
|
+
* @deprecated Use getIndexCodebaseUseCase(cwd) instead for per-repo isolation
|
|
139
|
+
* Kept for backward compatibility
|
|
140
|
+
*/
|
|
97
141
|
get indexCodebaseUseCase(): IndexCodebaseUseCase;
|
|
98
142
|
get toolExecutorService(): ToolExecutorService;
|
|
99
143
|
get reactOrchestrationUseCase(): ReActOrchestrationUseCase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-container.d.ts","sourceRoot":"","sources":["../../../src/application/services/dependency-container.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"dependency-container.d.ts","sourceRoot":"","sources":["../../../src/application/services/dependency-container.ts"],"names":[],"mappings":"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"}
|