codehere 0.1.1 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +68 -329
- package/dist/application/agents/execution-agent.js +4 -30
- package/dist/application/agents/multi-agent-orchestrator.js +0 -1
- package/dist/application/agents/planning-agent.js +79 -199
- package/dist/application/services/dependency-container.js +9 -20
- package/dist/application/services/intelligent-router.js +56 -64
- package/dist/application/use-cases/ask-question-use-case.js +22 -121
- package/dist/application/use-cases/edit-file-use-case.js +171 -160
- package/dist/application/use-cases/react-orchestration-use-case.js +10 -43
- package/dist/chat.js +130 -54
- package/dist/domain/services/query-intent-classifier.js +3 -36
- package/dist/embed.js +61 -74
- package/dist/index.js +1299 -259
- package/dist/infrastructure/ai/cohere-ai-service.js +9 -78
- package/dist/infrastructure/ai/provider-ai-service.js +18 -121
- package/dist/infrastructure/config/config-manager.js +14 -135
- package/dist/infrastructure/config/product-context.js +66 -0
- package/dist/infrastructure/context/conversation-context.js +1 -86
- package/dist/infrastructure/cost/cost-router.js +104 -0
- package/dist/infrastructure/cost/cost-tracker.js +2 -3
- package/dist/infrastructure/governance/policy-as-code.js +2 -1
- package/dist/infrastructure/hooks/claude-sdk-hook.js +253 -0
- package/dist/infrastructure/hooks/session-analyzer.js +111 -0
- package/dist/infrastructure/observability/execution-tracer.js +7 -180
- package/dist/infrastructure/protocols/mcp-helpers.js +45 -0
- package/dist/infrastructure/protocols/mcp-server-impl.js +286 -0
- package/dist/infrastructure/providers/cohere-provider.js +5 -31
- package/dist/infrastructure/providers/fake-provider.js +0 -8
- package/dist/infrastructure/providers/local-llm-provider.js +2 -8
- package/dist/infrastructure/providers/openai-provider.js +5 -37
- package/dist/infrastructure/providers/openrouter-provider.js +3 -11
- package/dist/infrastructure/safety/pattern-detector.js +133 -0
- package/dist/infrastructure/security/ai-sast-scanner.js +62 -13
- package/dist/infrastructure/security/enhanced-security-gate.js +2 -61
- package/dist/infrastructure/security/input-validator.js +29 -146
- package/dist/infrastructure/security/trust-scorer.js +337 -0
- package/dist/infrastructure/storage/embeddings-path.js +4 -14
- package/dist/infrastructure/storage/plan-repository.js +5 -4
- package/dist/infrastructure/storage/sqlite-decision-repository.js +8 -4
- package/dist/infrastructure/storage/sqlite-embedding-repository.js +11 -23
- package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js +8 -4
- package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js +8 -4
- package/dist/infrastructure/storage/sqlite-memory-repository.js +8 -4
- package/dist/infrastructure/storage/sqlite-pattern-repository.js +8 -4
- package/dist/infrastructure/ux/stream-markdown.js +151 -0
- package/dist/infrastructure/ux/transparency.js +71 -0
- package/dist/infrastructure/validation/agent-feedback.js +12 -57
- package/dist/monitoring.js +4 -3
- package/dist/parallel-processor.js +42 -118
- package/dist/presentation/cli/commands/ask-command.js +39 -80
- package/dist/presentation/cli/commands/config-command.js +1 -1
- package/dist/presentation/cli/commands/cost-command.js +6 -6
- package/dist/presentation/cli/commands/decision-command.js +5 -5
- package/dist/presentation/cli/commands/fix-command.js +4 -44
- package/dist/presentation/cli/commands/help-command.js +151 -100
- package/dist/presentation/cli/commands/hook-command.js +272 -0
- package/dist/presentation/cli/commands/knowledge-command.js +4 -4
- package/dist/presentation/cli/commands/learning-dashboard-command.js +3 -3
- package/dist/presentation/cli/commands/orchestrate-command.js +6 -48
- package/dist/presentation/cli/commands/plan-command.js +1 -1
- package/dist/presentation/cli/commands/product-command.js +193 -16
- package/dist/presentation/cli/commands/report-command.js +353 -0
- package/dist/presentation/cli/commands/run-command.js +3 -3
- package/dist/presentation/cli/commands/scan-tool-command.js +65 -0
- package/dist/presentation/cli/commands/setup-command.js +34 -81
- package/dist/presentation/cli/commands/smart-command.js +50 -172
- package/dist/presentation/cli/commands/status-command.js +304 -119
- package/dist/presentation/cli/commands/trust-command.js +263 -274
- package/dist/presentation/cli/commands/undo-command.js +2 -2
- package/dist/search.js +37 -67
- package/dist/session.js +549 -490
- package/dist/task-verification.js +4 -4
- package/dist/token-optimizer.js +1 -6
- package/dist/ui.js +126 -15
- package/dist/utils/check-api-status.js +30 -12
- package/dist/utils/diff-parser.js +18 -48
- package/dist/verification/compiler.js +12 -11
- package/package.json +24 -37
- package/dist/agents/base.d.ts +0 -107
- package/dist/agents/base.d.ts.map +0 -1
- package/dist/agents/base.js.map +0 -1
- package/dist/agents/orchestrator-model-driven.d.ts +0 -41
- package/dist/agents/orchestrator-model-driven.d.ts.map +0 -1
- package/dist/agents/orchestrator-model-driven.js.map +0 -1
- package/dist/agents/react-orchestrator-agent.d.ts +0 -15
- package/dist/agents/react-orchestrator-agent.d.ts.map +0 -1
- package/dist/agents/react-orchestrator-agent.js.map +0 -1
- package/dist/application/agents/execution-agent.d.ts +0 -79
- package/dist/application/agents/execution-agent.d.ts.map +0 -1
- package/dist/application/agents/execution-agent.js.map +0 -1
- package/dist/application/agents/multi-agent-orchestrator.d.ts +0 -69
- package/dist/application/agents/multi-agent-orchestrator.d.ts.map +0 -1
- package/dist/application/agents/multi-agent-orchestrator.js.map +0 -1
- package/dist/application/agents/planning-agent.d.ts +0 -65
- package/dist/application/agents/planning-agent.d.ts.map +0 -1
- package/dist/application/agents/planning-agent.js.map +0 -1
- package/dist/application/agents/validation-agent.d.ts +0 -68
- package/dist/application/agents/validation-agent.d.ts.map +0 -1
- package/dist/application/agents/validation-agent.js.map +0 -1
- package/dist/application/architectures/plan-and-act.d.ts +0 -94
- package/dist/application/architectures/plan-and-act.d.ts.map +0 -1
- package/dist/application/architectures/plan-and-act.js.map +0 -1
- package/dist/application/index.d.ts +0 -12
- package/dist/application/index.d.ts.map +0 -1
- package/dist/application/index.js.map +0 -1
- package/dist/application/services/agent-factory.d.ts +0 -9
- package/dist/application/services/agent-factory.d.ts.map +0 -1
- package/dist/application/services/agent-factory.js.map +0 -1
- package/dist/application/services/context-importer.d.ts +0 -71
- package/dist/application/services/context-importer.d.ts.map +0 -1
- package/dist/application/services/context-importer.js +0 -436
- package/dist/application/services/context-importer.js.map +0 -1
- package/dist/application/services/context-manager.d.ts +0 -132
- package/dist/application/services/context-manager.d.ts.map +0 -1
- package/dist/application/services/context-manager.js +0 -369
- package/dist/application/services/context-manager.js.map +0 -1
- package/dist/application/services/dependency-container.d.ts +0 -187
- package/dist/application/services/dependency-container.d.ts.map +0 -1
- package/dist/application/services/dependency-container.js.map +0 -1
- package/dist/application/services/git-context-service.d.ts +0 -30
- package/dist/application/services/git-context-service.d.ts.map +0 -1
- package/dist/application/services/git-context-service.js.map +0 -1
- package/dist/application/services/intelligent-router.d.ts +0 -90
- package/dist/application/services/intelligent-router.d.ts.map +0 -1
- package/dist/application/services/intelligent-router.js.map +0 -1
- package/dist/application/services/token-counting-service.d.ts +0 -87
- package/dist/application/services/token-counting-service.d.ts.map +0 -1
- package/dist/application/services/token-counting-service.js +0 -196
- package/dist/application/services/token-counting-service.js.map +0 -1
- package/dist/application/services/tool-executor-service.d.ts +0 -14
- package/dist/application/services/tool-executor-service.d.ts.map +0 -1
- package/dist/application/services/tool-executor-service.js.map +0 -1
- package/dist/application/use-cases/ask-question-use-case.d.ts +0 -67
- package/dist/application/use-cases/ask-question-use-case.d.ts.map +0 -1
- package/dist/application/use-cases/ask-question-use-case.js.map +0 -1
- package/dist/application/use-cases/edit-file-use-case.d.ts +0 -92
- package/dist/application/use-cases/edit-file-use-case.d.ts.map +0 -1
- package/dist/application/use-cases/edit-file-use-case.js.map +0 -1
- package/dist/application/use-cases/explain-file-use-case.d.ts +0 -21
- package/dist/application/use-cases/explain-file-use-case.d.ts.map +0 -1
- package/dist/application/use-cases/explain-file-use-case.js.map +0 -1
- package/dist/application/use-cases/index-codebase-use-case.d.ts +0 -46
- package/dist/application/use-cases/index-codebase-use-case.d.ts.map +0 -1
- package/dist/application/use-cases/index-codebase-use-case.js.map +0 -1
- package/dist/application/use-cases/planning-use-case.d.ts +0 -46
- package/dist/application/use-cases/planning-use-case.d.ts.map +0 -1
- package/dist/application/use-cases/planning-use-case.js.map +0 -1
- package/dist/application/use-cases/react-orchestration-use-case.d.ts +0 -51
- package/dist/application/use-cases/react-orchestration-use-case.d.ts.map +0 -1
- package/dist/application/use-cases/react-orchestration-use-case.js.map +0 -1
- package/dist/application/use-cases/reflexion-use-case.d.ts +0 -24
- package/dist/application/use-cases/reflexion-use-case.d.ts.map +0 -1
- package/dist/application/use-cases/reflexion-use-case.js.map +0 -1
- package/dist/application/workflows/deterministic-workflows.d.ts +0 -61
- package/dist/application/workflows/deterministic-workflows.d.ts.map +0 -1
- package/dist/application/workflows/deterministic-workflows.js.map +0 -1
- package/dist/ast-parser.d 2.ts +0 -55
- package/dist/ast-parser.d.ts +0 -55
- package/dist/ast-parser.d.ts.map +0 -1
- package/dist/ast-parser.js.map +0 -1
- package/dist/cache.d.ts +0 -45
- package/dist/cache.d.ts.map +0 -1
- package/dist/cache.js.map +0 -1
- package/dist/chat.d.ts +0 -4
- package/dist/chat.d.ts.map +0 -1
- package/dist/chat.js.map +0 -1
- package/dist/code-analysis 2.js +0 -327
- package/dist/code-analysis.d.ts +0 -50
- package/dist/code-analysis.d.ts.map +0 -1
- package/dist/code-analysis.js.map +0 -1
- package/dist/context.d.ts +0 -44
- package/dist/context.d.ts 2.map +0 -1
- package/dist/context.d.ts.map +0 -1
- package/dist/context.js.map +0 -1
- package/dist/docs.d.ts +0 -21
- package/dist/docs.d.ts.map +0 -1
- package/dist/docs.js.map +0 -1
- package/dist/domain/entities/code-chunk.d.ts +0 -26
- package/dist/domain/entities/code-chunk.d.ts.map +0 -1
- package/dist/domain/entities/code-chunk.js.map +0 -1
- package/dist/domain/entities/conversation-context.d.ts +0 -245
- package/dist/domain/entities/conversation-context.d.ts.map +0 -1
- package/dist/domain/entities/conversation-context.js +0 -50
- package/dist/domain/entities/conversation-context.js.map +0 -1
- package/dist/domain/entities/decision.d.ts +0 -37
- package/dist/domain/entities/decision.d.ts.map +0 -1
- package/dist/domain/entities/decision.js.map +0 -1
- package/dist/domain/entities/edit.d.ts +0 -35
- package/dist/domain/entities/edit.d.ts.map +0 -1
- package/dist/domain/entities/edit.js.map +0 -1
- package/dist/domain/entities/knowledge-node.d.ts +0 -83
- package/dist/domain/entities/knowledge-node.d.ts.map +0 -1
- package/dist/domain/entities/knowledge-node.js.map +0 -1
- package/dist/domain/entities/knowledge-preservation.d.ts +0 -42
- package/dist/domain/entities/knowledge-preservation.d.ts.map +0 -1
- package/dist/domain/entities/knowledge-preservation.js.map +0 -1
- package/dist/domain/entities/memory.d.ts +0 -36
- package/dist/domain/entities/memory.d.ts.map +0 -1
- package/dist/domain/entities/memory.js.map +0 -1
- package/dist/domain/entities/pattern.d.ts +0 -49
- package/dist/domain/entities/pattern.d.ts.map +0 -1
- package/dist/domain/entities/pattern.js.map +0 -1
- package/dist/domain/entities/plan.d.ts +0 -42
- package/dist/domain/entities/plan.d.ts.map +0 -1
- package/dist/domain/entities/plan.js.map +0 -1
- package/dist/domain/entities/query.d.ts +0 -17
- package/dist/domain/entities/query.d.ts.map +0 -1
- package/dist/domain/entities/query.js.map +0 -1
- package/dist/domain/entities/task.d.ts +0 -152
- package/dist/domain/entities/task.d.ts.map +0 -1
- package/dist/domain/entities/task.js.map +0 -1
- package/dist/domain/errors/embeddings-not-found-error.d.ts +0 -9
- package/dist/domain/errors/embeddings-not-found-error.d.ts.map +0 -1
- package/dist/domain/errors/embeddings-not-found-error.js.map +0 -1
- package/dist/domain/index.d.ts +0 -16
- package/dist/domain/index.d.ts.map +0 -1
- package/dist/domain/index.js.map +0 -1
- package/dist/domain/interfaces/ai-service.interface.d.ts +0 -72
- package/dist/domain/interfaces/ai-service.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/ai-service.interface.js.map +0 -1
- package/dist/domain/interfaces/code-analyzer.interface.d.ts +0 -38
- package/dist/domain/interfaces/code-analyzer.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/code-analyzer.interface.js.map +0 -1
- package/dist/domain/interfaces/context-repository.interface.d.ts +0 -71
- package/dist/domain/interfaces/context-repository.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/context-repository.interface.js +0 -10
- package/dist/domain/interfaces/context-repository.interface.js.map +0 -1
- package/dist/domain/interfaces/decision-repository.interface.d.ts +0 -51
- package/dist/domain/interfaces/decision-repository.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/decision-repository.interface.js.map +0 -1
- package/dist/domain/interfaces/embedding-repository.interface.d.ts +0 -33
- package/dist/domain/interfaces/embedding-repository.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/embedding-repository.interface.js.map +0 -1
- package/dist/domain/interfaces/knowledge-graph-repository.interface.d.ts +0 -91
- package/dist/domain/interfaces/knowledge-graph-repository.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/knowledge-graph-repository.interface.js.map +0 -1
- package/dist/domain/interfaces/knowledge-preservation-repository.interface.d.ts +0 -50
- package/dist/domain/interfaces/knowledge-preservation-repository.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/knowledge-preservation-repository.interface.js.map +0 -1
- package/dist/domain/interfaces/memory-repository.interface.d.ts +0 -49
- package/dist/domain/interfaces/memory-repository.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/memory-repository.interface.js.map +0 -1
- package/dist/domain/interfaces/pattern-repository.interface.d.ts +0 -48
- package/dist/domain/interfaces/pattern-repository.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/pattern-repository.interface.js.map +0 -1
- package/dist/domain/interfaces/verification-service.interface.d.ts +0 -20
- package/dist/domain/interfaces/verification-service.interface.d.ts.map +0 -1
- package/dist/domain/interfaces/verification-service.interface.js.map +0 -1
- package/dist/domain/services/codebase-detector.d.ts +0 -18
- package/dist/domain/services/codebase-detector.d.ts.map +0 -1
- package/dist/domain/services/codebase-detector.js.map +0 -1
- package/dist/domain/services/cross-team-pattern-sharing.d.ts +0 -65
- package/dist/domain/services/cross-team-pattern-sharing.d.ts.map +0 -1
- package/dist/domain/services/cross-team-pattern-sharing.js.map +0 -1
- package/dist/domain/services/decision-recorder.d.ts +0 -76
- package/dist/domain/services/decision-recorder.d.ts.map +0 -1
- package/dist/domain/services/decision-recorder.js.map +0 -1
- package/dist/domain/services/decision-retriever.d.ts +0 -75
- package/dist/domain/services/decision-retriever.d.ts.map +0 -1
- package/dist/domain/services/decision-retriever.js.map +0 -1
- package/dist/domain/services/environment-mode-manager.d.ts +0 -12
- package/dist/domain/services/environment-mode-manager.d.ts.map +0 -1
- package/dist/domain/services/environment-mode-manager.js.map +0 -1
- package/dist/domain/services/graded-memory-activation.d.ts +0 -37
- package/dist/domain/services/graded-memory-activation.d.ts.map +0 -1
- package/dist/domain/services/graded-memory-activation.js.map +0 -1
- package/dist/domain/services/knowledge-access.d.ts +0 -63
- package/dist/domain/services/knowledge-access.d.ts.map +0 -1
- package/dist/domain/services/knowledge-access.js.map +0 -1
- package/dist/domain/services/knowledge-extractor.d.ts +0 -54
- package/dist/domain/services/knowledge-extractor.d.ts.map +0 -1
- package/dist/domain/services/knowledge-extractor.js.map +0 -1
- package/dist/domain/services/knowledge-graph-builder.d.ts +0 -70
- package/dist/domain/services/knowledge-graph-builder.d.ts.map +0 -1
- package/dist/domain/services/knowledge-graph-builder.js.map +0 -1
- package/dist/domain/services/knowledge-graph-query.d.ts +0 -69
- package/dist/domain/services/knowledge-graph-query.d.ts.map +0 -1
- package/dist/domain/services/knowledge-graph-query.js.map +0 -1
- package/dist/domain/services/memory-retriever.d.ts +0 -30
- package/dist/domain/services/memory-retriever.d.ts.map +0 -1
- package/dist/domain/services/memory-retriever.js.map +0 -1
- package/dist/domain/services/memory-synthesizer.d.ts +0 -57
- package/dist/domain/services/memory-synthesizer.d.ts.map +0 -1
- package/dist/domain/services/memory-synthesizer.js.map +0 -1
- package/dist/domain/services/pattern-extractor.d.ts +0 -108
- package/dist/domain/services/pattern-extractor.d.ts.map +0 -1
- package/dist/domain/services/pattern-extractor.js.map +0 -1
- package/dist/domain/services/query-intent-classifier.d.ts +0 -16
- package/dist/domain/services/query-intent-classifier.d.ts.map +0 -1
- package/dist/domain/services/query-intent-classifier.js.map +0 -1
- package/dist/domain/services/react-loop.d.ts +0 -52
- package/dist/domain/services/react-loop.d.ts.map +0 -1
- package/dist/domain/services/react-loop.js.map +0 -1
- package/dist/domain/services/risk-tier-detector.d.ts +0 -17
- package/dist/domain/services/risk-tier-detector.d.ts.map +0 -1
- package/dist/domain/services/risk-tier-detector.js.map +0 -1
- package/dist/edit.d.ts +0 -26
- package/dist/edit.d.ts 2.map +0 -1
- package/dist/edit.d.ts.map +0 -1
- package/dist/edit.js.map +0 -1
- package/dist/embed.d 2.ts +0 -14
- package/dist/embed.d.ts +0 -14
- package/dist/embed.d.ts.map +0 -1
- package/dist/embed.js.map +0 -1
- package/dist/error-handler.d 2.ts +0 -77
- package/dist/error-handler.d.ts +0 -77
- package/dist/error-handler.d.ts.map +0 -1
- package/dist/error-handler.js.map +0 -1
- package/dist/formatter 2.js +0 -168
- package/dist/formatter.d.ts +0 -25
- package/dist/formatter.d.ts 2.map +0 -1
- package/dist/formatter.d.ts.map +0 -1
- package/dist/formatter.js.map +0 -1
- package/dist/git 2.js +0 -198
- package/dist/git.d 2.ts +0 -55
- package/dist/git.d.ts +0 -55
- package/dist/git.d.ts.map +0 -1
- package/dist/git.js.map +0 -1
- package/dist/index 2.d.ts +0 -16
- package/dist/index 2.d.ts.map +0 -1
- package/dist/index 2.js +0 -429
- package/dist/index 2.js.map +0 -1
- package/dist/index-backup-before-lazy-loading.d.ts +0 -3
- package/dist/index-backup-before-lazy-loading.d.ts.map +0 -1
- package/dist/index-backup-before-lazy-loading.js +0 -1551
- package/dist/index-backup-before-lazy-loading.js.map +0 -1
- package/dist/index.d.ts +0 -16
- package/dist/index.d.ts 2.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js 2.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/infrastructure/ai/cohere-ai-service.d.ts +0 -71
- package/dist/infrastructure/ai/cohere-ai-service.d.ts.map +0 -1
- package/dist/infrastructure/ai/cohere-ai-service.js.map +0 -1
- package/dist/infrastructure/ai/command-r-evaluation.d.ts +0 -42
- package/dist/infrastructure/ai/command-r-evaluation.d.ts.map +0 -1
- package/dist/infrastructure/ai/command-r-evaluation.js.map +0 -1
- package/dist/infrastructure/ai/model-config.d.ts +0 -47
- package/dist/infrastructure/ai/model-config.d.ts.map +0 -1
- package/dist/infrastructure/ai/model-config.js.map +0 -1
- package/dist/infrastructure/ai/provider-ai-service.d.ts +0 -67
- package/dist/infrastructure/ai/provider-ai-service.d.ts.map +0 -1
- package/dist/infrastructure/ai/provider-ai-service.js.map +0 -1
- package/dist/infrastructure/cache/embedding-cache.d.ts +0 -58
- package/dist/infrastructure/cache/embedding-cache.d.ts.map +0 -1
- package/dist/infrastructure/cache/embedding-cache.js.map +0 -1
- package/dist/infrastructure/cache/query-result-cache.d.ts +0 -27
- package/dist/infrastructure/cache/query-result-cache.d.ts.map +0 -1
- package/dist/infrastructure/cache/query-result-cache.js.map +0 -1
- package/dist/infrastructure/cache/response-cache.d.ts +0 -18
- package/dist/infrastructure/cache/response-cache.d.ts.map +0 -1
- package/dist/infrastructure/cache/response-cache.js.map +0 -1
- package/dist/infrastructure/cache/security-scan-cache.d.ts +0 -16
- package/dist/infrastructure/cache/security-scan-cache.d.ts.map +0 -1
- package/dist/infrastructure/cache/security-scan-cache.js.map +0 -1
- package/dist/infrastructure/chunking/ast-code-chunker.d.ts +0 -12
- package/dist/infrastructure/chunking/ast-code-chunker.d.ts.map +0 -1
- package/dist/infrastructure/chunking/ast-code-chunker.js.map +0 -1
- package/dist/infrastructure/chunking/code-aware-chunker.d.ts +0 -63
- package/dist/infrastructure/chunking/code-aware-chunker.d.ts.map +0 -1
- package/dist/infrastructure/chunking/code-aware-chunker.js.map +0 -1
- package/dist/infrastructure/completion/bash-completion.d.ts +0 -7
- package/dist/infrastructure/completion/bash-completion.d.ts.map +0 -1
- package/dist/infrastructure/completion/bash-completion.js.map +0 -1
- package/dist/infrastructure/completion/fish-completion.d.ts +0 -7
- package/dist/infrastructure/completion/fish-completion.d.ts.map +0 -1
- package/dist/infrastructure/completion/fish-completion.js.map +0 -1
- package/dist/infrastructure/completion/zsh-completion.d.ts +0 -7
- package/dist/infrastructure/completion/zsh-completion.d.ts.map +0 -1
- package/dist/infrastructure/completion/zsh-completion.js.map +0 -1
- package/dist/infrastructure/config/config-manager.d.ts +0 -158
- package/dist/infrastructure/config/config-manager.d.ts.map +0 -1
- package/dist/infrastructure/config/config-manager.js.map +0 -1
- package/dist/infrastructure/context/context-compressor.d.ts +0 -94
- package/dist/infrastructure/context/context-compressor.d.ts.map +0 -1
- package/dist/infrastructure/context/context-compressor.js.map +0 -1
- package/dist/infrastructure/context/conversation-context.d.ts +0 -82
- package/dist/infrastructure/context/conversation-context.d.ts.map +0 -1
- package/dist/infrastructure/context/conversation-context.js.map +0 -1
- package/dist/infrastructure/context/direct-context-provider.d.ts +0 -18
- package/dist/infrastructure/context/direct-context-provider.d.ts.map +0 -1
- package/dist/infrastructure/context/direct-context-provider.js +0 -222
- package/dist/infrastructure/context/direct-context-provider.js.map +0 -1
- package/dist/infrastructure/context/git-context-provider.d.ts +0 -30
- package/dist/infrastructure/context/git-context-provider.d.ts.map +0 -1
- package/dist/infrastructure/context/git-context-provider.js +0 -140
- package/dist/infrastructure/context/git-context-provider.js.map +0 -1
- package/dist/infrastructure/context/project-context-loader.d.ts +0 -35
- package/dist/infrastructure/context/project-context-loader.d.ts.map +0 -1
- package/dist/infrastructure/context/project-context-loader.js +0 -184
- package/dist/infrastructure/context/project-context-loader.js.map +0 -1
- package/dist/infrastructure/context/session-manager.d.ts +0 -42
- package/dist/infrastructure/context/session-manager.d.ts.map +0 -1
- package/dist/infrastructure/context/session-manager.js.map +0 -1
- package/dist/infrastructure/cost/cost-tracker.d.ts +0 -91
- package/dist/infrastructure/cost/cost-tracker.d.ts.map +0 -1
- package/dist/infrastructure/cost/cost-tracker.js.map +0 -1
- package/dist/infrastructure/cost/session-token-tracker.d.ts +0 -68
- package/dist/infrastructure/cost/session-token-tracker.d.ts.map +0 -1
- package/dist/infrastructure/cost/session-token-tracker.js +0 -178
- package/dist/infrastructure/cost/session-token-tracker.js.map +0 -1
- package/dist/infrastructure/cost-calculator.d.ts +0 -34
- package/dist/infrastructure/cost-calculator.d.ts.map +0 -1
- package/dist/infrastructure/cost-calculator.js +0 -145
- package/dist/infrastructure/cost-calculator.js.map +0 -1
- package/dist/infrastructure/cost-estimator.d.ts +0 -48
- package/dist/infrastructure/cost-estimator.d.ts.map +0 -1
- package/dist/infrastructure/cost-estimator.js +0 -201
- package/dist/infrastructure/cost-estimator.js.map +0 -1
- package/dist/infrastructure/file-scanner/file-scanner.d.ts +0 -31
- package/dist/infrastructure/file-scanner/file-scanner.d.ts.map +0 -1
- package/dist/infrastructure/file-scanner/file-scanner.js.map +0 -1
- package/dist/infrastructure/governance/nist-ai-rmf.d.ts +0 -105
- package/dist/infrastructure/governance/nist-ai-rmf.d.ts.map +0 -1
- package/dist/infrastructure/governance/nist-ai-rmf.js.map +0 -1
- package/dist/infrastructure/governance/policy-as-code.d.ts +0 -88
- package/dist/infrastructure/governance/policy-as-code.d.ts.map +0 -1
- package/dist/infrastructure/governance/policy-as-code.js.map +0 -1
- package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts +0 -136
- package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts.map +0 -1
- package/dist/infrastructure/governance/prompt-to-code-lineage.js.map +0 -1
- package/dist/infrastructure/index.d.ts +0 -7
- package/dist/infrastructure/index.d.ts.map +0 -1
- package/dist/infrastructure/index.js.map +0 -1
- package/dist/infrastructure/observability/execution-tracer.d.ts +0 -130
- package/dist/infrastructure/observability/execution-tracer.d.ts.map +0 -1
- package/dist/infrastructure/observability/execution-tracer.js.map +0 -1
- package/dist/infrastructure/observability/prompt-versioner.d.ts +0 -67
- package/dist/infrastructure/observability/prompt-versioner.d.ts.map +0 -1
- package/dist/infrastructure/observability/prompt-versioner.js.map +0 -1
- package/dist/infrastructure/protocols/a2a-metadata.d.ts +0 -278
- package/dist/infrastructure/protocols/a2a-metadata.d.ts.map +0 -1
- package/dist/infrastructure/protocols/a2a-metadata.js.map +0 -1
- package/dist/infrastructure/protocols/a2a-protocol.d.ts +0 -132
- package/dist/infrastructure/protocols/a2a-protocol.d.ts.map +0 -1
- package/dist/infrastructure/protocols/a2a-protocol.js.map +0 -1
- package/dist/infrastructure/protocols/mcp-oauth.d.ts +0 -91
- package/dist/infrastructure/protocols/mcp-oauth.d.ts.map +0 -1
- package/dist/infrastructure/protocols/mcp-oauth.js.map +0 -1
- package/dist/infrastructure/protocols/mcp-server.d.ts +0 -126
- package/dist/infrastructure/protocols/mcp-server.d.ts.map +0 -1
- package/dist/infrastructure/protocols/mcp-server.js.map +0 -1
- package/dist/infrastructure/protocols/streaming-handler.d.ts +0 -57
- package/dist/infrastructure/protocols/streaming-handler.d.ts.map +0 -1
- package/dist/infrastructure/protocols/streaming-handler.js.map +0 -1
- package/dist/infrastructure/providers/cohere-provider.d.ts +0 -39
- package/dist/infrastructure/providers/cohere-provider.d.ts.map +0 -1
- package/dist/infrastructure/providers/cohere-provider.js.map +0 -1
- package/dist/infrastructure/providers/fake-provider.d.ts +0 -43
- package/dist/infrastructure/providers/fake-provider.d.ts.map +0 -1
- package/dist/infrastructure/providers/fake-provider.js.map +0 -1
- package/dist/infrastructure/providers/local-llm-provider.d.ts +0 -49
- package/dist/infrastructure/providers/local-llm-provider.d.ts.map +0 -1
- package/dist/infrastructure/providers/local-llm-provider.js.map +0 -1
- package/dist/infrastructure/providers/model-config.types.d.ts +0 -70
- package/dist/infrastructure/providers/model-config.types.d.ts.map +0 -1
- package/dist/infrastructure/providers/model-config.types.js.map +0 -1
- package/dist/infrastructure/providers/model-provider.interface.d.ts +0 -113
- package/dist/infrastructure/providers/model-provider.interface.d.ts.map +0 -1
- package/dist/infrastructure/providers/model-provider.interface.js.map +0 -1
- package/dist/infrastructure/providers/openai-provider.d.ts +0 -38
- package/dist/infrastructure/providers/openai-provider.d.ts.map +0 -1
- package/dist/infrastructure/providers/openai-provider.js.map +0 -1
- package/dist/infrastructure/providers/openrouter-provider.d.ts +0 -42
- package/dist/infrastructure/providers/openrouter-provider.d.ts.map +0 -1
- package/dist/infrastructure/providers/openrouter-provider.js.map +0 -1
- package/dist/infrastructure/providers/operation-provider-resolver.d.ts +0 -48
- package/dist/infrastructure/providers/operation-provider-resolver.d.ts.map +0 -1
- package/dist/infrastructure/providers/operation-provider-resolver.js.map +0 -1
- package/dist/infrastructure/providers/provider-config-loader.d.ts +0 -37
- package/dist/infrastructure/providers/provider-config-loader.d.ts.map +0 -1
- package/dist/infrastructure/providers/provider-config-loader.js.map +0 -1
- package/dist/infrastructure/providers/provider-registry.d.ts +0 -53
- package/dist/infrastructure/providers/provider-registry.d.ts.map +0 -1
- package/dist/infrastructure/providers/provider-registry.js.map +0 -1
- package/dist/infrastructure/security/ai-sast-scanner.d.ts +0 -59
- package/dist/infrastructure/security/ai-sast-scanner.d.ts.map +0 -1
- package/dist/infrastructure/security/ai-sast-scanner.js.map +0 -1
- package/dist/infrastructure/security/docker-sandbox.d.ts +0 -57
- package/dist/infrastructure/security/docker-sandbox.d.ts.map +0 -1
- package/dist/infrastructure/security/docker-sandbox.js.map +0 -1
- package/dist/infrastructure/security/enhanced-security-gate.d.ts +0 -66
- package/dist/infrastructure/security/enhanced-security-gate.d.ts.map +0 -1
- package/dist/infrastructure/security/enhanced-security-gate.js.map +0 -1
- package/dist/infrastructure/security/input-validator.d.ts +0 -46
- package/dist/infrastructure/security/input-validator.d.ts.map +0 -1
- package/dist/infrastructure/security/input-validator.js.map +0 -1
- package/dist/infrastructure/security/license-scanner.d.ts +0 -55
- package/dist/infrastructure/security/license-scanner.d.ts.map +0 -1
- package/dist/infrastructure/security/license-scanner.js.map +0 -1
- package/dist/infrastructure/security/provider-bias-detector.d.ts +0 -53
- package/dist/infrastructure/security/provider-bias-detector.d.ts.map +0 -1
- package/dist/infrastructure/security/provider-bias-detector.js.map +0 -1
- package/dist/infrastructure/security/sandbox-executor.d.ts +0 -34
- package/dist/infrastructure/security/sandbox-executor.d.ts.map +0 -1
- package/dist/infrastructure/security/sandbox-executor.js.map +0 -1
- package/dist/infrastructure/serialization/toon-serializer.d.ts +0 -45
- package/dist/infrastructure/serialization/toon-serializer.d.ts.map +0 -1
- package/dist/infrastructure/serialization/toon-serializer.js.map +0 -1
- package/dist/infrastructure/storage/embeddings-path.d.ts +0 -18
- package/dist/infrastructure/storage/embeddings-path.d.ts.map +0 -1
- package/dist/infrastructure/storage/embeddings-path.js.map +0 -1
- package/dist/infrastructure/storage/memory-stream-service.d.ts +0 -47
- package/dist/infrastructure/storage/memory-stream-service.d.ts.map +0 -1
- package/dist/infrastructure/storage/memory-stream-service.js.map +0 -1
- package/dist/infrastructure/storage/plan-repository.d.ts +0 -40
- package/dist/infrastructure/storage/plan-repository.d.ts.map +0 -1
- package/dist/infrastructure/storage/plan-repository.js.map +0 -1
- package/dist/infrastructure/storage/sqlite-context-repository.d.ts +0 -95
- package/dist/infrastructure/storage/sqlite-context-repository.d.ts.map +0 -1
- package/dist/infrastructure/storage/sqlite-context-repository.js +0 -467
- package/dist/infrastructure/storage/sqlite-context-repository.js.map +0 -1
- package/dist/infrastructure/storage/sqlite-decision-repository.d.ts +0 -29
- package/dist/infrastructure/storage/sqlite-decision-repository.d.ts.map +0 -1
- package/dist/infrastructure/storage/sqlite-decision-repository.js.map +0 -1
- package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +0 -47
- package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +0 -1
- package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +0 -1
- package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts +0 -41
- package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts.map +0 -1
- package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js.map +0 -1
- package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts +0 -29
- package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts.map +0 -1
- package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js.map +0 -1
- package/dist/infrastructure/storage/sqlite-memory-repository.d.ts +0 -40
- package/dist/infrastructure/storage/sqlite-memory-repository.d.ts.map +0 -1
- package/dist/infrastructure/storage/sqlite-memory-repository.js.map +0 -1
- package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts +0 -25
- package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts.map +0 -1
- package/dist/infrastructure/storage/sqlite-pattern-repository.js.map +0 -1
- package/dist/infrastructure/storage/task-helpers.d.ts +0 -69
- package/dist/infrastructure/storage/task-helpers.d.ts.map +0 -1
- package/dist/infrastructure/storage/task-helpers.js.map +0 -1
- package/dist/infrastructure/storage/task-repository.d.ts +0 -67
- package/dist/infrastructure/storage/task-repository.d.ts.map +0 -1
- package/dist/infrastructure/storage/task-repository.js.map +0 -1
- package/dist/infrastructure/telemetry/telemetry-service.d.ts +0 -74
- package/dist/infrastructure/telemetry/telemetry-service.d.ts.map +0 -1
- package/dist/infrastructure/telemetry/telemetry-service.js.map +0 -1
- package/dist/infrastructure/ux/appropriate-friction.d.ts +0 -77
- package/dist/infrastructure/ux/appropriate-friction.d.ts.map +0 -1
- package/dist/infrastructure/ux/appropriate-friction.js.map +0 -1
- package/dist/infrastructure/ux/bi-directional-learning.d.ts +0 -131
- package/dist/infrastructure/ux/bi-directional-learning.d.ts.map +0 -1
- package/dist/infrastructure/ux/bi-directional-learning.js.map +0 -1
- package/dist/infrastructure/ux/capability-boundaries.d.ts +0 -22
- package/dist/infrastructure/ux/capability-boundaries.d.ts.map +0 -1
- package/dist/infrastructure/ux/capability-boundaries.js.map +0 -1
- package/dist/infrastructure/ux/cli-style-guide.d.ts +0 -105
- package/dist/infrastructure/ux/cli-style-guide.d.ts.map +0 -1
- package/dist/infrastructure/ux/cli-style-guide.js +0 -220
- package/dist/infrastructure/ux/cli-style-guide.js.map +0 -1
- package/dist/infrastructure/ux/comprehensive-formatter.d.ts +0 -21
- package/dist/infrastructure/ux/comprehensive-formatter.d.ts.map +0 -1
- package/dist/infrastructure/ux/comprehensive-formatter.js.map +0 -1
- package/dist/infrastructure/ux/contextual-feature-discovery.d.ts +0 -11
- package/dist/infrastructure/ux/contextual-feature-discovery.d.ts.map +0 -1
- package/dist/infrastructure/ux/contextual-feature-discovery.js.map +0 -1
- package/dist/infrastructure/ux/expectation-management.d.ts +0 -98
- package/dist/infrastructure/ux/expectation-management.d.ts.map +0 -1
- package/dist/infrastructure/ux/expectation-management.js.map +0 -1
- package/dist/infrastructure/ux/feature-discovery.d.ts +0 -17
- package/dist/infrastructure/ux/feature-discovery.d.ts.map +0 -1
- package/dist/infrastructure/ux/feature-discovery.js.map +0 -1
- package/dist/infrastructure/ux/feedback-prompt.d.ts +0 -26
- package/dist/infrastructure/ux/feedback-prompt.d.ts.map +0 -1
- package/dist/infrastructure/ux/feedback-prompt.js.map +0 -1
- package/dist/infrastructure/ux/hitl-validation.d.ts +0 -139
- package/dist/infrastructure/ux/hitl-validation.d.ts.map +0 -1
- package/dist/infrastructure/ux/hitl-validation.js.map +0 -1
- package/dist/infrastructure/ux/progress-indicator.d.ts +0 -53
- package/dist/infrastructure/ux/progress-indicator.d.ts.map +0 -1
- package/dist/infrastructure/ux/progress-indicator.js.map +0 -1
- package/dist/infrastructure/ux/progressive-disclosure.d.ts +0 -84
- package/dist/infrastructure/ux/progressive-disclosure.d.ts.map +0 -1
- package/dist/infrastructure/ux/progressive-disclosure.js.map +0 -1
- package/dist/infrastructure/ux/review-checkpoint.d.ts +0 -37
- package/dist/infrastructure/ux/review-checkpoint.d.ts.map +0 -1
- package/dist/infrastructure/ux/review-checkpoint.js.map +0 -1
- package/dist/infrastructure/ux/staged-feature-intro.d.ts +0 -22
- package/dist/infrastructure/ux/staged-feature-intro.d.ts.map +0 -1
- package/dist/infrastructure/ux/staged-feature-intro.js.map +0 -1
- package/dist/infrastructure/ux/syntax-highlighter.d.ts +0 -20
- package/dist/infrastructure/ux/syntax-highlighter.d.ts.map +0 -1
- package/dist/infrastructure/ux/syntax-highlighter.js.map +0 -1
- package/dist/infrastructure/ux/team-standards.d.ts +0 -94
- package/dist/infrastructure/ux/team-standards.d.ts.map +0 -1
- package/dist/infrastructure/ux/team-standards.js.map +0 -1
- package/dist/infrastructure/validation/agent-feedback.d.ts +0 -57
- package/dist/infrastructure/validation/agent-feedback.d.ts.map +0 -1
- package/dist/infrastructure/validation/agent-feedback.js.map +0 -1
- package/dist/infrastructure/validation/agent-validation-helper.d.ts +0 -75
- package/dist/infrastructure/validation/agent-validation-helper.d.ts.map +0 -1
- package/dist/infrastructure/validation/agent-validation-helper.js.map +0 -1
- package/dist/infrastructure/validation/hallucination-detector.d.ts +0 -121
- package/dist/infrastructure/validation/hallucination-detector.d.ts.map +0 -1
- package/dist/infrastructure/validation/hallucination-detector.js +0 -388
- package/dist/infrastructure/validation/hallucination-detector.js.map +0 -1
- package/dist/infrastructure/validation/review-handler.d.ts +0 -26
- package/dist/infrastructure/validation/review-handler.d.ts.map +0 -1
- package/dist/infrastructure/validation/review-handler.js.map +0 -1
- package/dist/infrastructure/validation/summary-aggregator.d.ts +0 -45
- package/dist/infrastructure/validation/summary-aggregator.d.ts.map +0 -1
- package/dist/infrastructure/validation/summary-aggregator.js.map +0 -1
- package/dist/infrastructure/validation/summary-extractor.d.ts +0 -24
- package/dist/infrastructure/validation/summary-extractor.d.ts.map +0 -1
- package/dist/infrastructure/validation/summary-extractor.js.map +0 -1
- package/dist/infrastructure/validation/trace-summary.d.ts +0 -45
- package/dist/infrastructure/validation/trace-summary.d.ts.map +0 -1
- package/dist/infrastructure/validation/trace-summary.js.map +0 -1
- package/dist/infrastructure/verification/verification-service.d.ts +0 -12
- package/dist/infrastructure/verification/verification-service.d.ts.map +0 -1
- package/dist/infrastructure/verification/verification-service.js.map +0 -1
- package/dist/infrastructure/xai/attention-visualizer.d.ts +0 -71
- package/dist/infrastructure/xai/attention-visualizer.d.ts.map +0 -1
- package/dist/infrastructure/xai/attention-visualizer.js.map +0 -1
- package/dist/infrastructure/xai/cot-visualizer.d.ts +0 -103
- package/dist/infrastructure/xai/cot-visualizer.d.ts.map +0 -1
- package/dist/infrastructure/xai/cot-visualizer.js.map +0 -1
- package/dist/infrastructure/xai/decision-tree-log.d.ts +0 -100
- package/dist/infrastructure/xai/decision-tree-log.d.ts.map +0 -1
- package/dist/infrastructure/xai/decision-tree-log.js.map +0 -1
- package/dist/infrastructure/xai/interactive-xai.d.ts +0 -104
- package/dist/infrastructure/xai/interactive-xai.d.ts.map +0 -1
- package/dist/infrastructure/xai/interactive-xai.js.map +0 -1
- package/dist/infrastructure/xai/uncertainty-quantifier.d.ts +0 -77
- package/dist/infrastructure/xai/uncertainty-quantifier.d.ts.map +0 -1
- package/dist/infrastructure/xai/uncertainty-quantifier.js.map +0 -1
- package/dist/intelligent-retrieval 2.js +0 -272
- package/dist/intelligent-retrieval.d.ts +0 -41
- package/dist/intelligent-retrieval.d.ts 2.map +0 -1
- package/dist/intelligent-retrieval.d.ts.map +0 -1
- package/dist/intelligent-retrieval.js.map +0 -1
- package/dist/intent/classifier.d.ts +0 -6
- package/dist/intent/classifier.d.ts.map +0 -1
- package/dist/intent/classifier.js.map +0 -1
- package/dist/intent/context.d.ts +0 -4
- package/dist/intent/context.d.ts.map +0 -1
- package/dist/intent/context.js.map +0 -1
- package/dist/iterative-refinement.d.ts +0 -31
- package/dist/iterative-refinement.d.ts.map +0 -1
- package/dist/iterative-refinement.js.map +0 -1
- package/dist/learning.d.ts +0 -69
- package/dist/learning.d.ts.map +0 -1
- package/dist/learning.js.map +0 -1
- package/dist/log.d.ts +0 -4
- package/dist/log.d.ts.map +0 -1
- package/dist/log.js 2.map +0 -1
- package/dist/log.js.map +0 -1
- package/dist/migrate.d.ts +0 -33
- package/dist/migrate.d.ts.map +0 -1
- package/dist/migrate.js 2.map +0 -1
- package/dist/migrate.js.map +0 -1
- package/dist/monitoring.d.ts +0 -75
- package/dist/monitoring.d.ts.map +0 -1
- package/dist/monitoring.js.map +0 -1
- package/dist/parallel-processor.d 2.ts +0 -44
- package/dist/parallel-processor.d.ts +0 -44
- package/dist/parallel-processor.d.ts.map +0 -1
- package/dist/parallel-processor.js.map +0 -1
- package/dist/planner.d.ts +0 -47
- package/dist/planner.d.ts.map +0 -1
- package/dist/planner.js.map +0 -1
- package/dist/policy.d 2.ts +0 -3
- package/dist/policy.d.ts +0 -3
- package/dist/policy.d.ts.map +0 -1
- package/dist/policy.js.map +0 -1
- package/dist/presentation/cli/commands/ask-command.d.ts +0 -9
- package/dist/presentation/cli/commands/ask-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/ask-command.js.map +0 -1
- package/dist/presentation/cli/commands/audit-command.d.ts +0 -13
- package/dist/presentation/cli/commands/audit-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/audit-command.js +0 -96
- package/dist/presentation/cli/commands/audit-command.js.map +0 -1
- package/dist/presentation/cli/commands/config-command.d.ts +0 -9
- package/dist/presentation/cli/commands/config-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/config-command.js.map +0 -1
- package/dist/presentation/cli/commands/context-command.d.ts +0 -32
- package/dist/presentation/cli/commands/context-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/context-command.js +0 -295
- package/dist/presentation/cli/commands/context-command.js.map +0 -1
- package/dist/presentation/cli/commands/context-helper.d.ts +0 -16
- package/dist/presentation/cli/commands/context-helper.d.ts.map +0 -1
- package/dist/presentation/cli/commands/context-helper.js +0 -88
- package/dist/presentation/cli/commands/context-helper.js.map +0 -1
- package/dist/presentation/cli/commands/cost-command.d.ts +0 -8
- package/dist/presentation/cli/commands/cost-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/cost-command.js.map +0 -1
- package/dist/presentation/cli/commands/decision-command.d.ts +0 -12
- package/dist/presentation/cli/commands/decision-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/decision-command.js.map +0 -1
- package/dist/presentation/cli/commands/docs-command.d.ts +0 -14
- package/dist/presentation/cli/commands/docs-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/docs-command.js.map +0 -1
- package/dist/presentation/cli/commands/fix-command.d.ts +0 -15
- package/dist/presentation/cli/commands/fix-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/fix-command.js.map +0 -1
- package/dist/presentation/cli/commands/help-command.d.ts +0 -9
- package/dist/presentation/cli/commands/help-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/help-command.js.map +0 -1
- package/dist/presentation/cli/commands/knowledge-command.d.ts +0 -13
- package/dist/presentation/cli/commands/knowledge-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/knowledge-command.js.map +0 -1
- package/dist/presentation/cli/commands/learning-dashboard-command.d.ts +0 -8
- package/dist/presentation/cli/commands/learning-dashboard-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/learning-dashboard-command.js.map +0 -1
- package/dist/presentation/cli/commands/models-command.d.ts +0 -13
- package/dist/presentation/cli/commands/models-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/models-command.js.map +0 -1
- package/dist/presentation/cli/commands/orchestrate-command.d.ts +0 -10
- package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/orchestrate-command.js.map +0 -1
- package/dist/presentation/cli/commands/plan-command.d.ts +0 -9
- package/dist/presentation/cli/commands/plan-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/plan-command.js.map +0 -1
- package/dist/presentation/cli/commands/product-command.d.ts +0 -14
- package/dist/presentation/cli/commands/product-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/product-command.js.map +0 -1
- package/dist/presentation/cli/commands/react-command.d.ts +0 -8
- package/dist/presentation/cli/commands/react-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/react-command.js.map +0 -1
- package/dist/presentation/cli/commands/review-command.d.ts +0 -14
- package/dist/presentation/cli/commands/review-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/review-command.js.map +0 -1
- package/dist/presentation/cli/commands/run-command.d.ts +0 -13
- package/dist/presentation/cli/commands/run-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/run-command.js.map +0 -1
- package/dist/presentation/cli/commands/setup-command.d.ts +0 -10
- package/dist/presentation/cli/commands/setup-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/setup-command.js.map +0 -1
- package/dist/presentation/cli/commands/smart-command.d.ts +0 -11
- package/dist/presentation/cli/commands/smart-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/smart-command.js.map +0 -1
- package/dist/presentation/cli/commands/status-command.d.ts +0 -14
- package/dist/presentation/cli/commands/status-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/status-command.js.map +0 -1
- package/dist/presentation/cli/commands/suggest-command.d.ts +0 -11
- package/dist/presentation/cli/commands/suggest-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/suggest-command.js.map +0 -1
- package/dist/presentation/cli/commands/trace-command.d.ts +0 -8
- package/dist/presentation/cli/commands/trace-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/trace-command.js.map +0 -1
- package/dist/presentation/cli/commands/trust-command.d.ts +0 -28
- package/dist/presentation/cli/commands/trust-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/trust-command.js.map +0 -1
- package/dist/presentation/cli/commands/undo-command.d.ts +0 -8
- package/dist/presentation/cli/commands/undo-command.d.ts.map +0 -1
- package/dist/presentation/cli/commands/undo-command.js.map +0 -1
- package/dist/presentation/cli/error-display.d.ts +0 -25
- package/dist/presentation/cli/error-display.d.ts.map +0 -1
- package/dist/presentation/cli/error-display.js.map +0 -1
- package/dist/query-optimizer.d.ts +0 -32
- package/dist/query-optimizer.d.ts.map +0 -1
- package/dist/query-optimizer.js.map +0 -1
- package/dist/refactor.d.ts +0 -27
- package/dist/refactor.d.ts.map +0 -1
- package/dist/refactor.js.map +0 -1
- package/dist/review 2.js +0 -206
- package/dist/review.d.ts +0 -31
- package/dist/review.d.ts.map +0 -1
- package/dist/review.js.map +0 -1
- package/dist/search.d.ts +0 -19
- package/dist/search.d.ts.map +0 -1
- package/dist/search.js 2.map +0 -1
- package/dist/search.js.map +0 -1
- package/dist/session 2.js +0 -593
- package/dist/session.d.ts +0 -17
- package/dist/session.d.ts 2.map +0 -1
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js.map +0 -1
- package/dist/task-verification 2.js +0 -336
- package/dist/task-verification.d.ts +0 -39
- package/dist/task-verification.d.ts 2.map +0 -1
- package/dist/task-verification.d.ts.map +0 -1
- package/dist/task-verification.js.map +0 -1
- package/dist/test-minimal.d.ts +0 -2
- package/dist/test-minimal.d.ts.map +0 -1
- package/dist/test-minimal.js +0 -2
- package/dist/test-minimal.js.map +0 -1
- package/dist/testgen.d.ts +0 -24
- package/dist/testgen.d.ts.map +0 -1
- package/dist/testgen.js 2.map +0 -1
- package/dist/testgen.js.map +0 -1
- package/dist/token-optimizer.d 2.ts +0 -20
- package/dist/token-optimizer.d.ts +0 -20
- package/dist/token-optimizer.d.ts.map +0 -1
- package/dist/token-optimizer.js.map +0 -1
- package/dist/tools/bash.d.ts +0 -53
- package/dist/tools/bash.d.ts.map +0 -1
- package/dist/tools/bash.js.map +0 -1
- package/dist/tools/edit.d.ts +0 -48
- package/dist/tools/edit.d.ts.map +0 -1
- package/dist/tools/edit.js.map +0 -1
- package/dist/tools/executor.d.ts +0 -29
- package/dist/tools/executor.d.ts.map +0 -1
- package/dist/tools/executor.js.map +0 -1
- package/dist/tools/git-tool.d.ts +0 -87
- package/dist/tools/git-tool.d.ts.map +0 -1
- package/dist/tools/git-tool.js.map +0 -1
- package/dist/tools/parser.d.ts +0 -33
- package/dist/tools/parser.d.ts.map +0 -1
- package/dist/tools/parser.js.map +0 -1
- package/dist/tools/registry.d.ts +0 -74
- package/dist/tools/registry.d.ts.map +0 -1
- package/dist/tools/registry.js.map +0 -1
- package/dist/tools/search.d.ts +0 -41
- package/dist/tools/search.d.ts.map +0 -1
- package/dist/tools/search.js.map +0 -1
- package/dist/types.d.ts +0 -36
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/ui.d.ts +0 -60
- package/dist/ui.d.ts 2.map +0 -1
- package/dist/ui.d.ts.map +0 -1
- package/dist/ui.js.map +0 -1
- package/dist/utils/check-api-status.d.ts +0 -12
- package/dist/utils/check-api-status.d.ts.map +0 -1
- package/dist/utils/check-api-status.js.map +0 -1
- package/dist/utils/debug.d.ts +0 -7
- package/dist/utils/debug.d.ts.map +0 -1
- package/dist/utils/debug.js +0 -24
- package/dist/utils/debug.js.map +0 -1
- package/dist/utils/diff-parser.d.ts +0 -22
- package/dist/utils/diff-parser.d.ts.map +0 -1
- package/dist/utils/diff-parser.js.map +0 -1
- package/dist/utils/provider-check.d.ts +0 -21
- package/dist/utils/provider-check.d.ts.map +0 -1
- package/dist/utils/provider-check.js +0 -124
- package/dist/utils/provider-check.js.map +0 -1
- package/dist/utils/version.d.ts +0 -21
- package/dist/utils/version.d.ts.map +0 -1
- package/dist/utils/version.js.map +0 -1
- package/dist/verification/backup.d.ts +0 -30
- package/dist/verification/backup.d.ts.map +0 -1
- package/dist/verification/backup.js.map +0 -1
- package/dist/verification/compiler.d.ts +0 -20
- package/dist/verification/compiler.d.ts.map +0 -1
- package/dist/verification/compiler.js.map +0 -1
- package/dist/verification/index.d.ts +0 -59
- package/dist/verification/index.d.ts.map +0 -1
- package/dist/verification/index.js.map +0 -1
- package/dist/verification/test-runner.d.ts +0 -27
- package/dist/verification/test-runner.d.ts.map +0 -1
- package/dist/verification/test-runner.js.map +0 -1
- package/dist/verify_db.d.ts +0 -2
- package/dist/verify_db.d.ts.map +0 -1
- package/dist/verify_db.js +0 -52
- package/dist/verify_db.js 2.map +0 -1
- package/dist/verify_db.js.map +0 -1
|
@@ -6,102 +6,17 @@ import { readFileSync, writeFileSync, existsSync, statSync, readdirSync, mkdirSy
|
|
|
6
6
|
import { join } from 'path';
|
|
7
7
|
import { config } from 'dotenv';
|
|
8
8
|
import { encoding_for_model } from 'tiktoken';
|
|
9
|
-
import { getConfigManager } from './infrastructure/config/config-manager.js';
|
|
10
|
-
import { ProviderRegistry } from './infrastructure/providers/provider-registry.js';
|
|
11
|
-
import { OperationProviderResolver } from './infrastructure/providers/operation-provider-resolver.js';
|
|
12
9
|
// Load .env
|
|
13
10
|
config();
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
// Ensure providers are registered (same logic as dependency-container.ts)
|
|
18
|
-
if (!registry.get('cohere') && !registry.get('openai') && !registry.get('fake')) {
|
|
19
|
-
// Register FakeProvider if in FAKE_AI mode
|
|
20
|
-
if (process.env.CODEHERE_FAKE_AI === '1') {
|
|
21
|
-
const { FakeProvider } = await import('./infrastructure/providers/fake-provider.js');
|
|
22
|
-
registry.register(new FakeProvider());
|
|
23
|
-
registry.setDefault('fake');
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
// Register real providers based on available API keys
|
|
27
|
-
if (process.env.COHERE_API_KEY) {
|
|
28
|
-
const { CohereProvider } = await import('./infrastructure/providers/cohere-provider.js');
|
|
29
|
-
registry.register(new CohereProvider());
|
|
30
|
-
}
|
|
31
|
-
if (process.env.CODEHERE_OPENAI_API_KEY || process.env.OPENAI_API_KEY) {
|
|
32
|
-
const { OpenAIProvider } = await import('./infrastructure/providers/openai-provider.js');
|
|
33
|
-
registry.register(new OpenAIProvider());
|
|
34
|
-
}
|
|
35
|
-
if (process.env.OPENROUTER_API_KEY) {
|
|
36
|
-
const { OpenRouterProvider } = await import('./infrastructure/providers/openrouter-provider.js');
|
|
37
|
-
registry.register(new OpenRouterProvider());
|
|
38
|
-
}
|
|
39
|
-
// Set default based on CODEHERE_AI_PROVIDER
|
|
40
|
-
const requestedProvider = process.env.CODEHERE_AI_PROVIDER?.toLowerCase();
|
|
41
|
-
if (requestedProvider && registry.get(requestedProvider)) {
|
|
42
|
-
registry.setDefault(requestedProvider);
|
|
43
|
-
}
|
|
44
|
-
else if (registry.get('openai')) {
|
|
45
|
-
registry.setDefault('openai');
|
|
46
|
-
}
|
|
47
|
-
else if (registry.get('cohere')) {
|
|
48
|
-
registry.setDefault('cohere');
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
const resolver = new OperationProviderResolver(registry);
|
|
53
|
-
// Special handling for OpenRouter: fallback to OpenAI or Cohere for embeddings
|
|
54
|
-
// OpenRouter doesn't support embeddings natively
|
|
55
|
-
const currentDefault = registry.getDefault();
|
|
56
|
-
if (currentDefault?.id === 'openrouter') {
|
|
57
|
-
console.log('[EmbeddingFallback] OpenRouter selected but doesn\'t support embeddings. Using fallback provider for embeddings.');
|
|
58
|
-
// Try OpenAI first, then Cohere, then fail with helpful message
|
|
59
|
-
if (registry.get('openai')) {
|
|
60
|
-
const openaiProvider = registry.get('openai');
|
|
61
|
-
if (openaiProvider && openaiProvider.capabilities.embedding) {
|
|
62
|
-
console.log('[EmbeddingFallback] Using OpenAI for embeddings while keeping OpenRouter for chat.');
|
|
63
|
-
return openaiProvider;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
if (registry.get('cohere')) {
|
|
67
|
-
const cohereProvider = registry.get('cohere');
|
|
68
|
-
if (cohereProvider && cohereProvider.capabilities.embedding) {
|
|
69
|
-
console.log('[EmbeddingFallback] Using Cohere for embeddings while keeping OpenRouter for chat.');
|
|
70
|
-
return cohereProvider;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
throw new Error('OpenRouter doesn\'t support embeddings. Please set up OpenAI or Cohere for embeddings:\n\n' +
|
|
74
|
-
' export CODEHERE_OPENAI_API_KEY="sk-..."\n' +
|
|
75
|
-
' or\n' +
|
|
76
|
-
' export COHERE_API_KEY="..."\n\n' +
|
|
77
|
-
'OpenRouter will still be used for chat operations.');
|
|
78
|
-
}
|
|
79
|
-
return resolver.resolveProvider('embedding');
|
|
80
|
-
}
|
|
81
|
-
// Token encoder - tiktoken is OpenAI-specific, use GPT model
|
|
82
|
-
const tokenConfig = getConfigManager();
|
|
83
|
-
const defaultModel = tokenConfig.getModel('default') || tokenConfig.getPreference('defaultModel');
|
|
84
|
-
const tiktokenModel = (defaultModel && defaultModel.includes('gpt')) ? defaultModel : 'gpt-3.5-turbo';
|
|
85
|
-
const enc = encoding_for_model(tiktokenModel);
|
|
86
|
-
// Chunking parameters - will be loaded from ConfigManager when needed
|
|
87
|
-
let CHUNK_SIZE = 300;
|
|
88
|
-
let OVERLAP = 50;
|
|
89
|
-
// Initialize chunking parameters from ConfigManager
|
|
90
|
-
function getChunkingParams() {
|
|
91
|
-
const config = getConfigManager();
|
|
92
|
-
return {
|
|
93
|
-
chunkSize: config.getChunking('chunkSize') || 300,
|
|
94
|
-
overlap: config.getChunking('overlap') || 50,
|
|
95
|
-
};
|
|
96
|
-
}
|
|
11
|
+
const enc = encoding_for_model('gpt-3.5-turbo');
|
|
12
|
+
const CHUNK_SIZE = 300;
|
|
13
|
+
const OVERLAP = 50;
|
|
97
14
|
// Rate limiting state
|
|
98
15
|
let lastApiCallTime = 0;
|
|
99
16
|
let apiCallCount = 0;
|
|
100
17
|
let monthlyApiCallCount = 0;
|
|
101
|
-
//
|
|
102
|
-
const
|
|
103
|
-
const MIN_DELAY_MS = configManager.getRateLimit('minDelayMs') || 1500; // 1.5s between calls (40 calls/min = 1.5s)
|
|
104
|
-
const MONTHLY_LIMIT = configManager.getRateLimit('monthlyLimit') || 1000; // Trial key limit
|
|
18
|
+
const MIN_DELAY_MS = 1500; // 1.5s between calls (40 calls/min = 1.5s)
|
|
19
|
+
const MONTHLY_LIMIT = 1000; // Trial key limit
|
|
105
20
|
/**
|
|
106
21
|
* Rate-limited API call wrapper
|
|
107
22
|
*/
|
|
@@ -144,8 +59,7 @@ export async function indexParallel(files, options = {}) {
|
|
|
144
59
|
const shouldUseParallel = options.sequential === false || (options.sequential === undefined && files.length > 100);
|
|
145
60
|
const maxConcurrency = options.maxConcurrency || (shouldUseParallel ? 10 : 1);
|
|
146
61
|
const useCache = options.useCache !== false;
|
|
147
|
-
const
|
|
148
|
-
const cacheDir = options.cacheDir || config.getPath('cacheDir') || '.codehere-cache';
|
|
62
|
+
const cacheDir = options.cacheDir || '.codehere-cache';
|
|
149
63
|
const startTime = Date.now();
|
|
150
64
|
let indexed = 0;
|
|
151
65
|
let cached = 0;
|
|
@@ -310,8 +224,7 @@ async function processFileWithCache(filepath, useCache, cacheDir) {
|
|
|
310
224
|
if (!useCache) {
|
|
311
225
|
// Process without cache
|
|
312
226
|
const content = readFileSync(filepath, 'utf-8');
|
|
313
|
-
const
|
|
314
|
-
const chunks = chunkTextLocal(content, params.chunkSize, params.overlap);
|
|
227
|
+
const chunks = chunkTextLocal(content, CHUNK_SIZE, OVERLAP);
|
|
315
228
|
// Embed chunks (this is the slow part)
|
|
316
229
|
for (const chunk of chunks) {
|
|
317
230
|
await embedTextLocal(chunk);
|
|
@@ -336,8 +249,7 @@ async function processFileWithCache(filepath, useCache, cacheDir) {
|
|
|
336
249
|
if (!content || content.trim().length === 0) {
|
|
337
250
|
return { cached: false, chunks: 0 };
|
|
338
251
|
}
|
|
339
|
-
const
|
|
340
|
-
const chunks = chunkTextLocal(content, params.chunkSize, params.overlap);
|
|
252
|
+
const chunks = chunkTextLocal(content, CHUNK_SIZE, OVERLAP);
|
|
341
253
|
if (chunks.length === 0) {
|
|
342
254
|
return { cached: false, chunks: 0 };
|
|
343
255
|
}
|
|
@@ -412,8 +324,7 @@ function getFileHash(filepath) {
|
|
|
412
324
|
* Incremental update: only process changed files
|
|
413
325
|
*/
|
|
414
326
|
export async function updateIndexIncremental(baseDir, options = {}) {
|
|
415
|
-
const
|
|
416
|
-
const { cacheDir = config.getPath('cacheDir') || '.codehere-cache', watchMode = false } = options;
|
|
327
|
+
const { cacheDir = '.codehere-cache', watchMode = false } = options;
|
|
417
328
|
// Find all code files
|
|
418
329
|
const files = findCodeFiles(baseDir);
|
|
419
330
|
let updated = 0;
|
|
@@ -475,11 +386,7 @@ function findCodeFiles(dir) {
|
|
|
475
386
|
/**
|
|
476
387
|
* Clear cache
|
|
477
388
|
*/
|
|
478
|
-
export function clearCache(cacheDir) {
|
|
479
|
-
if (!cacheDir) {
|
|
480
|
-
const config = getConfigManager();
|
|
481
|
-
cacheDir = config.getPath('cacheDir') || '.codehere-cache';
|
|
482
|
-
}
|
|
389
|
+
export function clearCache(cacheDir = '.codehere-cache') {
|
|
483
390
|
if (!existsSync(cacheDir)) {
|
|
484
391
|
return;
|
|
485
392
|
}
|
|
@@ -523,7 +430,7 @@ function chunkTextLocal(text, targetTokens, overlap) {
|
|
|
523
430
|
return chunks;
|
|
524
431
|
}
|
|
525
432
|
/**
|
|
526
|
-
* Embed text
|
|
433
|
+
* Embed text locally (duplicate from embed.ts for independence)
|
|
527
434
|
* Now uses rate limiting
|
|
528
435
|
*/
|
|
529
436
|
async function embedTextLocal(text, retries = 3) {
|
|
@@ -532,23 +439,44 @@ async function embedTextLocal(text, retries = 3) {
|
|
|
532
439
|
// Return fake embeddings (1024 dimensions, small random values)
|
|
533
440
|
return Array(1024).fill(0).map(() => Math.random() * 0.001 - 0.0005);
|
|
534
441
|
}
|
|
535
|
-
// Use rate-limited wrapper
|
|
442
|
+
// Use rate-limited wrapper with auto-detected provider
|
|
536
443
|
return await rateLimitedCall(async () => {
|
|
537
444
|
for (let attempt = 0; attempt < retries; attempt++) {
|
|
538
445
|
try {
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
446
|
+
if (process.env.OPENAI_API_KEY) {
|
|
447
|
+
const response = await fetch('https://api.openai.com/v1/embeddings', {
|
|
448
|
+
method: 'POST',
|
|
449
|
+
headers: {
|
|
450
|
+
'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`,
|
|
451
|
+
'Content-Type': 'application/json',
|
|
452
|
+
},
|
|
453
|
+
body: JSON.stringify({ input: text, model: 'text-embedding-3-small' }),
|
|
454
|
+
});
|
|
455
|
+
if (!response.ok)
|
|
456
|
+
throw new Error(`OpenAI embedding error: ${response.status}`);
|
|
457
|
+
const data = await response.json();
|
|
458
|
+
return data.data?.[0]?.embedding || [];
|
|
459
|
+
}
|
|
460
|
+
else if (process.env.COHERE_API_KEY) {
|
|
461
|
+
const { CohereClient } = require('cohere-ai');
|
|
462
|
+
const cohere = new CohereClient({ token: process.env.COHERE_API_KEY });
|
|
463
|
+
const response = await cohere.embed({
|
|
464
|
+
texts: [text],
|
|
465
|
+
model: 'embed-english-v3.0',
|
|
466
|
+
inputType: 'search_document',
|
|
467
|
+
});
|
|
468
|
+
const embeddings = Array.isArray(response.embeddings)
|
|
469
|
+
? response.embeddings
|
|
470
|
+
: response.embeddings.embeddings || [];
|
|
471
|
+
return embeddings[0] || [];
|
|
472
|
+
}
|
|
473
|
+
else {
|
|
474
|
+
throw new Error('No embedding API key found. Set OPENAI_API_KEY or COHERE_API_KEY.');
|
|
545
475
|
}
|
|
546
|
-
return embeddings;
|
|
547
476
|
}
|
|
548
477
|
catch (error) {
|
|
549
478
|
if (attempt === retries - 1)
|
|
550
479
|
throw error;
|
|
551
|
-
// Don't wait here - rateLimitedCall handles delays
|
|
552
480
|
await new Promise(resolve => setTimeout(resolve, Math.pow(2, attempt) * 1000));
|
|
553
481
|
}
|
|
554
482
|
}
|
|
@@ -558,11 +486,7 @@ async function embedTextLocal(text, retries = 3) {
|
|
|
558
486
|
/**
|
|
559
487
|
* Get cache statistics
|
|
560
488
|
*/
|
|
561
|
-
export function getCacheStats(cacheDir) {
|
|
562
|
-
if (!cacheDir) {
|
|
563
|
-
const config = getConfigManager();
|
|
564
|
-
cacheDir = config.getPath('cacheDir') || '.codehere-cache';
|
|
565
|
-
}
|
|
489
|
+
export function getCacheStats(cacheDir = '.codehere-cache') {
|
|
566
490
|
if (!existsSync(cacheDir)) {
|
|
567
491
|
return {
|
|
568
492
|
totalFiles: 0,
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
* Uses clean architecture - AskQuestionUseCase
|
|
4
4
|
*/
|
|
5
5
|
import { container } from '../../../application/services/dependency-container.js';
|
|
6
|
-
import { colors, sectionHeader, formatNumber, formatPath, formatScore, createTable, newline, warning, info, separator, isMinimalStyle, printMinimalHeader,
|
|
7
|
-
import { cleanResponse } from '../../../formatter.js';
|
|
6
|
+
import { colors, sectionHeader, formatNumber, formatPath, formatScore, createTable, newline, warning, info, separator, isMinimalStyle, printMinimalHeader, printContextSummary, } from '../../../ui.js';
|
|
8
7
|
import { executionTracer } from '../../../infrastructure/observability/execution-tracer.js';
|
|
9
8
|
import { findCodebaseRoot } from '../../../domain/services/codebase-detector.js';
|
|
10
9
|
import { displayError } from '../error-display.js';
|
|
@@ -38,29 +37,18 @@ export async function executeAskCommand(question, options) {
|
|
|
38
37
|
if (progressiveDisclosure) {
|
|
39
38
|
progressiveDisclosure.recordFeatureUsage(userId, 'ask_question');
|
|
40
39
|
}
|
|
41
|
-
//
|
|
40
|
+
// Capability assessment (silent — no disclaimer wall)
|
|
42
41
|
const expectationManagement = container.expectationManagement;
|
|
43
42
|
let capabilityAssessment = null;
|
|
44
43
|
if (expectationManagement) {
|
|
45
|
-
// Show first-time AI disclaimer if needed
|
|
46
|
-
if (expectationManagement.shouldShowFirstTimeDisclaimer()) {
|
|
47
|
-
console.log(warning(expectationManagement.formatDisclaimerForConsole()));
|
|
48
|
-
newline();
|
|
49
|
-
expectationManagement.markDisclaimerShown();
|
|
50
|
-
}
|
|
51
44
|
capabilityAssessment = expectationManagement.assessCapability('ask_question', {
|
|
52
45
|
complexity: question.split(' ').length > 20 ? 'complex' : question.split(' ').length > 10 ? 'moderate' : 'simple',
|
|
53
|
-
uncertainty: undefined,
|
|
46
|
+
uncertainty: undefined,
|
|
54
47
|
});
|
|
55
|
-
// Show expectation message if available (only once)
|
|
56
|
-
const expectationMessage = expectationManagement.getExpectationMessage('ask_question');
|
|
57
|
-
if (expectationMessage && expectationMessage.severity === 'warning') {
|
|
58
|
-
console.log(warning(`\n${expectationMessage.message}\n`));
|
|
59
|
-
}
|
|
60
48
|
}
|
|
61
49
|
try {
|
|
62
|
-
// Check if embeddings exist for this repository (skip check if using fake AI
|
|
63
|
-
if (process.env.CODEHERE_FAKE_AI !== '1'
|
|
50
|
+
// Check if embeddings exist for this repository (skip check if using fake AI for testing)
|
|
51
|
+
if (process.env.CODEHERE_FAKE_AI !== '1') {
|
|
64
52
|
const embeddingRepo = container.getEmbeddingRepository(process.cwd());
|
|
65
53
|
const hasEmbeddings = await embeddingRepo.hasEmbeddings();
|
|
66
54
|
if (!hasEmbeddings) {
|
|
@@ -71,11 +59,6 @@ export async function executeAskCommand(question, options) {
|
|
|
71
59
|
console.log(colors.cyan(' codehere index'));
|
|
72
60
|
console.log('');
|
|
73
61
|
console.log('then re-run this command.');
|
|
74
|
-
console.log('');
|
|
75
|
-
console.log('Or use:');
|
|
76
|
-
console.log(colors.cyan(' codehere ask "your question" --quick'));
|
|
77
|
-
console.log('');
|
|
78
|
-
console.log('to work without indexing.');
|
|
79
62
|
newline();
|
|
80
63
|
executionTracer.endRun();
|
|
81
64
|
process.exit(1);
|
|
@@ -105,15 +88,24 @@ export async function executeAskCommand(question, options) {
|
|
|
105
88
|
console.error(colors.red(`\nStreaming error: ${error.message}`));
|
|
106
89
|
},
|
|
107
90
|
} : undefined;
|
|
108
|
-
//
|
|
109
|
-
const
|
|
91
|
+
// Get conversation context and resolve references
|
|
92
|
+
const { conversationContextManager } = await import('../../../infrastructure/context/conversation-context.js');
|
|
93
|
+
const { sessionManager } = await import('../../../infrastructure/context/session-manager.js');
|
|
94
|
+
const sessionId = sessionManager.getSessionId(process.cwd());
|
|
95
|
+
const history = conversationContextManager.getHistory(sessionId, 5);
|
|
96
|
+
// Resolve references in query (e.g., "it", "that", "the previous")
|
|
97
|
+
const resolvedQuestion = conversationContextManager.resolveReferences(sessionId, question);
|
|
98
|
+
const entities = conversationContextManager.extractEntities(resolvedQuestion);
|
|
110
99
|
// Display search results first (before streaming answer)
|
|
111
|
-
// TODO: Implement conversation history feature
|
|
112
100
|
const result = await useCase.execute({
|
|
113
101
|
query: resolvedQuestion,
|
|
114
102
|
maxResults: 15,
|
|
115
103
|
streamHandler,
|
|
116
|
-
conversationHistory:
|
|
104
|
+
conversationHistory: history.map(turn => ({
|
|
105
|
+
query: turn.query,
|
|
106
|
+
response: turn.response,
|
|
107
|
+
timestamp: typeof turn.timestamp === 'string' ? Date.parse(turn.timestamp) : turn.timestamp,
|
|
108
|
+
})),
|
|
117
109
|
});
|
|
118
110
|
// Check if this is a git status response (has answer but no chunks)
|
|
119
111
|
const isGitResponse = result.answer && result.answer.includes('Git Repository Status');
|
|
@@ -127,8 +119,8 @@ export async function executeAskCommand(question, options) {
|
|
|
127
119
|
if (isGitResponse) {
|
|
128
120
|
if (!minimal)
|
|
129
121
|
sectionHeader('Response');
|
|
130
|
-
const
|
|
131
|
-
console.log(
|
|
122
|
+
const { formatMarkdownForTerminal } = await import('../../../infrastructure/ux/stream-markdown.js');
|
|
123
|
+
console.log(formatMarkdownForTerminal(result.answer));
|
|
132
124
|
newline();
|
|
133
125
|
return;
|
|
134
126
|
}
|
|
@@ -154,10 +146,9 @@ export async function executeAskCommand(question, options) {
|
|
|
154
146
|
}
|
|
155
147
|
// Display response
|
|
156
148
|
if (minimal) {
|
|
157
|
-
// In minimal mode
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
console.log(formattedResponse);
|
|
149
|
+
// In minimal mode — format markdown for terminal
|
|
150
|
+
const { formatMarkdownForTerminal } = await import('../../../infrastructure/ux/stream-markdown.js');
|
|
151
|
+
console.log(formatMarkdownForTerminal(result.answer || ''));
|
|
161
152
|
newline();
|
|
162
153
|
if (showContext) {
|
|
163
154
|
// Show context even if empty (for FAKE_AI tests) or with actual files
|
|
@@ -171,7 +162,6 @@ export async function executeAskCommand(question, options) {
|
|
|
171
162
|
}
|
|
172
163
|
newline();
|
|
173
164
|
}
|
|
174
|
-
printSafetyNote();
|
|
175
165
|
newline();
|
|
176
166
|
}
|
|
177
167
|
else {
|
|
@@ -182,9 +172,8 @@ export async function executeAskCommand(question, options) {
|
|
|
182
172
|
console.log();
|
|
183
173
|
}
|
|
184
174
|
else {
|
|
185
|
-
const {
|
|
186
|
-
|
|
187
|
-
console.log(formattedResponse);
|
|
175
|
+
const { formatMarkdownForTerminal } = await import('../../../infrastructure/ux/stream-markdown.js');
|
|
176
|
+
console.log(formatMarkdownForTerminal(result.answer || ''));
|
|
188
177
|
}
|
|
189
178
|
newline();
|
|
190
179
|
}
|
|
@@ -224,21 +213,6 @@ export async function executeAskCommand(question, options) {
|
|
|
224
213
|
summaryRows.push([' Original Tokens', formatNumber(result.compressionMetrics.originalTokens)]);
|
|
225
214
|
summaryRows.push([' Compressed Tokens', formatNumber(result.compressionMetrics.compressedTokens)]);
|
|
226
215
|
}
|
|
227
|
-
// Display confidence scores from uncertainty quantifier
|
|
228
|
-
if (result.uncertainty) {
|
|
229
|
-
const confidence = Math.round((1 - result.uncertainty.combined.value) * 100);
|
|
230
|
-
const confidenceLabel = result.uncertainty.isHallucinationRisk
|
|
231
|
-
? colors.yellow(`${confidence}% ⚠️`)
|
|
232
|
-
: confidence >= 80
|
|
233
|
-
? colors.green(`${confidence}%`)
|
|
234
|
-
: colors.yellow(`${confidence}%`);
|
|
235
|
-
summaryRows.push(['Response Confidence', confidenceLabel]);
|
|
236
|
-
// Show epistemic uncertainty (model's knowledge uncertainty)
|
|
237
|
-
const epistemicPct = Math.round(result.uncertainty.epistemic.value * 100);
|
|
238
|
-
if (epistemicPct > 30) {
|
|
239
|
-
summaryRows.push([' Model Uncertainty', `${epistemicPct}% (verify carefully)`]);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
216
|
if (summaryRows.length > 1) {
|
|
243
217
|
console.log(separator('─', 80));
|
|
244
218
|
sectionHeader('Summary');
|
|
@@ -296,14 +270,14 @@ export async function executeAskCommand(question, options) {
|
|
|
296
270
|
const feedback = await promptForFeedback('ask', {
|
|
297
271
|
query: question,
|
|
298
272
|
response: result.answer,
|
|
299
|
-
sessionId: executionTracer.getCurrentRunId(),
|
|
273
|
+
sessionId: executionTracer.getCurrentRunId() || undefined,
|
|
300
274
|
});
|
|
301
275
|
if (feedback) {
|
|
302
276
|
storeFeedback(learningSystem, userId, feedback, {
|
|
303
277
|
operation: 'ask',
|
|
304
278
|
query: question,
|
|
305
279
|
response: result.answer,
|
|
306
|
-
sessionId: executionTracer.getCurrentRunId(),
|
|
280
|
+
sessionId: executionTracer.getCurrentRunId() || undefined,
|
|
307
281
|
});
|
|
308
282
|
displayFeedbackConfirmation(feedback);
|
|
309
283
|
}
|
|
@@ -312,35 +286,20 @@ export async function executeAskCommand(question, options) {
|
|
|
312
286
|
// Don't fail the command if feedback collection fails
|
|
313
287
|
}
|
|
314
288
|
}
|
|
315
|
-
//
|
|
316
|
-
const { agentFeedbackManager } = await import('../../../infrastructure/validation/agent-feedback.js');
|
|
317
|
-
agentFeedbackManager.recordFeedback({
|
|
318
|
-
runId: runId,
|
|
319
|
-
agentName: 'ask',
|
|
320
|
-
operation: 'ask_question',
|
|
321
|
-
query: question,
|
|
322
|
-
outcome: 'success',
|
|
323
|
-
metrics: {
|
|
324
|
-
executionTime: Date.now() - startTime,
|
|
325
|
-
chunksRetrieved: result.chunks.length,
|
|
326
|
-
memoriesUsed: result.memories?.length || 0,
|
|
327
|
-
},
|
|
328
|
-
});
|
|
329
|
-
}
|
|
330
|
-
catch (err) {
|
|
331
|
-
// Record failure for Trust Dashboard
|
|
289
|
+
// Store conversation turn for future reference resolution (always)
|
|
332
290
|
try {
|
|
333
|
-
const {
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
outcome: 'failure',
|
|
340
|
-
errors: [err instanceof Error ? err.message : String(err)],
|
|
341
|
-
});
|
|
291
|
+
const { conversationContextManager } = await import('../../../infrastructure/context/conversation-context.js');
|
|
292
|
+
const { sessionManager } = await import('../../../infrastructure/context/session-manager.js');
|
|
293
|
+
const sessionId = sessionManager.getSessionId(process.cwd());
|
|
294
|
+
const response = result.answer || 'No answer generated';
|
|
295
|
+
const entities = conversationContextManager.extractEntities(resolvedQuestion);
|
|
296
|
+
conversationContextManager.addTurn(sessionId, question, response, entities, 'ask');
|
|
342
297
|
}
|
|
343
|
-
catch {
|
|
298
|
+
catch (error) {
|
|
299
|
+
// Don't fail if conversation tracking fails
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
catch (err) {
|
|
344
303
|
displayError(err, {
|
|
345
304
|
operation: 'ask',
|
|
346
305
|
query: question,
|
|
@@ -16,7 +16,7 @@ function displayConfig(config) {
|
|
|
16
16
|
['Auto Commit', config.preferences.autoCommit ? 'Yes' : 'No'],
|
|
17
17
|
['Ask Before Destructive', config.preferences.askBeforeDestructive ? 'Yes' : 'No'],
|
|
18
18
|
['Cross-Team Learning', config.preferences.enableCrossTeamLearning ? 'Enabled' : 'Disabled'],
|
|
19
|
-
['Default Model', config.preferences.defaultModel || '(
|
|
19
|
+
['Default Model', config.preferences.defaultModel || 'auto (detects from API key)'],
|
|
20
20
|
['Max Tokens', String(config.preferences.maxTokens || 4096)],
|
|
21
21
|
['Temperature', String(config.preferences.temperature || 0.3)],
|
|
22
22
|
['Streaming', config.preferences.enableStreaming ? 'Enabled' : 'Disabled'],
|
|
@@ -15,7 +15,7 @@ export async function executeCostCommand(action, runId) {
|
|
|
15
15
|
codebaseId: codebaseInfo?.rootPath || process.cwd(),
|
|
16
16
|
});
|
|
17
17
|
try {
|
|
18
|
-
console.log(createBanner('Cost Tracking', '
|
|
18
|
+
console.log(createBanner('Cost Tracking', 'What you\'re spending'));
|
|
19
19
|
newline();
|
|
20
20
|
const costTracker = getCostTracker();
|
|
21
21
|
switch (action) {
|
|
@@ -62,9 +62,9 @@ async function showBudgetStatus(costTracker) {
|
|
|
62
62
|
const budgetLimit = costTracker.getBudgetLimit();
|
|
63
63
|
sectionHeader('Cost Tracking (LOCAL ESTIMATE)');
|
|
64
64
|
newline();
|
|
65
|
-
console.log(warning('⚠️
|
|
66
|
-
console.log(colors.dim(' It does NOT sync with
|
|
67
|
-
console.log(colors.dim(' Check
|
|
65
|
+
console.log(warning('⚠️ This is a local estimate based on token counts, not your actual billing.'));
|
|
66
|
+
console.log(colors.dim(' It does NOT sync with your provider billing dashboard.'));
|
|
67
|
+
console.log(colors.dim(' Check your provider dashboard for actual usage.'));
|
|
68
68
|
console.log(colors.dim(' Use "codehere cost reset" to reset for new billing period.'));
|
|
69
69
|
newline();
|
|
70
70
|
if (budgetLimit !== null && budgetLimit > 0 && status.percentage !== null) {
|
|
@@ -102,7 +102,7 @@ async function showBudgetStatus(costTracker) {
|
|
|
102
102
|
}
|
|
103
103
|
else {
|
|
104
104
|
console.log(colors.bold('No Budget Limit Set'));
|
|
105
|
-
console.log(colors.dim(' Set
|
|
105
|
+
console.log(colors.dim(' Set CODEHERE_BUDGET_LIMIT env var to enable budget tracking.'));
|
|
106
106
|
newline();
|
|
107
107
|
console.log(colors.bold('Current Usage (Estimate):'));
|
|
108
108
|
console.log(` Total: ${colors.cyan(`$${status.spent.toFixed(4)}`)}`);
|
|
@@ -184,7 +184,7 @@ async function resetCosts(costTracker) {
|
|
|
184
184
|
// In a real implementation, you might want to add a confirmation prompt
|
|
185
185
|
// For now, we'll just reset
|
|
186
186
|
await costTracker.resetCosts();
|
|
187
|
-
console.log(success('
|
|
187
|
+
console.log(success('Cost tracking reset.'));
|
|
188
188
|
console.log(colors.dim(' Note: This is local tracking only. Check Cohere dashboard for actual usage.'));
|
|
189
189
|
newline();
|
|
190
190
|
}
|
|
@@ -13,7 +13,7 @@ export async function executeDecisionCommand(action, args, options = {}) {
|
|
|
13
13
|
const codebasePath = options.codebase || process.cwd();
|
|
14
14
|
const codebaseInfo = findCodebaseRoot(codebasePath);
|
|
15
15
|
if (!codebaseInfo) {
|
|
16
|
-
console.log(error('
|
|
16
|
+
console.log(error('Can\'t find a codebase here. Are you in a project folder?'));
|
|
17
17
|
return;
|
|
18
18
|
}
|
|
19
19
|
const runId = executionTracer.startRun('decision', {
|
|
@@ -21,7 +21,7 @@ export async function executeDecisionCommand(action, args, options = {}) {
|
|
|
21
21
|
codebaseId: codebaseInfo.rootPath,
|
|
22
22
|
});
|
|
23
23
|
try {
|
|
24
|
-
console.log(createBanner('Decision Recording', '
|
|
24
|
+
console.log(createBanner('Decision Recording', 'Why you built it this way'));
|
|
25
25
|
newline();
|
|
26
26
|
const codebaseId = codebaseInfo.codebaseId;
|
|
27
27
|
console.log(colors.dim(`Codebase: ${codebaseInfo.rootPath} (${codebaseInfo.type})`));
|
|
@@ -84,7 +84,7 @@ async function handleRecord(args, codebaseId, decisionRecorder) {
|
|
|
84
84
|
rationale: decisionText,
|
|
85
85
|
});
|
|
86
86
|
spinner.stop();
|
|
87
|
-
console.log(success('Decision
|
|
87
|
+
console.log(success('Decision saved'));
|
|
88
88
|
newline();
|
|
89
89
|
console.log(colors.bold('Decision ID:'), decision.id);
|
|
90
90
|
console.log(colors.bold('Title:'), decision.title);
|
|
@@ -108,7 +108,7 @@ async function handleList(codebaseId, decisionRetriever, options) {
|
|
|
108
108
|
}
|
|
109
109
|
spinner.stop();
|
|
110
110
|
if (decisions.length === 0) {
|
|
111
|
-
console.log(info('No decisions
|
|
111
|
+
console.log(info('No decisions saved yet'));
|
|
112
112
|
return;
|
|
113
113
|
}
|
|
114
114
|
sectionHeader(`Decisions (${decisions.length})`);
|
|
@@ -139,7 +139,7 @@ async function handleQuery(query, codebaseId, decisionRetriever, options) {
|
|
|
139
139
|
const result = await decisionRetriever.queryByContext(codebaseId, query.trim(), options.limit || 10);
|
|
140
140
|
spinner.stop();
|
|
141
141
|
if (result.decisions.length === 0) {
|
|
142
|
-
console.log(info('
|
|
142
|
+
console.log(info('Nothing matches that search'));
|
|
143
143
|
return;
|
|
144
144
|
}
|
|
145
145
|
sectionHeader(`Found ${result.decisions.length} decision(s)`);
|
|
@@ -4,73 +4,33 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Phase 1: v0.5.0-alpha.0
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
// import { container } from '../../../application/services/dependency-container.js';
|
|
7
|
+
import { container } from '../../../application/services/dependency-container.js';
|
|
9
8
|
import { colors, error, success, newline, isMinimalStyle } from '../../../ui.js';
|
|
10
9
|
import { displayError } from '../error-display.js';
|
|
11
10
|
export async function executeFixCommand(file, instruction, options) {
|
|
12
11
|
const minimal = isMinimalStyle();
|
|
13
12
|
// Header
|
|
14
13
|
if (minimal) {
|
|
15
|
-
console.log(colors.cyan('codehere
|
|
14
|
+
console.log(colors.cyan('codehere fix') + colors.dim(' ▸ ') + file);
|
|
16
15
|
}
|
|
17
16
|
else {
|
|
18
|
-
console.log(colors.bold('Edit'));
|
|
17
|
+
console.log(colors.bold('Fix/Edit'));
|
|
19
18
|
console.log(colors.dim(`File: ${file}`));
|
|
20
19
|
}
|
|
21
20
|
console.log(colors.dim(`Instruction: ${instruction}`));
|
|
22
|
-
// Show options if enabled
|
|
23
|
-
if (options?.noVerify) {
|
|
24
|
-
console.log(colors.yellow('⚠️ Verification disabled (--no-verify)'));
|
|
25
|
-
}
|
|
26
|
-
if (options?.explain) {
|
|
27
|
-
console.log(colors.cyan('💡 Explanation mode enabled'));
|
|
28
|
-
}
|
|
29
|
-
if (options?.showCost) {
|
|
30
|
-
console.log(colors.cyan('💰 Cost tracking enabled'));
|
|
31
|
-
}
|
|
32
21
|
newline();
|
|
33
22
|
try {
|
|
34
|
-
// PERFORMANCE: Dynamic import to avoid blocking startup
|
|
35
|
-
const { container } = await import('../../../application/services/dependency-container.js');
|
|
36
23
|
// Use edit-file-use-case
|
|
37
24
|
const editUseCase = container.editFileUseCase;
|
|
38
25
|
const result = await editUseCase.execute({
|
|
39
26
|
filepath: file,
|
|
40
27
|
instruction,
|
|
41
|
-
skipVerification: options?.noVerify,
|
|
42
|
-
requestExplanation: options?.explain,
|
|
43
28
|
});
|
|
44
29
|
if (result.success) {
|
|
45
30
|
console.log(colors.bold('Changes:'));
|
|
46
31
|
console.log(success(`✓ Applied changes to ${file}`));
|
|
47
32
|
if (result.edit) {
|
|
48
|
-
|
|
49
|
-
console.log(colors.dim(editStr.substring(0, 200) + (editStr.length > 200 ? '...' : '')));
|
|
50
|
-
}
|
|
51
|
-
// Display cost information if --show-cost flag is enabled
|
|
52
|
-
if (options?.showCost && result.cost) {
|
|
53
|
-
newline();
|
|
54
|
-
console.log(colors.bold('Cost Breakdown:'));
|
|
55
|
-
console.log(colors.cyan(` Provider: ${result.cost.provider}`));
|
|
56
|
-
console.log(colors.cyan(` Model: ${result.cost.model}`));
|
|
57
|
-
if (result.usage) {
|
|
58
|
-
console.log(colors.dim(` Tokens: ${result.usage.inputTokens} input + ${result.usage.outputTokens} output`));
|
|
59
|
-
}
|
|
60
|
-
console.log(colors.dim(` Input cost: $${result.cost.inputCost.toFixed(4)}`));
|
|
61
|
-
console.log(colors.dim(` Output cost: $${result.cost.outputCost.toFixed(4)}`));
|
|
62
|
-
if (result.cost.totalCost === 0) {
|
|
63
|
-
console.log(colors.green(` Total: $0.00 (FREE - Local model)`));
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
console.log(colors.bold(` Total: $${result.cost.totalCost.toFixed(4)}`));
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
// Display explanation if --explain flag is enabled
|
|
70
|
-
if (options?.explain && result.explanation) {
|
|
71
|
-
newline();
|
|
72
|
-
console.log(colors.bold('Explanation:'));
|
|
73
|
-
console.log(colors.dim(result.explanation));
|
|
33
|
+
console.log(colors.dim(result.edit));
|
|
74
34
|
}
|
|
75
35
|
newline();
|
|
76
36
|
console.log(colors.dim('Note: Changes have been applied. Use "codehere undo" to revert if needed.'));
|