codehere 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of codehere might be problematic. Click here for more details.
- package/README.md +51 -25
- package/dist/agents/base.d.ts +107 -0
- package/dist/agents/base.d.ts.map +1 -0
- package/dist/agents/base.js +101 -0
- package/dist/agents/base.js.map +1 -0
- package/dist/agents/orchestrator-model-driven.d.ts +41 -0
- package/dist/agents/orchestrator-model-driven.d.ts.map +1 -0
- package/dist/agents/orchestrator-model-driven.js +141 -0
- package/dist/agents/orchestrator-model-driven.js.map +1 -0
- package/dist/agents/react-orchestrator-agent.d.ts +15 -0
- package/dist/agents/react-orchestrator-agent.d.ts.map +1 -0
- package/dist/agents/react-orchestrator-agent.js +54 -0
- package/dist/agents/react-orchestrator-agent.js.map +1 -0
- package/dist/application/agents/execution-agent.d.ts +68 -0
- package/dist/application/agents/execution-agent.d.ts.map +1 -0
- package/dist/application/agents/execution-agent.js +299 -0
- package/dist/application/agents/execution-agent.js.map +1 -0
- package/dist/application/agents/multi-agent-orchestrator.d.ts +64 -0
- package/dist/application/agents/multi-agent-orchestrator.d.ts.map +1 -0
- package/dist/application/agents/multi-agent-orchestrator.js +209 -0
- package/dist/application/agents/multi-agent-orchestrator.js.map +1 -0
- package/dist/application/agents/planning-agent.d.ts +61 -0
- package/dist/application/agents/planning-agent.d.ts.map +1 -0
- package/dist/application/agents/planning-agent.js +357 -0
- package/dist/application/agents/planning-agent.js.map +1 -0
- package/dist/application/agents/validation-agent.d.ts +64 -0
- package/dist/application/agents/validation-agent.d.ts.map +1 -0
- package/dist/application/agents/validation-agent.js +182 -0
- package/dist/application/agents/validation-agent.js.map +1 -0
- package/dist/application/architectures/plan-and-act.d.ts +94 -0
- package/dist/application/architectures/plan-and-act.d.ts.map +1 -0
- package/dist/application/architectures/plan-and-act.js +242 -0
- package/dist/application/architectures/plan-and-act.js.map +1 -0
- package/dist/application/index.d.ts +12 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +12 -0
- package/dist/application/index.js.map +1 -0
- package/dist/application/services/agent-factory.d.ts +9 -0
- package/dist/application/services/agent-factory.d.ts.map +1 -0
- package/dist/application/services/agent-factory.js +28 -0
- package/dist/application/services/agent-factory.js.map +1 -0
- package/dist/application/services/dependency-container.d.ts +140 -0
- package/dist/application/services/dependency-container.d.ts.map +1 -0
- package/dist/application/services/dependency-container.js +402 -0
- package/dist/application/services/dependency-container.js.map +1 -0
- package/dist/application/services/git-context-service.d.ts +30 -0
- package/dist/application/services/git-context-service.d.ts.map +1 -0
- package/dist/application/services/git-context-service.js +83 -0
- package/dist/application/services/git-context-service.js.map +1 -0
- package/dist/application/services/intelligent-router.d.ts +74 -0
- package/dist/application/services/intelligent-router.d.ts.map +1 -0
- package/dist/application/services/intelligent-router.js +711 -0
- package/dist/application/services/intelligent-router.js.map +1 -0
- package/dist/application/services/tool-executor-service.d.ts +14 -0
- package/dist/application/services/tool-executor-service.d.ts.map +1 -0
- package/dist/application/services/tool-executor-service.js +94 -0
- package/dist/application/services/tool-executor-service.js.map +1 -0
- package/dist/application/use-cases/ask-question-use-case.d.ts +36 -0
- package/dist/application/use-cases/ask-question-use-case.d.ts.map +1 -0
- package/dist/application/use-cases/ask-question-use-case.js +150 -0
- package/dist/application/use-cases/ask-question-use-case.js.map +1 -0
- package/dist/application/use-cases/edit-file-use-case.d.ts +76 -0
- package/dist/application/use-cases/edit-file-use-case.d.ts.map +1 -0
- package/dist/application/use-cases/edit-file-use-case.js +685 -0
- package/dist/application/use-cases/edit-file-use-case.js.map +1 -0
- package/dist/application/use-cases/explain-file-use-case.d.ts +21 -0
- package/dist/application/use-cases/explain-file-use-case.d.ts.map +1 -0
- package/dist/application/use-cases/explain-file-use-case.js +50 -0
- package/dist/application/use-cases/explain-file-use-case.js.map +1 -0
- package/dist/application/use-cases/index-codebase-use-case.d.ts +46 -0
- package/dist/application/use-cases/index-codebase-use-case.d.ts.map +1 -0
- package/dist/application/use-cases/index-codebase-use-case.js +113 -0
- package/dist/application/use-cases/index-codebase-use-case.js.map +1 -0
- package/dist/application/use-cases/planning-use-case.d.ts +46 -0
- package/dist/application/use-cases/planning-use-case.d.ts.map +1 -0
- package/dist/application/use-cases/planning-use-case.js +267 -0
- package/dist/application/use-cases/planning-use-case.js.map +1 -0
- package/dist/application/use-cases/react-orchestration-use-case.d.ts +51 -0
- package/dist/application/use-cases/react-orchestration-use-case.d.ts.map +1 -0
- package/dist/application/use-cases/react-orchestration-use-case.js +325 -0
- package/dist/application/use-cases/react-orchestration-use-case.js.map +1 -0
- package/dist/application/use-cases/reflexion-use-case.d.ts +24 -0
- package/dist/application/use-cases/reflexion-use-case.d.ts.map +1 -0
- package/dist/application/use-cases/reflexion-use-case.js +30 -0
- package/dist/application/use-cases/reflexion-use-case.js.map +1 -0
- package/dist/application/workflows/deterministic-workflows.d.ts +61 -0
- package/dist/application/workflows/deterministic-workflows.d.ts.map +1 -0
- package/dist/application/workflows/deterministic-workflows.js +189 -0
- package/dist/application/workflows/deterministic-workflows.js.map +1 -0
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +1 -3
- package/dist/cache.js.map +1 -1
- package/dist/chat.js +10 -10
- package/dist/chat.js.map +1 -1
- package/dist/docs.d.ts.map +1 -1
- package/dist/docs.js +1 -2
- package/dist/docs.js.map +1 -1
- package/dist/domain/entities/code-chunk.d.ts +26 -0
- package/dist/domain/entities/code-chunk.d.ts.map +1 -0
- package/dist/domain/entities/code-chunk.js +6 -0
- package/dist/domain/entities/code-chunk.js.map +1 -0
- package/dist/domain/entities/decision.d.ts +37 -0
- package/dist/domain/entities/decision.d.ts.map +1 -0
- package/dist/domain/entities/decision.js +9 -0
- package/dist/domain/entities/decision.js.map +1 -0
- package/dist/domain/entities/edit.d.ts +35 -0
- package/dist/domain/entities/edit.d.ts.map +1 -0
- package/dist/domain/entities/edit.js +6 -0
- package/dist/domain/entities/edit.js.map +1 -0
- package/dist/domain/entities/knowledge-node.d.ts +83 -0
- package/dist/domain/entities/knowledge-node.d.ts.map +1 -0
- package/dist/domain/entities/knowledge-node.js +9 -0
- package/dist/domain/entities/knowledge-node.js.map +1 -0
- package/dist/domain/entities/knowledge-preservation.d.ts +42 -0
- package/dist/domain/entities/knowledge-preservation.d.ts.map +1 -0
- package/dist/domain/entities/knowledge-preservation.js +10 -0
- package/dist/domain/entities/knowledge-preservation.js.map +1 -0
- package/dist/domain/entities/memory.d.ts +36 -0
- package/dist/domain/entities/memory.d.ts.map +1 -0
- package/dist/domain/entities/memory.js +6 -0
- package/dist/domain/entities/memory.js.map +1 -0
- package/dist/domain/entities/pattern.d.ts +49 -0
- package/dist/domain/entities/pattern.d.ts.map +1 -0
- package/dist/domain/entities/pattern.js +7 -0
- package/dist/domain/entities/pattern.js.map +1 -0
- package/dist/domain/entities/plan.d.ts +42 -0
- package/dist/domain/entities/plan.d.ts.map +1 -0
- package/dist/domain/entities/plan.js +6 -0
- package/dist/domain/entities/plan.js.map +1 -0
- package/dist/domain/entities/query.d.ts +17 -0
- package/dist/domain/entities/query.d.ts.map +1 -0
- package/dist/domain/entities/query.js +6 -0
- package/dist/domain/entities/query.js.map +1 -0
- package/dist/domain/index.d.ts +16 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +19 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/interfaces/ai-service.interface.d.ts +62 -0
- package/dist/domain/interfaces/ai-service.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/ai-service.interface.js +6 -0
- package/dist/domain/interfaces/ai-service.interface.js.map +1 -0
- package/dist/domain/interfaces/code-analyzer.interface.d.ts +38 -0
- package/dist/domain/interfaces/code-analyzer.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/code-analyzer.interface.js +6 -0
- package/dist/domain/interfaces/code-analyzer.interface.js.map +1 -0
- package/dist/domain/interfaces/decision-repository.interface.d.ts +51 -0
- package/dist/domain/interfaces/decision-repository.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/decision-repository.interface.js +9 -0
- package/dist/domain/interfaces/decision-repository.interface.js.map +1 -0
- package/dist/domain/interfaces/embedding-repository.interface.d.ts +28 -0
- package/dist/domain/interfaces/embedding-repository.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/embedding-repository.interface.js +6 -0
- package/dist/domain/interfaces/embedding-repository.interface.js.map +1 -0
- package/dist/domain/interfaces/knowledge-graph-repository.interface.d.ts +91 -0
- package/dist/domain/interfaces/knowledge-graph-repository.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/knowledge-graph-repository.interface.js +9 -0
- package/dist/domain/interfaces/knowledge-graph-repository.interface.js.map +1 -0
- package/dist/domain/interfaces/knowledge-preservation-repository.interface.d.ts +50 -0
- package/dist/domain/interfaces/knowledge-preservation-repository.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/knowledge-preservation-repository.interface.js +8 -0
- package/dist/domain/interfaces/knowledge-preservation-repository.interface.js.map +1 -0
- package/dist/domain/interfaces/memory-repository.interface.d.ts +49 -0
- package/dist/domain/interfaces/memory-repository.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/memory-repository.interface.js +6 -0
- package/dist/domain/interfaces/memory-repository.interface.js.map +1 -0
- package/dist/domain/interfaces/pattern-repository.interface.d.ts +48 -0
- package/dist/domain/interfaces/pattern-repository.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/pattern-repository.interface.js +6 -0
- package/dist/domain/interfaces/pattern-repository.interface.js.map +1 -0
- package/dist/domain/interfaces/verification-service.interface.d.ts +20 -0
- package/dist/domain/interfaces/verification-service.interface.d.ts.map +1 -0
- package/dist/domain/interfaces/verification-service.interface.js +6 -0
- package/dist/domain/interfaces/verification-service.interface.js.map +1 -0
- package/dist/domain/services/codebase-detector.d.ts +18 -0
- package/dist/domain/services/codebase-detector.d.ts.map +1 -0
- package/dist/domain/services/codebase-detector.js +91 -0
- package/dist/domain/services/codebase-detector.js.map +1 -0
- package/dist/domain/services/cross-team-pattern-sharing.d.ts +65 -0
- package/dist/domain/services/cross-team-pattern-sharing.d.ts.map +1 -0
- package/dist/domain/services/cross-team-pattern-sharing.js +125 -0
- package/dist/domain/services/cross-team-pattern-sharing.js.map +1 -0
- package/dist/domain/services/decision-recorder.d.ts +76 -0
- package/dist/domain/services/decision-recorder.d.ts.map +1 -0
- package/dist/domain/services/decision-recorder.js +223 -0
- package/dist/domain/services/decision-recorder.js.map +1 -0
- package/dist/domain/services/decision-retriever.d.ts +75 -0
- package/dist/domain/services/decision-retriever.d.ts.map +1 -0
- package/dist/domain/services/decision-retriever.js +133 -0
- package/dist/domain/services/decision-retriever.js.map +1 -0
- package/dist/domain/services/graded-memory-activation.d.ts +37 -0
- package/dist/domain/services/graded-memory-activation.d.ts.map +1 -0
- package/dist/domain/services/graded-memory-activation.js +69 -0
- package/dist/domain/services/graded-memory-activation.js.map +1 -0
- package/dist/domain/services/knowledge-access.d.ts +63 -0
- package/dist/domain/services/knowledge-access.d.ts.map +1 -0
- package/dist/domain/services/knowledge-access.js +132 -0
- package/dist/domain/services/knowledge-access.js.map +1 -0
- package/dist/domain/services/knowledge-extractor.d.ts +54 -0
- package/dist/domain/services/knowledge-extractor.d.ts.map +1 -0
- package/dist/domain/services/knowledge-extractor.js +247 -0
- package/dist/domain/services/knowledge-extractor.js.map +1 -0
- package/dist/domain/services/knowledge-graph-builder.d.ts +70 -0
- package/dist/domain/services/knowledge-graph-builder.d.ts.map +1 -0
- package/dist/domain/services/knowledge-graph-builder.js +268 -0
- package/dist/domain/services/knowledge-graph-builder.js.map +1 -0
- package/dist/domain/services/knowledge-graph-query.d.ts +69 -0
- package/dist/domain/services/knowledge-graph-query.d.ts.map +1 -0
- package/dist/domain/services/knowledge-graph-query.js +187 -0
- package/dist/domain/services/knowledge-graph-query.js.map +1 -0
- package/dist/domain/services/memory-retriever.d.ts +30 -0
- package/dist/domain/services/memory-retriever.d.ts.map +1 -0
- package/dist/domain/services/memory-retriever.js +82 -0
- package/dist/domain/services/memory-retriever.js.map +1 -0
- package/dist/domain/services/memory-synthesizer.d.ts +57 -0
- package/dist/domain/services/memory-synthesizer.d.ts.map +1 -0
- package/dist/domain/services/memory-synthesizer.js +91 -0
- package/dist/domain/services/memory-synthesizer.js.map +1 -0
- package/dist/domain/services/pattern-extractor.d.ts +108 -0
- package/dist/domain/services/pattern-extractor.d.ts.map +1 -0
- package/dist/domain/services/pattern-extractor.js +442 -0
- package/dist/domain/services/pattern-extractor.js.map +1 -0
- package/dist/domain/services/query-intent-classifier.d.ts +16 -0
- package/dist/domain/services/query-intent-classifier.d.ts.map +1 -0
- package/dist/domain/services/query-intent-classifier.js +140 -0
- package/dist/domain/services/query-intent-classifier.js.map +1 -0
- package/dist/domain/services/react-loop.d.ts +44 -0
- package/dist/domain/services/react-loop.d.ts.map +1 -0
- package/dist/domain/services/react-loop.js +110 -0
- package/dist/domain/services/react-loop.js.map +1 -0
- package/dist/edit.d.ts +0 -12
- package/dist/edit.d.ts.map +1 -1
- package/dist/edit.js +76 -351
- package/dist/edit.js.map +1 -1
- package/dist/embed.d.ts +0 -4
- package/dist/embed.d.ts.map +1 -1
- package/dist/embed.js +100 -174
- package/dist/embed.js.map +1 -1
- package/dist/error-handler.d.ts +1 -0
- package/dist/error-handler.d.ts.map +1 -1
- package/dist/error-handler.js +46 -3
- package/dist/error-handler.js.map +1 -1
- package/dist/index.js +228 -231
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/ai/cohere-ai-service.d.ts +54 -0
- package/dist/infrastructure/ai/cohere-ai-service.d.ts.map +1 -0
- package/dist/infrastructure/ai/cohere-ai-service.js +547 -0
- package/dist/infrastructure/ai/cohere-ai-service.js.map +1 -0
- package/dist/infrastructure/ai/command-r-evaluation.d.ts +42 -0
- package/dist/infrastructure/ai/command-r-evaluation.d.ts.map +1 -0
- package/dist/infrastructure/ai/command-r-evaluation.js +206 -0
- package/dist/infrastructure/ai/command-r-evaluation.js.map +1 -0
- package/dist/infrastructure/ai/model-config.d.ts +47 -0
- package/dist/infrastructure/ai/model-config.d.ts.map +1 -0
- package/dist/infrastructure/ai/model-config.js +84 -0
- package/dist/infrastructure/ai/model-config.js.map +1 -0
- package/dist/infrastructure/cache/embedding-cache.d.ts +46 -0
- package/dist/infrastructure/cache/embedding-cache.d.ts.map +1 -0
- package/dist/infrastructure/cache/embedding-cache.js +104 -0
- package/dist/infrastructure/cache/embedding-cache.js.map +1 -0
- package/dist/infrastructure/chunking/ast-code-chunker.d.ts +12 -0
- package/dist/infrastructure/chunking/ast-code-chunker.d.ts.map +1 -0
- package/dist/infrastructure/chunking/ast-code-chunker.js +19 -0
- package/dist/infrastructure/chunking/ast-code-chunker.js.map +1 -0
- package/dist/infrastructure/chunking/code-aware-chunker.d.ts +63 -0
- package/dist/infrastructure/chunking/code-aware-chunker.d.ts.map +1 -0
- package/dist/infrastructure/chunking/code-aware-chunker.js +397 -0
- package/dist/infrastructure/chunking/code-aware-chunker.js.map +1 -0
- package/dist/infrastructure/config/config-manager.d.ts +79 -0
- package/dist/infrastructure/config/config-manager.d.ts.map +1 -0
- package/dist/infrastructure/config/config-manager.js +162 -0
- package/dist/infrastructure/config/config-manager.js.map +1 -0
- package/dist/infrastructure/cost/cost-tracker.d.ts +90 -0
- package/dist/infrastructure/cost/cost-tracker.d.ts.map +1 -0
- package/dist/infrastructure/cost/cost-tracker.js +353 -0
- package/dist/infrastructure/cost/cost-tracker.js.map +1 -0
- package/dist/infrastructure/file-scanner/file-scanner.d.ts +31 -0
- package/dist/infrastructure/file-scanner/file-scanner.d.ts.map +1 -0
- package/dist/infrastructure/file-scanner/file-scanner.js +106 -0
- package/dist/infrastructure/file-scanner/file-scanner.js.map +1 -0
- package/dist/infrastructure/governance/nist-ai-rmf.d.ts +107 -0
- package/dist/infrastructure/governance/nist-ai-rmf.d.ts.map +1 -0
- package/dist/infrastructure/governance/nist-ai-rmf.js +294 -0
- package/dist/infrastructure/governance/nist-ai-rmf.js.map +1 -0
- package/dist/infrastructure/governance/policy-as-code.d.ts +90 -0
- package/dist/infrastructure/governance/policy-as-code.d.ts.map +1 -0
- package/dist/infrastructure/governance/policy-as-code.js +244 -0
- package/dist/infrastructure/governance/policy-as-code.js.map +1 -0
- package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts +138 -0
- package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts.map +1 -0
- package/dist/infrastructure/governance/prompt-to-code-lineage.js +241 -0
- package/dist/infrastructure/governance/prompt-to-code-lineage.js.map +1 -0
- package/dist/infrastructure/index.d.ts +7 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +7 -0
- package/dist/infrastructure/index.js.map +1 -0
- package/dist/infrastructure/observability/execution-tracer.d.ts +105 -0
- package/dist/infrastructure/observability/execution-tracer.d.ts.map +1 -0
- package/dist/infrastructure/observability/execution-tracer.js +190 -0
- package/dist/infrastructure/observability/execution-tracer.js.map +1 -0
- package/dist/infrastructure/observability/prompt-versioner.d.ts +67 -0
- package/dist/infrastructure/observability/prompt-versioner.d.ts.map +1 -0
- package/dist/infrastructure/observability/prompt-versioner.js +145 -0
- package/dist/infrastructure/observability/prompt-versioner.js.map +1 -0
- package/dist/infrastructure/protocols/a2a-metadata.d.ts +278 -0
- package/dist/infrastructure/protocols/a2a-metadata.d.ts.map +1 -0
- package/dist/infrastructure/protocols/a2a-metadata.js +137 -0
- package/dist/infrastructure/protocols/a2a-metadata.js.map +1 -0
- package/dist/infrastructure/protocols/a2a-protocol.d.ts +132 -0
- package/dist/infrastructure/protocols/a2a-protocol.d.ts.map +1 -0
- package/dist/infrastructure/protocols/a2a-protocol.js +314 -0
- package/dist/infrastructure/protocols/a2a-protocol.js.map +1 -0
- package/dist/infrastructure/protocols/mcp-oauth.d.ts +91 -0
- package/dist/infrastructure/protocols/mcp-oauth.d.ts.map +1 -0
- package/dist/infrastructure/protocols/mcp-oauth.js +184 -0
- package/dist/infrastructure/protocols/mcp-oauth.js.map +1 -0
- package/dist/infrastructure/protocols/mcp-server.d.ts +126 -0
- package/dist/infrastructure/protocols/mcp-server.d.ts.map +1 -0
- package/dist/infrastructure/protocols/mcp-server.js +333 -0
- package/dist/infrastructure/protocols/mcp-server.js.map +1 -0
- package/dist/infrastructure/protocols/streaming-handler.d.ts +57 -0
- package/dist/infrastructure/protocols/streaming-handler.d.ts.map +1 -0
- package/dist/infrastructure/protocols/streaming-handler.js +103 -0
- package/dist/infrastructure/protocols/streaming-handler.js.map +1 -0
- package/dist/infrastructure/security/ai-sast-scanner.d.ts +55 -0
- package/dist/infrastructure/security/ai-sast-scanner.d.ts.map +1 -0
- package/dist/infrastructure/security/ai-sast-scanner.js +163 -0
- package/dist/infrastructure/security/ai-sast-scanner.js.map +1 -0
- package/dist/infrastructure/security/docker-sandbox.d.ts +57 -0
- package/dist/infrastructure/security/docker-sandbox.d.ts.map +1 -0
- package/dist/infrastructure/security/docker-sandbox.js +178 -0
- package/dist/infrastructure/security/docker-sandbox.js.map +1 -0
- package/dist/infrastructure/security/enhanced-security-gate.d.ts +51 -0
- package/dist/infrastructure/security/enhanced-security-gate.d.ts.map +1 -0
- package/dist/infrastructure/security/enhanced-security-gate.js +92 -0
- package/dist/infrastructure/security/enhanced-security-gate.js.map +1 -0
- package/dist/infrastructure/security/input-validator.d.ts +33 -0
- package/dist/infrastructure/security/input-validator.d.ts.map +1 -0
- package/dist/infrastructure/security/input-validator.js +152 -0
- package/dist/infrastructure/security/input-validator.js.map +1 -0
- package/dist/infrastructure/security/license-scanner.d.ts +55 -0
- package/dist/infrastructure/security/license-scanner.d.ts.map +1 -0
- package/dist/infrastructure/security/license-scanner.js +167 -0
- package/dist/infrastructure/security/license-scanner.js.map +1 -0
- package/dist/infrastructure/security/provider-bias-detector.d.ts +53 -0
- package/dist/infrastructure/security/provider-bias-detector.d.ts.map +1 -0
- package/dist/infrastructure/security/provider-bias-detector.js +164 -0
- package/dist/infrastructure/security/provider-bias-detector.js.map +1 -0
- package/dist/infrastructure/security/sandbox-executor.d.ts +34 -0
- package/dist/infrastructure/security/sandbox-executor.d.ts.map +1 -0
- package/dist/infrastructure/security/sandbox-executor.js +64 -0
- package/dist/infrastructure/security/sandbox-executor.js.map +1 -0
- package/dist/infrastructure/storage/memory-stream-service.d.ts +47 -0
- package/dist/infrastructure/storage/memory-stream-service.d.ts.map +1 -0
- package/dist/infrastructure/storage/memory-stream-service.js +204 -0
- package/dist/infrastructure/storage/memory-stream-service.js.map +1 -0
- package/dist/infrastructure/storage/sqlite-decision-repository.d.ts +29 -0
- package/dist/infrastructure/storage/sqlite-decision-repository.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite-decision-repository.js +232 -0
- package/dist/infrastructure/storage/sqlite-decision-repository.js.map +1 -0
- package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +24 -0
- package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite-embedding-repository.js +162 -0
- package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +1 -0
- package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts +41 -0
- package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js +417 -0
- package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js.map +1 -0
- package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts +29 -0
- package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js +230 -0
- package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js.map +1 -0
- package/dist/infrastructure/storage/sqlite-memory-repository.d.ts +40 -0
- package/dist/infrastructure/storage/sqlite-memory-repository.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite-memory-repository.js +229 -0
- package/dist/infrastructure/storage/sqlite-memory-repository.js.map +1 -0
- package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts +25 -0
- package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite-pattern-repository.js +249 -0
- package/dist/infrastructure/storage/sqlite-pattern-repository.js.map +1 -0
- package/dist/infrastructure/ux/appropriate-friction.d.ts +77 -0
- package/dist/infrastructure/ux/appropriate-friction.d.ts.map +1 -0
- package/dist/infrastructure/ux/appropriate-friction.js +213 -0
- package/dist/infrastructure/ux/appropriate-friction.js.map +1 -0
- package/dist/infrastructure/ux/bi-directional-learning.d.ts +109 -0
- package/dist/infrastructure/ux/bi-directional-learning.d.ts.map +1 -0
- package/dist/infrastructure/ux/bi-directional-learning.js +200 -0
- package/dist/infrastructure/ux/bi-directional-learning.js.map +1 -0
- package/dist/infrastructure/ux/expectation-management.d.ts +65 -0
- package/dist/infrastructure/ux/expectation-management.d.ts.map +1 -0
- package/dist/infrastructure/ux/expectation-management.js +193 -0
- package/dist/infrastructure/ux/expectation-management.js.map +1 -0
- package/dist/infrastructure/ux/hitl-validation.d.ts +104 -0
- package/dist/infrastructure/ux/hitl-validation.d.ts.map +1 -0
- package/dist/infrastructure/ux/hitl-validation.js +211 -0
- package/dist/infrastructure/ux/hitl-validation.js.map +1 -0
- package/dist/infrastructure/ux/progressive-disclosure.d.ts +84 -0
- package/dist/infrastructure/ux/progressive-disclosure.d.ts.map +1 -0
- package/dist/infrastructure/ux/progressive-disclosure.js +235 -0
- package/dist/infrastructure/ux/progressive-disclosure.js.map +1 -0
- package/dist/infrastructure/ux/team-standards.d.ts +94 -0
- package/dist/infrastructure/ux/team-standards.d.ts.map +1 -0
- package/dist/infrastructure/ux/team-standards.js +196 -0
- package/dist/infrastructure/ux/team-standards.js.map +1 -0
- package/dist/infrastructure/verification/verification-service.d.ts +12 -0
- package/dist/infrastructure/verification/verification-service.d.ts.map +1 -0
- package/dist/infrastructure/verification/verification-service.js +47 -0
- package/dist/infrastructure/verification/verification-service.js.map +1 -0
- package/dist/infrastructure/xai/attention-visualizer.d.ts +73 -0
- package/dist/infrastructure/xai/attention-visualizer.d.ts.map +1 -0
- package/dist/infrastructure/xai/attention-visualizer.js +174 -0
- package/dist/infrastructure/xai/attention-visualizer.js.map +1 -0
- package/dist/infrastructure/xai/cot-visualizer.d.ts +105 -0
- package/dist/infrastructure/xai/cot-visualizer.d.ts.map +1 -0
- package/dist/infrastructure/xai/cot-visualizer.js +239 -0
- package/dist/infrastructure/xai/cot-visualizer.js.map +1 -0
- package/dist/infrastructure/xai/decision-tree-log.d.ts +104 -0
- package/dist/infrastructure/xai/decision-tree-log.d.ts.map +1 -0
- package/dist/infrastructure/xai/decision-tree-log.js +216 -0
- package/dist/infrastructure/xai/decision-tree-log.js.map +1 -0
- package/dist/infrastructure/xai/interactive-xai.d.ts +106 -0
- package/dist/infrastructure/xai/interactive-xai.d.ts.map +1 -0
- package/dist/infrastructure/xai/interactive-xai.js +262 -0
- package/dist/infrastructure/xai/interactive-xai.js.map +1 -0
- package/dist/infrastructure/xai/uncertainty-quantifier.d.ts +80 -0
- package/dist/infrastructure/xai/uncertainty-quantifier.d.ts.map +1 -0
- package/dist/infrastructure/xai/uncertainty-quantifier.js +201 -0
- package/dist/infrastructure/xai/uncertainty-quantifier.js.map +1 -0
- package/dist/intelligent-retrieval.d.ts.map +1 -1
- package/dist/intelligent-retrieval.js +8 -1
- package/dist/intelligent-retrieval.js.map +1 -1
- package/dist/intent/classifier.d.ts +6 -0
- package/dist/intent/classifier.d.ts.map +1 -0
- package/dist/intent/classifier.js +2 -0
- package/dist/intent/classifier.js.map +1 -0
- package/dist/intent/context.d.ts +4 -0
- package/dist/intent/context.d.ts.map +1 -0
- package/dist/intent/context.js +2 -0
- package/dist/intent/context.js.map +1 -0
- package/dist/iterative-refinement.d.ts.map +1 -1
- package/dist/iterative-refinement.js +20 -3
- package/dist/iterative-refinement.js.map +1 -1
- package/dist/learning.d.ts.map +1 -1
- package/dist/learning.js +1 -2
- package/dist/learning.js.map +1 -1
- package/dist/monitoring.d.ts.map +1 -1
- package/dist/monitoring.js +1 -2
- package/dist/monitoring.js.map +1 -1
- package/dist/parallel-processor.d.ts +3 -2
- package/dist/parallel-processor.d.ts.map +1 -1
- package/dist/parallel-processor.js +183 -56
- package/dist/parallel-processor.js.map +1 -1
- package/dist/presentation/cli/commands/ask-command.d.ts +8 -0
- package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/ask-command.js +133 -0
- package/dist/presentation/cli/commands/ask-command.js.map +1 -0
- package/dist/presentation/cli/commands/config-command.d.ts +9 -0
- package/dist/presentation/cli/commands/config-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/config-command.js +123 -0
- package/dist/presentation/cli/commands/config-command.js.map +1 -0
- package/dist/presentation/cli/commands/cost-command.d.ts +8 -0
- package/dist/presentation/cli/commands/cost-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/cost-command.js +191 -0
- package/dist/presentation/cli/commands/cost-command.js.map +1 -0
- package/dist/presentation/cli/commands/decision-command.d.ts +12 -0
- package/dist/presentation/cli/commands/decision-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/decision-command.js +207 -0
- package/dist/presentation/cli/commands/decision-command.js.map +1 -0
- package/dist/presentation/cli/commands/help-command.d.ts +9 -0
- package/dist/presentation/cli/commands/help-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/help-command.js +281 -0
- package/dist/presentation/cli/commands/help-command.js.map +1 -0
- package/dist/presentation/cli/commands/knowledge-command.d.ts +13 -0
- package/dist/presentation/cli/commands/knowledge-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/knowledge-command.js +129 -0
- package/dist/presentation/cli/commands/knowledge-command.js.map +1 -0
- package/dist/presentation/cli/commands/learning-dashboard-command.d.ts +8 -0
- package/dist/presentation/cli/commands/learning-dashboard-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/learning-dashboard-command.js +183 -0
- package/dist/presentation/cli/commands/learning-dashboard-command.js.map +1 -0
- package/dist/presentation/cli/commands/orchestrate-command.d.ts +8 -0
- package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/orchestrate-command.js +112 -0
- package/dist/presentation/cli/commands/orchestrate-command.js.map +1 -0
- package/dist/presentation/cli/commands/plan-command.d.ts +8 -0
- package/dist/presentation/cli/commands/plan-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/plan-command.js +114 -0
- package/dist/presentation/cli/commands/plan-command.js.map +1 -0
- package/dist/presentation/cli/commands/react-command.d.ts +8 -0
- package/dist/presentation/cli/commands/react-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/react-command.js +99 -0
- package/dist/presentation/cli/commands/react-command.js.map +1 -0
- package/dist/presentation/cli/commands/setup-command.d.ts +10 -0
- package/dist/presentation/cli/commands/setup-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/setup-command.js +231 -0
- package/dist/presentation/cli/commands/setup-command.js.map +1 -0
- package/dist/presentation/cli/commands/smart-command.d.ts +6 -0
- package/dist/presentation/cli/commands/smart-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/smart-command.js +212 -0
- package/dist/presentation/cli/commands/smart-command.js.map +1 -0
- package/dist/presentation/cli/commands/trace-command.d.ts +8 -0
- package/dist/presentation/cli/commands/trace-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/trace-command.js +125 -0
- package/dist/presentation/cli/commands/trace-command.js.map +1 -0
- package/dist/presentation/cli/commands/undo-command.d.ts +8 -0
- package/dist/presentation/cli/commands/undo-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/undo-command.js +141 -0
- package/dist/presentation/cli/commands/undo-command.js.map +1 -0
- package/dist/presentation/cli/error-display.d.ts +23 -0
- package/dist/presentation/cli/error-display.d.ts.map +1 -0
- package/dist/presentation/cli/error-display.js +122 -0
- package/dist/presentation/cli/error-display.js.map +1 -0
- package/dist/refactor.d.ts.map +1 -1
- package/dist/refactor.js +2 -4
- package/dist/refactor.js.map +1 -1
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +2 -63
- package/dist/search.js.map +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +52 -3
- package/dist/session.js.map +1 -1
- package/dist/testgen.d.ts.map +1 -1
- package/dist/testgen.js +1 -2
- package/dist/testgen.js.map +1 -1
- package/dist/tools/bash.d.ts +53 -0
- package/dist/tools/bash.d.ts.map +1 -0
- package/dist/tools/bash.js +213 -0
- package/dist/tools/bash.js.map +1 -0
- package/dist/tools/edit.d.ts +48 -0
- package/dist/tools/edit.d.ts.map +1 -0
- package/dist/tools/edit.js +235 -0
- package/dist/tools/edit.js.map +1 -0
- package/dist/tools/executor.d.ts +29 -0
- package/dist/tools/executor.d.ts.map +1 -0
- package/dist/tools/executor.js +153 -0
- package/dist/tools/executor.js.map +1 -0
- package/dist/tools/git-tool.d.ts +87 -0
- package/dist/tools/git-tool.d.ts.map +1 -0
- package/dist/tools/git-tool.js +292 -0
- package/dist/tools/git-tool.js.map +1 -0
- package/dist/tools/parser.d.ts +33 -0
- package/dist/tools/parser.d.ts.map +1 -0
- package/dist/tools/parser.js +158 -0
- package/dist/tools/parser.js.map +1 -0
- package/dist/tools/registry.d.ts +74 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +302 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/search.d.ts +41 -0
- package/dist/tools/search.d.ts.map +1 -0
- package/dist/tools/search.js +100 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +4 -2
- package/dist/ui.js.map +1 -1
- package/dist/utils/check-api-status.d.ts +12 -0
- package/dist/utils/check-api-status.d.ts.map +1 -0
- package/dist/utils/check-api-status.js +82 -0
- package/dist/utils/check-api-status.js.map +1 -0
- package/dist/utils/diff-parser.d.ts +22 -0
- package/dist/utils/diff-parser.d.ts.map +1 -0
- package/dist/utils/diff-parser.js +160 -0
- package/dist/utils/diff-parser.js.map +1 -0
- package/dist/utils/logger.d.ts +34 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +56 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/version.d.ts +21 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +52 -0
- package/dist/utils/version.js.map +1 -0
- package/dist/verification/backup.d.ts +30 -0
- package/dist/verification/backup.d.ts.map +1 -0
- package/dist/verification/backup.js +238 -0
- package/dist/verification/backup.js.map +1 -0
- package/dist/verification/compiler.d.ts +20 -0
- package/dist/verification/compiler.d.ts.map +1 -0
- package/dist/verification/compiler.js +228 -0
- package/dist/verification/compiler.js.map +1 -0
- package/dist/verification/index.d.ts +59 -0
- package/dist/verification/index.d.ts.map +1 -0
- package/dist/verification/index.js +273 -0
- package/dist/verification/index.js.map +1 -0
- package/dist/verification/test-runner.d.ts +27 -0
- package/dist/verification/test-runner.d.ts.map +1 -0
- package/dist/verification/test-runner.js +379 -0
- package/dist/verification/test-runner.js.map +1 -0
- package/package.json +39 -14
- package/ARCHITECTURE.md +0 -240
- package/CHANGELOG.md +0 -44
- package/CONTRIBUTING.md +0 -171
- package/dist/benchmark.d.ts +0 -39
- package/dist/benchmark.d.ts.map +0 -1
- package/dist/benchmark.js +0 -195
- package/dist/benchmark.js.map +0 -1
- package/dist/scaffold.d.ts +0 -14
- package/dist/scaffold.d.ts.map +0 -1
- package/dist/scaffold.js +0 -85
- package/dist/scaffold.js.map +0 -1
- package/templates/next-page/app/layout.tsx +0 -19
- package/templates/next-page/app/page.tsx +0 -10
- package/templates/next-page/package.json +0 -22
- package/templates/node-api/index.js +0 -57
- package/templates/node-api/package.json +0 -13
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Setup Wizard Command
|
|
3
|
+
* Interactive first-time setup for Codehere
|
|
4
|
+
* Checks environment, API keys, and guides users through configuration
|
|
5
|
+
*/
|
|
6
|
+
import { readFileSync, existsSync, writeFileSync, mkdirSync } from 'fs';
|
|
7
|
+
import { join } from 'path';
|
|
8
|
+
import { getConfigManager } from '../../../infrastructure/config/config-manager.js';
|
|
9
|
+
import { colors, separator, newline, sectionHeader, success, error, warning, info, } from '../../../ui.js';
|
|
10
|
+
import { executionTracer } from '../../../infrastructure/observability/execution-tracer.js';
|
|
11
|
+
import { findCodebaseRoot } from '../../../domain/services/codebase-detector.js';
|
|
12
|
+
/**
|
|
13
|
+
* Check if API key is configured
|
|
14
|
+
*/
|
|
15
|
+
function checkAPIKey() {
|
|
16
|
+
const apiKey = process.env.COHERE_API_KEY;
|
|
17
|
+
if (apiKey && apiKey.trim() && !apiKey.includes('your_key_here') && apiKey.length > 10) {
|
|
18
|
+
return { configured: true, key: apiKey };
|
|
19
|
+
}
|
|
20
|
+
return { configured: false };
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Detect codebase type and root
|
|
24
|
+
*/
|
|
25
|
+
function detectCodebase() {
|
|
26
|
+
const cwd = process.cwd();
|
|
27
|
+
// Check for common project indicators
|
|
28
|
+
const indicators = {
|
|
29
|
+
node: ['package.json'],
|
|
30
|
+
python: ['requirements.txt', 'setup.py', 'pyproject.toml'],
|
|
31
|
+
rust: ['Cargo.toml'],
|
|
32
|
+
go: ['go.mod'],
|
|
33
|
+
java: ['pom.xml', 'build.gradle'],
|
|
34
|
+
};
|
|
35
|
+
for (const [type, files] of Object.entries(indicators)) {
|
|
36
|
+
for (const file of files) {
|
|
37
|
+
if (existsSync(join(cwd, file))) {
|
|
38
|
+
return { detected: true, type, root: cwd };
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return { detected: false, root: cwd };
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Detect preferred model from config
|
|
46
|
+
*/
|
|
47
|
+
function detectModel() {
|
|
48
|
+
try {
|
|
49
|
+
const configPath = join(process.cwd(), 'data', 'model-config.json');
|
|
50
|
+
if (existsSync(configPath)) {
|
|
51
|
+
const config = JSON.parse(readFileSync(configPath, 'utf-8'));
|
|
52
|
+
return config.preferredModel || config.modelFamily || null;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
// Ignore errors
|
|
57
|
+
}
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Create config directory if needed
|
|
62
|
+
*/
|
|
63
|
+
function ensureConfigDir() {
|
|
64
|
+
const configDir = join(process.cwd(), 'data');
|
|
65
|
+
if (!existsSync(configDir)) {
|
|
66
|
+
mkdirSync(configDir, { recursive: true });
|
|
67
|
+
}
|
|
68
|
+
return configDir;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Save setup configuration
|
|
72
|
+
*/
|
|
73
|
+
function saveSetupConfig(result) {
|
|
74
|
+
const configDir = ensureConfigDir();
|
|
75
|
+
const configPath = join(configDir, 'setup-config.json');
|
|
76
|
+
const config = {
|
|
77
|
+
setupComplete: true,
|
|
78
|
+
setupDate: new Date().toISOString(),
|
|
79
|
+
apiKeyConfigured: result.apiKeyConfigured,
|
|
80
|
+
modelDetected: result.modelDetected,
|
|
81
|
+
codebaseDetected: result.codebaseDetected,
|
|
82
|
+
};
|
|
83
|
+
writeFileSync(configPath, JSON.stringify(config, null, 2));
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Check if setup has been completed before
|
|
87
|
+
*/
|
|
88
|
+
function isSetupComplete() {
|
|
89
|
+
try {
|
|
90
|
+
const configPath = join(process.cwd(), 'data', 'setup-config.json');
|
|
91
|
+
if (existsSync(configPath)) {
|
|
92
|
+
const config = JSON.parse(readFileSync(configPath, 'utf-8'));
|
|
93
|
+
return config.setupComplete === true;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
// Ignore errors
|
|
98
|
+
}
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Execute setup wizard
|
|
103
|
+
*/
|
|
104
|
+
export async function executeSetupCommand(force = false) {
|
|
105
|
+
// Start execution tracing
|
|
106
|
+
const codebaseInfo = findCodebaseRoot(process.cwd());
|
|
107
|
+
const runId = executionTracer.startRun('setup', {
|
|
108
|
+
codebaseId: codebaseInfo?.rootPath || process.cwd(),
|
|
109
|
+
});
|
|
110
|
+
try {
|
|
111
|
+
newline();
|
|
112
|
+
console.log(separator('═', 80));
|
|
113
|
+
console.log(colors.bold('Codehere - Setup Wizard'));
|
|
114
|
+
console.log(separator('═', 80));
|
|
115
|
+
newline();
|
|
116
|
+
// Check if already set up
|
|
117
|
+
if (!force && isSetupComplete()) {
|
|
118
|
+
console.log(info('Setup has already been completed.'));
|
|
119
|
+
newline();
|
|
120
|
+
console.log(colors.dim('Run with --force to reconfigure.'));
|
|
121
|
+
newline();
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const result = {
|
|
125
|
+
apiKeyConfigured: false,
|
|
126
|
+
modelDetected: null,
|
|
127
|
+
codebaseDetected: false,
|
|
128
|
+
configPath: join(process.cwd(), 'data'),
|
|
129
|
+
};
|
|
130
|
+
// Step 1: API Key
|
|
131
|
+
sectionHeader('Step 1: API Key Configuration');
|
|
132
|
+
const apiKeyCheck = checkAPIKey();
|
|
133
|
+
if (apiKeyCheck.configured) {
|
|
134
|
+
console.log(success(`API Key: Found and configured`));
|
|
135
|
+
console.log(colors.dim(` Key preview: ${apiKeyCheck.key?.substring(0, 8)}...${apiKeyCheck.key?.substring(apiKeyCheck.key.length - 4)}`));
|
|
136
|
+
result.apiKeyConfigured = true;
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
console.log(warning('API Key: Not configured'));
|
|
140
|
+
newline();
|
|
141
|
+
console.log(colors.bold('To configure your API key:'));
|
|
142
|
+
console.log(colors.dim(` 1. Get your API key from: ${colors.cyan('https://dashboard.cohere.com/api-keys')}`));
|
|
143
|
+
console.log(colors.dim(` 2. Create a .env file in your project root:`));
|
|
144
|
+
console.log(colors.cyan(' echo "COHERE_API_KEY=your_key_here" > .env'));
|
|
145
|
+
console.log(colors.dim(` 3. Or export it in your shell:`));
|
|
146
|
+
console.log(colors.cyan(' export COHERE_API_KEY=your_key_here'));
|
|
147
|
+
newline();
|
|
148
|
+
}
|
|
149
|
+
newline();
|
|
150
|
+
// Step 2: Model Detection
|
|
151
|
+
sectionHeader('Step 2: Model Configuration');
|
|
152
|
+
const model = detectModel();
|
|
153
|
+
if (model) {
|
|
154
|
+
console.log(success(`Preferred Model: ${model}`));
|
|
155
|
+
result.modelDetected = model;
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
console.log(info('Model: Using default (Command R+)'));
|
|
159
|
+
console.log(colors.dim(' Run model evaluation to set preferred model.'));
|
|
160
|
+
result.modelDetected = 'Command R+ (default)';
|
|
161
|
+
}
|
|
162
|
+
newline();
|
|
163
|
+
// Step 3: Codebase Detection
|
|
164
|
+
sectionHeader('Step 3: Codebase Detection');
|
|
165
|
+
const codebase = detectCodebase();
|
|
166
|
+
if (codebase.detected) {
|
|
167
|
+
console.log(success(`Codebase: Detected (${codebase.type})`));
|
|
168
|
+
console.log(colors.dim(` Root: ${codebase.root}`));
|
|
169
|
+
result.codebaseDetected = true;
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
console.log(warning('Codebase: Not detected'));
|
|
173
|
+
console.log(colors.dim(' Make sure you\'re in your project directory.'));
|
|
174
|
+
result.codebaseDetected = false;
|
|
175
|
+
}
|
|
176
|
+
newline();
|
|
177
|
+
// Step 4: Summary
|
|
178
|
+
sectionHeader('Setup Summary');
|
|
179
|
+
const summaryItems = [
|
|
180
|
+
['API Key', result.apiKeyConfigured ? success('Configured') : error('Not Configured')],
|
|
181
|
+
['Model', result.modelDetected || info('Default')],
|
|
182
|
+
['Codebase', result.codebaseDetected ? success('Detected') : warning('Not Detected')],
|
|
183
|
+
];
|
|
184
|
+
summaryItems.forEach(([label, status]) => {
|
|
185
|
+
console.log(` ${label.padEnd(15)} ${status}`);
|
|
186
|
+
});
|
|
187
|
+
newline();
|
|
188
|
+
// Step 5: Save Configuration
|
|
189
|
+
if (result.apiKeyConfigured) {
|
|
190
|
+
const configManager = getConfigManager();
|
|
191
|
+
// Update codebase info if detected
|
|
192
|
+
if (codebase.detected) {
|
|
193
|
+
configManager.updateCodebase(codebase.root);
|
|
194
|
+
}
|
|
195
|
+
// Update model preference if detected
|
|
196
|
+
if (model) {
|
|
197
|
+
configManager.setPreference('defaultModel', model.replace(' (default)', ''));
|
|
198
|
+
}
|
|
199
|
+
// Save configuration
|
|
200
|
+
configManager.saveConfig();
|
|
201
|
+
result.configPath = configManager.getConfigPath();
|
|
202
|
+
console.log(separator('═', 80));
|
|
203
|
+
console.log(success('Setup Complete!'));
|
|
204
|
+
console.log(separator('═', 80));
|
|
205
|
+
newline();
|
|
206
|
+
console.log(colors.bold('Configuration Saved:'));
|
|
207
|
+
console.log(colors.dim(` ${result.configPath}`));
|
|
208
|
+
newline();
|
|
209
|
+
console.log(colors.bold('Next Steps:'));
|
|
210
|
+
console.log(colors.dim(` 1. Index your codebase: ${colors.cyan('codehere index')}`));
|
|
211
|
+
console.log(colors.dim(` 2. Try asking a question: ${colors.cyan('codehere "explain this function"')}`));
|
|
212
|
+
console.log(colors.dim(` 3. Get help: ${colors.cyan('codehere --help')}`));
|
|
213
|
+
console.log(colors.dim(` 4. Configure preferences: ${colors.cyan('codehere config')}`));
|
|
214
|
+
newline();
|
|
215
|
+
saveSetupConfig(result);
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
console.log(separator('═', 80));
|
|
219
|
+
console.log(warning('Setup Incomplete'));
|
|
220
|
+
console.log(separator('═', 80));
|
|
221
|
+
newline();
|
|
222
|
+
console.log(colors.bold('Please configure your API key to continue.'));
|
|
223
|
+
console.log(colors.dim('Run this command again after setting up your API key.'));
|
|
224
|
+
newline();
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
finally {
|
|
228
|
+
executionTracer.endRun();
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=setup-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-command.js","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/setup-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-command.d.ts","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/smart-command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6OtE"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Command: Smart Router
|
|
3
|
+
* Intelligent routing - user just types what they want
|
|
4
|
+
*/
|
|
5
|
+
import { IntelligentRouter } from '../../../application/services/intelligent-router.js';
|
|
6
|
+
import { colors, success, error, warning, newline, separator, symbols, } from '../../../ui.js';
|
|
7
|
+
import { cleanResponse } from '../../../formatter.js';
|
|
8
|
+
import { executionTracer } from '../../../infrastructure/observability/execution-tracer.js';
|
|
9
|
+
export async function executeSmartCommand(query) {
|
|
10
|
+
// Use dependency container to get memory-aware router
|
|
11
|
+
const { container } = await import('../../../application/services/dependency-container.js');
|
|
12
|
+
const router = new IntelligentRouter(undefined, // Use default QueryIntentClassifier
|
|
13
|
+
container.aiService, container.memoryStreamService);
|
|
14
|
+
// Professional banner with query
|
|
15
|
+
console.log('\n' + separator('═', 80));
|
|
16
|
+
console.log(colors.bold('Codehere - AI Coding Assistant'));
|
|
17
|
+
console.log(separator('═', 80));
|
|
18
|
+
newline();
|
|
19
|
+
console.log(colors.bold('Query:') + ' ' + colors.cyan(`"${query}"`));
|
|
20
|
+
newline();
|
|
21
|
+
// Start execution tracing and track start time for summary statistics
|
|
22
|
+
const startTime = Date.now();
|
|
23
|
+
const runId = executionTracer.startRun('smart-route', {
|
|
24
|
+
query,
|
|
25
|
+
codebaseId: process.cwd(),
|
|
26
|
+
});
|
|
27
|
+
// No verbose spinner - atomic interaction
|
|
28
|
+
try {
|
|
29
|
+
const result = await router.route({
|
|
30
|
+
query,
|
|
31
|
+
context: {
|
|
32
|
+
currentDirectory: process.cwd(),
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
// Display result based on action type - atomic, human-like
|
|
36
|
+
switch (result.action) {
|
|
37
|
+
case 'ask':
|
|
38
|
+
// Atomic: Just show the answer, no verbose tables
|
|
39
|
+
console.log(cleanResponse(result.message || 'No answer generated'));
|
|
40
|
+
newline();
|
|
41
|
+
break;
|
|
42
|
+
case 'explain':
|
|
43
|
+
// Atomic: Just show the explanation
|
|
44
|
+
if (result.result) {
|
|
45
|
+
const explainResult = result.result;
|
|
46
|
+
console.log(cleanResponse(explainResult.explanation));
|
|
47
|
+
}
|
|
48
|
+
newline();
|
|
49
|
+
break;
|
|
50
|
+
case 'edit':
|
|
51
|
+
console.log(separator('═', 80));
|
|
52
|
+
console.log(colors.bold('Edit Result'));
|
|
53
|
+
console.log(separator('═', 80));
|
|
54
|
+
newline();
|
|
55
|
+
if (result.success) {
|
|
56
|
+
console.log(success('Edit applied successfully'));
|
|
57
|
+
if (result.result) {
|
|
58
|
+
const editResult = result.result;
|
|
59
|
+
if (editResult.edit?.filepath) {
|
|
60
|
+
console.log(colors.dim(`File: ${editResult.edit.filepath}`));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
console.log(error('Edit failed'));
|
|
66
|
+
if (result.error) {
|
|
67
|
+
console.log(colors.red(` ${result.error}`));
|
|
68
|
+
}
|
|
69
|
+
if (result.result && result.result.reflection) {
|
|
70
|
+
newline();
|
|
71
|
+
console.log(colors.bold('Learning:'));
|
|
72
|
+
console.log(colors.yellow(` ${result.result.reflection}`));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
console.log(separator('═', 80));
|
|
76
|
+
newline();
|
|
77
|
+
break;
|
|
78
|
+
case 'react':
|
|
79
|
+
// Atomic: Just show the final answer, not reasoning steps
|
|
80
|
+
if (result.result) {
|
|
81
|
+
const reactResult = result.result;
|
|
82
|
+
// Only show answer, not verbose reasoning steps
|
|
83
|
+
console.log(cleanResponse(result.message || reactResult.answer || 'Processing complete'));
|
|
84
|
+
}
|
|
85
|
+
newline();
|
|
86
|
+
break;
|
|
87
|
+
case 'plan':
|
|
88
|
+
if (result.result) {
|
|
89
|
+
const planResult = result.result;
|
|
90
|
+
// Check if it's from orchestrator (has execution/validation) or just planning
|
|
91
|
+
if (planResult.plan) {
|
|
92
|
+
console.log(separator('═', 80));
|
|
93
|
+
console.log(colors.bold('Plan'));
|
|
94
|
+
console.log(separator('═', 80));
|
|
95
|
+
newline();
|
|
96
|
+
console.log(colors.bold('Goal:') + ' ' + colors.cyan(planResult.plan.goal || query));
|
|
97
|
+
if (planResult.plan.metadata?.complexity) {
|
|
98
|
+
console.log(colors.dim(`Complexity: ${planResult.plan.metadata.complexity}`));
|
|
99
|
+
}
|
|
100
|
+
if (planResult.plan.metadata?.estimatedDuration) {
|
|
101
|
+
console.log(colors.dim(`Estimated Duration: ${planResult.plan.metadata.estimatedDuration} minutes`));
|
|
102
|
+
}
|
|
103
|
+
newline();
|
|
104
|
+
if (planResult.plan.subPlans && planResult.plan.subPlans.length > 0) {
|
|
105
|
+
console.log(colors.bold('Sub-Plans:'));
|
|
106
|
+
planResult.plan.subPlans.forEach((subPlan, i) => {
|
|
107
|
+
const statusIconMap = {
|
|
108
|
+
pending: '○',
|
|
109
|
+
in_progress: '⟳',
|
|
110
|
+
completed: '✓',
|
|
111
|
+
failed: '✗',
|
|
112
|
+
};
|
|
113
|
+
const statusIcon = statusIconMap[subPlan.status] || '○';
|
|
114
|
+
console.log(` ${statusIcon} [${subPlan.type || 'task'}] ${subPlan.description || 'Sub-plan ' + (i + 1)}`);
|
|
115
|
+
if (subPlan.dependencies && subPlan.dependencies.length > 0) {
|
|
116
|
+
console.log(colors.dim(` Depends on: ${subPlan.dependencies.join(', ')}`));
|
|
117
|
+
}
|
|
118
|
+
if (subPlan.estimatedSteps) {
|
|
119
|
+
console.log(colors.dim(` Estimated steps: ${subPlan.estimatedSteps}`));
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
newline();
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
// Show execution results if from orchestrator
|
|
126
|
+
if (planResult.execution) {
|
|
127
|
+
console.log(separator('═', 80));
|
|
128
|
+
console.log(colors.bold('Execution Results'));
|
|
129
|
+
console.log(separator('═', 80));
|
|
130
|
+
newline();
|
|
131
|
+
console.log(colors.bold(`Completed: ${planResult.execution.completedSubPlans || 0}/${planResult.execution.totalSubPlans || 0} sub-plans`));
|
|
132
|
+
console.log(colors.bold(`Overall Success: ${planResult.execution.overallSuccess ? '[SUCCESS]' : '[FAILED]'}`));
|
|
133
|
+
newline();
|
|
134
|
+
if (planResult.execution.results && planResult.execution.results.length > 0) {
|
|
135
|
+
planResult.execution.results.forEach((execResult) => {
|
|
136
|
+
const icon = execResult.success ? symbols.success : symbols.error;
|
|
137
|
+
const color = execResult.success ? colors.green : colors.red;
|
|
138
|
+
console.log(`${color(icon)} ${execResult.subPlanId || 'Sub-plan'}: ${execResult.success ? 'Success' : 'Failed'}${execResult.duration ? ` (${execResult.duration}ms)` : ''}`);
|
|
139
|
+
if (execResult.error) {
|
|
140
|
+
console.log(colors.dim(` Error: ${execResult.error}`));
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
newline();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// Show validation results if available
|
|
147
|
+
if (planResult.validation) {
|
|
148
|
+
console.log(separator('═', 80));
|
|
149
|
+
console.log(colors.bold('Validation Results'));
|
|
150
|
+
console.log(separator('═', 80));
|
|
151
|
+
newline();
|
|
152
|
+
if (planResult.validation.qualityScore !== undefined) {
|
|
153
|
+
console.log(colors.bold(`Quality Score: ${planResult.validation.qualityScore}/100`));
|
|
154
|
+
}
|
|
155
|
+
if (planResult.validation.compilationSuccess !== undefined) {
|
|
156
|
+
console.log(`Compilation: ${planResult.validation.compilationSuccess ? success('Pass') : error('Fail')}`);
|
|
157
|
+
}
|
|
158
|
+
if (planResult.validation.testsPassed !== undefined) {
|
|
159
|
+
console.log(`Tests: ${planResult.validation.testsPassed ? success('Pass') : error('Fail')}`);
|
|
160
|
+
}
|
|
161
|
+
if (planResult.validation.testResults) {
|
|
162
|
+
const tr = planResult.validation.testResults;
|
|
163
|
+
console.log(colors.dim(`Test Results: ${tr.passed || 0} passed, ${tr.failed || 0} failed, ${tr.total || 0} total`));
|
|
164
|
+
}
|
|
165
|
+
newline();
|
|
166
|
+
}
|
|
167
|
+
// Show final message
|
|
168
|
+
if (result.success) {
|
|
169
|
+
console.log(separator('═', 80));
|
|
170
|
+
console.log(success(result.message || 'Plan completed successfully'));
|
|
171
|
+
console.log(separator('═', 80));
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
console.log(separator('═', 80));
|
|
175
|
+
console.log(error(result.message || result.error || 'Plan failed'));
|
|
176
|
+
console.log(separator('═', 80));
|
|
177
|
+
}
|
|
178
|
+
newline();
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
console.log(separator('═', 80));
|
|
182
|
+
console.log(colors.bold('Plan'));
|
|
183
|
+
console.log(separator('═', 80));
|
|
184
|
+
newline();
|
|
185
|
+
console.log(result.message || 'Planning in progress...');
|
|
186
|
+
newline();
|
|
187
|
+
}
|
|
188
|
+
break;
|
|
189
|
+
case 'index':
|
|
190
|
+
console.log(warning(result.message || 'Indexing required'));
|
|
191
|
+
break;
|
|
192
|
+
default:
|
|
193
|
+
console.log(result.message || 'Processing...');
|
|
194
|
+
}
|
|
195
|
+
// Atomic interaction: No summary table for better UX
|
|
196
|
+
// Summary statistics are tracked internally but not displayed
|
|
197
|
+
newline();
|
|
198
|
+
}
|
|
199
|
+
catch (err) {
|
|
200
|
+
const { displayError } = await import('../error-display.js');
|
|
201
|
+
displayError(err, {
|
|
202
|
+
operation: 'smart-route',
|
|
203
|
+
query,
|
|
204
|
+
showSuggestions: true,
|
|
205
|
+
});
|
|
206
|
+
throw err;
|
|
207
|
+
}
|
|
208
|
+
finally {
|
|
209
|
+
executionTracer.endRun();
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=smart-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-command.js","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/smart-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Command: Trace
|
|
3
|
+
* View execution traces and reproduce runs
|
|
4
|
+
*
|
|
5
|
+
* Clean Architecture: Presentation Layer
|
|
6
|
+
*/
|
|
7
|
+
export declare function executeTraceCommand(action: 'show' | 'reproduce' | 'list', runId?: string): Promise<void>;
|
|
8
|
+
//# sourceMappingURL=trace-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-command.d.ts","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/trace-command.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,EACrC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAyCf"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Command: Trace
|
|
3
|
+
* View execution traces and reproduce runs
|
|
4
|
+
*
|
|
5
|
+
* Clean Architecture: Presentation Layer
|
|
6
|
+
*/
|
|
7
|
+
import { executionTracer } from '../../../infrastructure/observability/execution-tracer.js';
|
|
8
|
+
import { colors, sectionHeader, success, error, warning, info, newline, createBanner, createTable, } from '../../../ui.js';
|
|
9
|
+
export async function executeTraceCommand(action, runId) {
|
|
10
|
+
console.log(createBanner('Execution Tracing', 'Observability and reproducibility'));
|
|
11
|
+
newline();
|
|
12
|
+
try {
|
|
13
|
+
switch (action) {
|
|
14
|
+
case 'show': {
|
|
15
|
+
if (!runId) {
|
|
16
|
+
console.log(error('Run ID is required for "show" action'));
|
|
17
|
+
console.log(info('Usage: codehere trace show <runId>'));
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
await showTrace(runId);
|
|
21
|
+
break;
|
|
22
|
+
}
|
|
23
|
+
case 'reproduce': {
|
|
24
|
+
if (!runId) {
|
|
25
|
+
console.log(error('Run ID is required for "reproduce" action'));
|
|
26
|
+
console.log(info('Usage: codehere trace reproduce <runId>'));
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
await reproduceTrace(runId);
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
case 'list': {
|
|
33
|
+
await listTraces();
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
default:
|
|
37
|
+
console.log(error(`Unknown action: ${action}`));
|
|
38
|
+
console.log(info('Available actions: show, reproduce, list'));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
console.log(error(`Error: ${err.message}`));
|
|
43
|
+
if (err.stack) {
|
|
44
|
+
console.log(colors.dim(err.stack));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async function showTrace(runId) {
|
|
49
|
+
const run = executionTracer.getRun(runId);
|
|
50
|
+
if (!run) {
|
|
51
|
+
console.log(error(`Run ${runId} not found`));
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
console.log(sectionHeader('Run Details'));
|
|
55
|
+
console.log(colors.bold(`Run ID: ${run.runId}`));
|
|
56
|
+
console.log(`Operation: ${run.operation}`);
|
|
57
|
+
console.log(`Query: ${run.query || 'N/A'}`);
|
|
58
|
+
console.log(`Start Time: ${new Date(run.startTime).toISOString()}`);
|
|
59
|
+
if (run.endTime) {
|
|
60
|
+
const duration = run.endTime - run.startTime;
|
|
61
|
+
console.log(`End Time: ${new Date(run.endTime).toISOString()}`);
|
|
62
|
+
console.log(`Duration: ${(duration / 1000).toFixed(2)}s`);
|
|
63
|
+
}
|
|
64
|
+
if (run.codebaseId) {
|
|
65
|
+
console.log(`Codebase: ${run.codebaseId}`);
|
|
66
|
+
}
|
|
67
|
+
newline();
|
|
68
|
+
console.log(sectionHeader('Traces'));
|
|
69
|
+
console.log(`Total traces: ${run.traces.length}`);
|
|
70
|
+
newline();
|
|
71
|
+
if (run.traces.length > 0) {
|
|
72
|
+
const tableData = run.traces.map((trace, index) => [
|
|
73
|
+
String(index + 1),
|
|
74
|
+
trace.operationType,
|
|
75
|
+
trace.operationName,
|
|
76
|
+
new Date(trace.timestamp).toISOString(),
|
|
77
|
+
trace.duration ? `${(trace.duration / 1000).toFixed(2)}s` : 'N/A',
|
|
78
|
+
trace.error ? colors.red('Error') : colors.green('Success'),
|
|
79
|
+
]);
|
|
80
|
+
const table = createTable(['#', 'Type', 'Operation', 'Timestamp', 'Duration', 'Status'], tableData);
|
|
81
|
+
console.log(table);
|
|
82
|
+
newline();
|
|
83
|
+
// Show errors if any
|
|
84
|
+
const errors = run.traces.filter(t => t.error);
|
|
85
|
+
if (errors.length > 0) {
|
|
86
|
+
console.log(sectionHeader('Errors'));
|
|
87
|
+
errors.forEach((trace, index) => {
|
|
88
|
+
console.log(colors.bold(`\nError ${index + 1}: ${trace.operationName}`));
|
|
89
|
+
console.log(colors.red(` ${trace.error.message}`));
|
|
90
|
+
if (trace.error.stack) {
|
|
91
|
+
console.log(colors.dim(` ${trace.error.stack.split('\n').slice(0, 3).join('\n ')}`));
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
newline();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
async function reproduceTrace(runId) {
|
|
99
|
+
console.log(sectionHeader('Reproducing Run'));
|
|
100
|
+
console.log(colors.dim(`Run ID: ${runId}`));
|
|
101
|
+
newline();
|
|
102
|
+
try {
|
|
103
|
+
await executionTracer.reproduceRun(runId);
|
|
104
|
+
console.log(success('Run reproduction completed'));
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
console.log(error(`Failed to reproduce run: ${err.message}`));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
async function listTraces() {
|
|
111
|
+
console.log(sectionHeader('Recent Runs'));
|
|
112
|
+
const runs = executionTracer.listRecentRuns(20);
|
|
113
|
+
if (runs.length === 0) {
|
|
114
|
+
console.log(warning('No recent runs found'));
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
const tableData = runs.map(run => [
|
|
118
|
+
run.runId.substring(0, 8) + '...',
|
|
119
|
+
run.operation,
|
|
120
|
+
new Date(run.timestamp).toISOString(),
|
|
121
|
+
]);
|
|
122
|
+
const table = createTable(['Run ID', 'Operation', 'Timestamp'], tableData);
|
|
123
|
+
console.log(table);
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=trace-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-command.js","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/trace-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Command: Undo
|
|
3
|
+
* Undo file changes by restoring from backups
|
|
4
|
+
*
|
|
5
|
+
* Clean Architecture: Presentation Layer
|
|
6
|
+
*/
|
|
7
|
+
export declare function executeUndoCommand(action: 'undo' | 'list' | 'restore', filepath?: string, backupPath?: string): Promise<void>;
|
|
8
|
+
//# sourceMappingURL=undo-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"undo-command.d.ts","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/undo-command.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EACnC,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAsDf"}
|