codehere 0.4.0 → 0.5.0-alpha
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/LICENSE +1 -1
- package/README.md +113 -30
- package/dist/application/agents/execution-agent.js +2 -2
- package/dist/application/agents/execution-agent.js.map +1 -1
- package/dist/application/agents/multi-agent-orchestrator.d.ts +1 -0
- package/dist/application/agents/multi-agent-orchestrator.d.ts.map +1 -1
- package/dist/application/agents/multi-agent-orchestrator.js +10 -3
- package/dist/application/agents/multi-agent-orchestrator.js.map +1 -1
- package/dist/application/agents/planning-agent.d.ts.map +1 -1
- package/dist/application/agents/planning-agent.js +22 -10
- package/dist/application/agents/planning-agent.js.map +1 -1
- package/dist/application/agents/validation-agent.js +2 -2
- package/dist/application/agents/validation-agent.js.map +1 -1
- package/dist/application/reasoning/multi-model-planning-strategy.d.ts +21 -0
- package/dist/application/reasoning/multi-model-planning-strategy.d.ts.map +1 -0
- package/dist/application/reasoning/multi-model-planning-strategy.js +158 -0
- package/dist/application/reasoning/multi-model-planning-strategy.js.map +1 -0
- package/dist/application/reasoning/reasoning-config.d.ts +15 -0
- package/dist/application/reasoning/reasoning-config.d.ts.map +1 -0
- package/dist/application/reasoning/reasoning-config.js +50 -0
- package/dist/application/reasoning/reasoning-config.js.map +1 -0
- package/dist/application/reasoning/reasoning-orchestrator.d.ts +18 -0
- package/dist/application/reasoning/reasoning-orchestrator.d.ts.map +1 -0
- package/dist/application/reasoning/reasoning-orchestrator.js +170 -0
- package/dist/application/reasoning/reasoning-orchestrator.js.map +1 -0
- package/dist/application/reasoning/reasoning-strategy.interface.d.ts +24 -0
- package/dist/application/reasoning/reasoning-strategy.interface.d.ts.map +1 -0
- package/dist/application/reasoning/reasoning-strategy.interface.js +6 -0
- package/dist/application/reasoning/reasoning-strategy.interface.js.map +1 -0
- package/dist/application/reasoning/role-provider-resolver.d.ts +36 -0
- package/dist/application/reasoning/role-provider-resolver.d.ts.map +1 -0
- package/dist/application/reasoning/role-provider-resolver.js +74 -0
- package/dist/application/reasoning/role-provider-resolver.js.map +1 -0
- package/dist/application/reasoning/simple-planning-strategy.d.ts +22 -0
- package/dist/application/reasoning/simple-planning-strategy.d.ts.map +1 -0
- package/dist/application/reasoning/simple-planning-strategy.js +217 -0
- package/dist/application/reasoning/simple-planning-strategy.js.map +1 -0
- package/dist/application/reasoning/types.d.ts +65 -0
- package/dist/application/reasoning/types.d.ts.map +1 -0
- package/dist/application/reasoning/types.js +6 -0
- package/dist/application/reasoning/types.js.map +1 -0
- package/dist/application/reasoning/validator-strategy.d.ts +56 -0
- package/dist/application/reasoning/validator-strategy.d.ts.map +1 -0
- package/dist/application/reasoning/validator-strategy.js +103 -0
- package/dist/application/reasoning/validator-strategy.js.map +1 -0
- package/dist/application/services/dependency-container.d.ts +30 -6
- package/dist/application/services/dependency-container.d.ts.map +1 -1
- package/dist/application/services/dependency-container.js +96 -44
- package/dist/application/services/dependency-container.js.map +1 -1
- package/dist/application/services/intelligent-router.d.ts +6 -0
- package/dist/application/services/intelligent-router.d.ts.map +1 -1
- package/dist/application/services/intelligent-router.js +98 -9
- package/dist/application/services/intelligent-router.js.map +1 -1
- package/dist/application/use-cases/ask-question-use-case.d.ts +1 -0
- package/dist/application/use-cases/ask-question-use-case.d.ts.map +1 -1
- package/dist/application/use-cases/ask-question-use-case.js +4 -3
- package/dist/application/use-cases/ask-question-use-case.js.map +1 -1
- package/dist/application/use-cases/planning-use-case.d.ts +14 -1
- package/dist/application/use-cases/planning-use-case.d.ts.map +1 -1
- package/dist/application/use-cases/planning-use-case.js +109 -2
- package/dist/application/use-cases/planning-use-case.js.map +1 -1
- package/dist/domain/entities/memory.d.ts.map +1 -1
- package/dist/domain/entities/task.d.ts +1 -1
- package/dist/domain/entities/task.d.ts.map +1 -1
- package/dist/domain/entities/task.js +2 -2
- package/dist/domain/entities/task.js.map +1 -1
- package/dist/domain/errors/embeddings-not-found-error.d.ts +9 -0
- package/dist/domain/errors/embeddings-not-found-error.d.ts.map +1 -0
- package/dist/domain/errors/embeddings-not-found-error.js +13 -0
- package/dist/domain/errors/embeddings-not-found-error.js.map +1 -0
- package/dist/domain/interfaces/embedding-repository.interface.d.ts +5 -0
- package/dist/domain/interfaces/embedding-repository.interface.d.ts.map +1 -1
- package/dist/domain/services/environment-mode-manager.d.ts +4 -10
- package/dist/domain/services/environment-mode-manager.d.ts.map +1 -1
- package/dist/domain/services/environment-mode-manager.js +7 -22
- package/dist/domain/services/environment-mode-manager.js.map +1 -1
- package/dist/domain/services/query-intent-classifier.d.ts.map +1 -1
- package/dist/domain/services/query-intent-classifier.js +20 -1
- package/dist/domain/services/query-intent-classifier.js.map +1 -1
- package/dist/domain/services/risk-tier-detector.d.ts +8 -9
- package/dist/domain/services/risk-tier-detector.d.ts.map +1 -1
- package/dist/domain/services/risk-tier-detector.js +53 -40
- package/dist/domain/services/risk-tier-detector.js.map +1 -1
- package/dist/embed.d.ts.map +1 -1
- package/dist/embed.js +18 -8
- package/dist/embed.js.map +1 -1
- package/dist/index.js +405 -52
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/ai/cohere-ai-service.js +4 -4
- package/dist/infrastructure/ai/cohere-ai-service.js.map +1 -1
- package/dist/infrastructure/ai/provider-ai-service.d.ts.map +1 -1
- package/dist/infrastructure/ai/provider-ai-service.js +7 -7
- package/dist/infrastructure/ai/provider-ai-service.js.map +1 -1
- package/dist/infrastructure/cache/query-result-cache.d.ts +14 -55
- package/dist/infrastructure/cache/query-result-cache.d.ts.map +1 -1
- package/dist/infrastructure/cache/query-result-cache.js +40 -112
- package/dist/infrastructure/cache/query-result-cache.js.map +1 -1
- package/dist/infrastructure/cache/response-cache.d.ts +10 -78
- package/dist/infrastructure/cache/response-cache.d.ts.map +1 -1
- package/dist/infrastructure/cache/response-cache.js +22 -198
- package/dist/infrastructure/cache/response-cache.js.map +1 -1
- package/dist/infrastructure/cache/security-scan-cache.d.ts +8 -49
- package/dist/infrastructure/cache/security-scan-cache.d.ts.map +1 -1
- package/dist/infrastructure/cache/security-scan-cache.js +25 -102
- package/dist/infrastructure/cache/security-scan-cache.js.map +1 -1
- package/dist/infrastructure/completion/bash-completion.d.ts +2 -3
- package/dist/infrastructure/completion/bash-completion.d.ts.map +1 -1
- package/dist/infrastructure/completion/bash-completion.js +11 -87
- package/dist/infrastructure/completion/bash-completion.js.map +1 -1
- package/dist/infrastructure/completion/fish-completion.d.ts +2 -3
- package/dist/infrastructure/completion/fish-completion.d.ts.map +1 -1
- package/dist/infrastructure/completion/fish-completion.js +15 -58
- package/dist/infrastructure/completion/fish-completion.js.map +1 -1
- package/dist/infrastructure/completion/zsh-completion.d.ts +2 -3
- package/dist/infrastructure/completion/zsh-completion.d.ts.map +1 -1
- package/dist/infrastructure/completion/zsh-completion.js +18 -73
- package/dist/infrastructure/completion/zsh-completion.js.map +1 -1
- package/dist/infrastructure/config/config-manager.d.ts +10 -0
- package/dist/infrastructure/config/config-manager.d.ts.map +1 -1
- package/dist/infrastructure/config/config-manager.js +13 -2
- package/dist/infrastructure/config/config-manager.js.map +1 -1
- package/dist/infrastructure/context/conversation-context.d.ts +27 -31
- package/dist/infrastructure/context/conversation-context.d.ts.map +1 -1
- package/dist/infrastructure/context/conversation-context.js +95 -136
- package/dist/infrastructure/context/conversation-context.js.map +1 -1
- package/dist/infrastructure/context/session-manager.d.ts +27 -11
- package/dist/infrastructure/context/session-manager.d.ts.map +1 -1
- package/dist/infrastructure/context/session-manager.js +69 -73
- package/dist/infrastructure/context/session-manager.js.map +1 -1
- package/dist/infrastructure/protocols/a2a-metadata.js +1 -1
- package/dist/infrastructure/protocols/mcp-oauth.js +1 -1
- package/dist/infrastructure/providers/cohere-provider.d.ts.map +1 -1
- package/dist/infrastructure/providers/cohere-provider.js +102 -17
- package/dist/infrastructure/providers/cohere-provider.js.map +1 -1
- package/dist/infrastructure/providers/openrouter-provider.d.ts +42 -0
- package/dist/infrastructure/providers/openrouter-provider.d.ts.map +1 -0
- package/dist/infrastructure/providers/openrouter-provider.js +401 -0
- package/dist/infrastructure/providers/openrouter-provider.js.map +1 -0
- package/dist/infrastructure/providers/operation-provider-resolver.d.ts.map +1 -1
- package/dist/infrastructure/providers/operation-provider-resolver.js +33 -7
- package/dist/infrastructure/providers/operation-provider-resolver.js.map +1 -1
- package/dist/infrastructure/security/input-validator.d.ts.map +1 -1
- package/dist/infrastructure/security/input-validator.js +19 -6
- package/dist/infrastructure/security/input-validator.js.map +1 -1
- package/dist/infrastructure/serialization/toon-serializer.d.ts +45 -0
- package/dist/infrastructure/serialization/toon-serializer.d.ts.map +1 -0
- package/dist/infrastructure/serialization/toon-serializer.js +119 -0
- package/dist/infrastructure/serialization/toon-serializer.js.map +1 -0
- package/dist/infrastructure/storage/embeddings-path.d.ts +18 -0
- package/dist/infrastructure/storage/embeddings-path.d.ts.map +1 -0
- package/dist/infrastructure/storage/embeddings-path.js +37 -0
- package/dist/infrastructure/storage/embeddings-path.js.map +1 -0
- package/dist/infrastructure/storage/plan-repository.d.ts +2 -0
- package/dist/infrastructure/storage/plan-repository.d.ts.map +1 -1
- package/dist/infrastructure/storage/plan-repository.js +36 -73
- package/dist/infrastructure/storage/plan-repository.js.map +1 -1
- package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +10 -1
- package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +1 -1
- package/dist/infrastructure/storage/sqlite-embedding-repository.js +37 -3
- package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +1 -1
- package/dist/infrastructure/storage/task-helpers.d.ts +12 -1
- package/dist/infrastructure/storage/task-helpers.d.ts.map +1 -1
- package/dist/infrastructure/storage/task-helpers.js +48 -8
- package/dist/infrastructure/storage/task-helpers.js.map +1 -1
- package/dist/infrastructure/storage/task-repository.d.ts +2 -1
- package/dist/infrastructure/storage/task-repository.d.ts.map +1 -1
- package/dist/infrastructure/storage/task-repository.js +14 -3
- package/dist/infrastructure/storage/task-repository.js.map +1 -1
- package/dist/infrastructure/telemetry/telemetry-service.d.ts +74 -0
- package/dist/infrastructure/telemetry/telemetry-service.d.ts.map +1 -0
- package/dist/infrastructure/telemetry/telemetry-service.js +167 -0
- package/dist/infrastructure/telemetry/telemetry-service.js.map +1 -0
- package/dist/infrastructure/ux/capability-boundaries.d.ts +9 -37
- package/dist/infrastructure/ux/capability-boundaries.d.ts.map +1 -1
- package/dist/infrastructure/ux/capability-boundaries.js +23 -148
- package/dist/infrastructure/ux/capability-boundaries.js.map +1 -1
- package/dist/infrastructure/ux/comprehensive-formatter.d.ts +12 -54
- package/dist/infrastructure/ux/comprehensive-formatter.d.ts.map +1 -1
- package/dist/infrastructure/ux/comprehensive-formatter.js +87 -182
- package/dist/infrastructure/ux/comprehensive-formatter.js.map +1 -1
- package/dist/infrastructure/ux/contextual-feature-discovery.d.ts +5 -18
- package/dist/infrastructure/ux/contextual-feature-discovery.d.ts.map +1 -1
- package/dist/infrastructure/ux/contextual-feature-discovery.js +5 -139
- package/dist/infrastructure/ux/contextual-feature-discovery.js.map +1 -1
- package/dist/infrastructure/ux/feature-discovery.d.ts +3 -33
- package/dist/infrastructure/ux/feature-discovery.d.ts.map +1 -1
- package/dist/infrastructure/ux/feature-discovery.js +5 -181
- package/dist/infrastructure/ux/feature-discovery.js.map +1 -1
- package/dist/infrastructure/ux/feedback-prompt.d.ts +15 -31
- package/dist/infrastructure/ux/feedback-prompt.d.ts.map +1 -1
- package/dist/infrastructure/ux/feedback-prompt.js +30 -166
- package/dist/infrastructure/ux/feedback-prompt.js.map +1 -1
- package/dist/infrastructure/ux/progress-indicator.d.ts +4 -6
- package/dist/infrastructure/ux/progress-indicator.d.ts.map +1 -1
- package/dist/infrastructure/ux/progress-indicator.js +35 -50
- package/dist/infrastructure/ux/progress-indicator.js.map +1 -1
- package/dist/infrastructure/ux/review-checkpoint.d.ts +3 -1
- package/dist/infrastructure/ux/review-checkpoint.d.ts.map +1 -1
- package/dist/infrastructure/ux/review-checkpoint.js +33 -80
- package/dist/infrastructure/ux/review-checkpoint.js.map +1 -1
- package/dist/infrastructure/ux/staged-feature-intro.d.ts +14 -39
- package/dist/infrastructure/ux/staged-feature-intro.d.ts.map +1 -1
- package/dist/infrastructure/ux/staged-feature-intro.js +12 -132
- package/dist/infrastructure/ux/staged-feature-intro.js.map +1 -1
- package/dist/infrastructure/ux/syntax-highlighter.d.ts +1 -2
- package/dist/infrastructure/ux/syntax-highlighter.d.ts.map +1 -1
- package/dist/infrastructure/ux/syntax-highlighter.js +67 -148
- package/dist/infrastructure/ux/syntax-highlighter.js.map +1 -1
- package/dist/infrastructure/validation/agent-feedback.d.ts +25 -89
- package/dist/infrastructure/validation/agent-feedback.d.ts.map +1 -1
- package/dist/infrastructure/validation/agent-feedback.js +32 -204
- package/dist/infrastructure/validation/agent-feedback.js.map +1 -1
- package/dist/infrastructure/validation/agent-validation-helper.d.ts +53 -53
- package/dist/infrastructure/validation/agent-validation-helper.d.ts.map +1 -1
- package/dist/infrastructure/validation/agent-validation-helper.js +110 -61
- package/dist/infrastructure/validation/agent-validation-helper.js.map +1 -1
- package/dist/infrastructure/validation/review-handler.d.ts +13 -41
- package/dist/infrastructure/validation/review-handler.d.ts.map +1 -1
- package/dist/infrastructure/validation/review-handler.js +23 -189
- package/dist/infrastructure/validation/review-handler.js.map +1 -1
- package/dist/infrastructure/validation/summary-aggregator.d.ts +25 -22
- package/dist/infrastructure/validation/summary-aggregator.d.ts.map +1 -1
- package/dist/infrastructure/validation/summary-aggregator.js +47 -133
- package/dist/infrastructure/validation/summary-aggregator.js.map +1 -1
- package/dist/infrastructure/validation/summary-extractor.d.ts +13 -48
- package/dist/infrastructure/validation/summary-extractor.d.ts.map +1 -1
- package/dist/infrastructure/validation/summary-extractor.js +32 -89
- package/dist/infrastructure/validation/summary-extractor.js.map +1 -1
- package/dist/infrastructure/validation/trace-summary.d.ts +30 -57
- package/dist/infrastructure/validation/trace-summary.d.ts.map +1 -1
- package/dist/infrastructure/validation/trace-summary.js +37 -356
- package/dist/infrastructure/validation/trace-summary.js.map +1 -1
- package/dist/monitoring.d.ts +1 -1
- package/dist/monitoring.d.ts.map +1 -1
- package/dist/monitoring.js +12 -9
- package/dist/monitoring.js.map +1 -1
- package/dist/parallel-processor.d.ts.map +1 -1
- package/dist/parallel-processor.js +124 -45
- package/dist/parallel-processor.js.map +1 -1
- package/dist/presentation/cli/commands/ask-command.d.ts +2 -0
- package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/ask-command.js +316 -129
- package/dist/presentation/cli/commands/ask-command.js.map +1 -1
- package/dist/presentation/cli/commands/config-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/config-command.js +22 -8
- package/dist/presentation/cli/commands/config-command.js.map +1 -1
- package/dist/presentation/cli/commands/decision-command.js +23 -6
- package/dist/presentation/cli/commands/decision-command.js.map +1 -1
- package/dist/presentation/cli/commands/docs-command.d.ts +3 -1
- package/dist/presentation/cli/commands/docs-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/docs-command.js +13 -184
- package/dist/presentation/cli/commands/docs-command.js.map +1 -1
- package/dist/presentation/cli/commands/fix-command.d.ts +2 -0
- package/dist/presentation/cli/commands/fix-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/fix-command.js +61 -276
- package/dist/presentation/cli/commands/fix-command.js.map +1 -1
- package/dist/presentation/cli/commands/help-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/help-command.js +21 -1
- package/dist/presentation/cli/commands/help-command.js.map +1 -1
- package/dist/presentation/cli/commands/memory-command.d.ts +17 -0
- package/dist/presentation/cli/commands/memory-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/memory-command.js +252 -0
- package/dist/presentation/cli/commands/memory-command.js.map +1 -0
- package/dist/presentation/cli/commands/models-command.d.ts +13 -0
- package/dist/presentation/cli/commands/models-command.d.ts.map +1 -0
- package/dist/presentation/cli/commands/models-command.js +194 -0
- package/dist/presentation/cli/commands/models-command.js.map +1 -0
- package/dist/presentation/cli/commands/orchestrate-command.d.ts +1 -0
- package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/orchestrate-command.js +129 -14
- package/dist/presentation/cli/commands/orchestrate-command.js.map +1 -1
- package/dist/presentation/cli/commands/plan-command.d.ts +1 -0
- package/dist/presentation/cli/commands/plan-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/plan-command.js +134 -25
- package/dist/presentation/cli/commands/plan-command.js.map +1 -1
- package/dist/presentation/cli/commands/product-command.d.ts +6 -4
- package/dist/presentation/cli/commands/product-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/product-command.js +12 -178
- package/dist/presentation/cli/commands/product-command.js.map +1 -1
- package/dist/presentation/cli/commands/react-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/react-command.js +5 -1
- package/dist/presentation/cli/commands/react-command.js.map +1 -1
- package/dist/presentation/cli/commands/review-command.d.ts +7 -7
- package/dist/presentation/cli/commands/review-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/review-command.js +167 -16
- package/dist/presentation/cli/commands/review-command.js.map +1 -1
- package/dist/presentation/cli/commands/run-command.d.ts +6 -8
- package/dist/presentation/cli/commands/run-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/run-command.js +182 -23
- package/dist/presentation/cli/commands/run-command.js.map +1 -1
- package/dist/presentation/cli/commands/setup-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/setup-command.js +15 -0
- package/dist/presentation/cli/commands/setup-command.js.map +1 -1
- package/dist/presentation/cli/commands/smart-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/smart-command.js +74 -6
- package/dist/presentation/cli/commands/smart-command.js.map +1 -1
- package/dist/presentation/cli/commands/status-command.d.ts +3 -0
- package/dist/presentation/cli/commands/status-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/status-command.js +151 -156
- package/dist/presentation/cli/commands/status-command.js.map +1 -1
- package/dist/presentation/cli/commands/suggest-command.d.ts +3 -5
- package/dist/presentation/cli/commands/suggest-command.d.ts.map +1 -1
- package/dist/presentation/cli/commands/suggest-command.js +132 -19
- package/dist/presentation/cli/commands/suggest-command.js.map +1 -1
- package/dist/presentation/cli/error-display.d.ts.map +1 -1
- package/dist/presentation/cli/error-display.js +75 -17
- package/dist/presentation/cli/error-display.js.map +1 -1
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +6 -1
- package/dist/search.js.map +1 -1
- package/dist/session.d.ts +1 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +55 -7
- package/dist/session.js.map +1 -1
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +3 -0
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/git-tool.js +7 -7
- package/dist/tools/git-tool.js.map +1 -1
- package/dist/ui.d.ts +11 -0
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +54 -1
- package/dist/ui.js.map +1 -1
- package/package.json +14 -4
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TOON (Token-Oriented Object Notation) Serializer
|
|
3
|
+
*
|
|
4
|
+
* Phase 1: Code Context Serialization for v1.0.0 MVP
|
|
5
|
+
*
|
|
6
|
+
* Benefits:
|
|
7
|
+
* - 30-60% token reduction compared to JSON
|
|
8
|
+
* - Better LLM parsing accuracy
|
|
9
|
+
* - Self-documenting structure
|
|
10
|
+
*
|
|
11
|
+
* Feature Flag: CODEHERE_USE_TOON (default: false for v1.0.0)
|
|
12
|
+
*/
|
|
13
|
+
let toonLib = null;
|
|
14
|
+
/**
|
|
15
|
+
* Lazy load TOON library (only if feature flag is enabled)
|
|
16
|
+
*/
|
|
17
|
+
async function getToonLib() {
|
|
18
|
+
if (toonLib === null) {
|
|
19
|
+
try {
|
|
20
|
+
// Dynamic import for ES modules - use eval to avoid TypeScript compile-time error when package isn't installed
|
|
21
|
+
// This allows the code to compile even if @toon-format/toon is not installed
|
|
22
|
+
const toonModulePath = '@toon-format/toon';
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-implied-eval
|
|
24
|
+
const toonModule = await import(/* @ts-ignore */ toonModulePath);
|
|
25
|
+
toonLib = toonModule;
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
// TOON library not installed or feature disabled
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return toonLib;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Check if TOON is enabled via feature flag
|
|
36
|
+
*/
|
|
37
|
+
function isToonEnabled() {
|
|
38
|
+
return process.env.CODEHERE_USE_TOON === 'true' || process.env.CODEHERE_USE_TOON === '1';
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Serialize code chunks to TOON format
|
|
42
|
+
*
|
|
43
|
+
* TOON format for code chunks:
|
|
44
|
+
* chunks[N]{filepath,content,score,lineStart,lineEnd}:
|
|
45
|
+
* src/auth.ts,function authenticate() {...},0.95,10,60
|
|
46
|
+
* src/utils.ts,export function helper() {...},0.87,5,35
|
|
47
|
+
*
|
|
48
|
+
* @param chunks Code chunks to serialize
|
|
49
|
+
* @returns TOON-formatted string, or null if TOON is disabled or library unavailable
|
|
50
|
+
*/
|
|
51
|
+
export async function serializeCodeChunksToToon(chunks) {
|
|
52
|
+
if (!isToonEnabled() || chunks.length === 0) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
const toon = await getToonLib();
|
|
56
|
+
if (!toon) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
try {
|
|
60
|
+
// Convert code chunks to array of objects for TOON encoding
|
|
61
|
+
const chunksData = chunks.map(chunk => ({
|
|
62
|
+
filepath: chunk.filepath,
|
|
63
|
+
content: chunk.content,
|
|
64
|
+
score: chunk.score || 1.0,
|
|
65
|
+
lineStart: chunk.lineStart || 0,
|
|
66
|
+
lineEnd: chunk.lineEnd || 0,
|
|
67
|
+
}));
|
|
68
|
+
// Encode to TOON format
|
|
69
|
+
// TOON library exports: { encode, decode } or default export
|
|
70
|
+
const toonData = { chunks: chunksData };
|
|
71
|
+
const encodeFn = toon.encode || toon.default?.encode || (typeof toon === 'function' ? toon : null);
|
|
72
|
+
if (!encodeFn || typeof encodeFn !== 'function') {
|
|
73
|
+
throw new Error('TOON encode function not found in module');
|
|
74
|
+
}
|
|
75
|
+
const toonString = encodeFn(toonData, { delimiter: '\t' });
|
|
76
|
+
return toonString;
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
// If TOON encoding fails, return null to fall back to JSON
|
|
80
|
+
console.warn('[TOON] Encoding failed, falling back to JSON:', error instanceof Error ? error.message : String(error));
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Serialize code chunks to traditional format (fallback)
|
|
86
|
+
* Used when TOON is disabled or unavailable
|
|
87
|
+
*
|
|
88
|
+
* @param chunks Code chunks to serialize
|
|
89
|
+
* @returns Traditional formatted string
|
|
90
|
+
*/
|
|
91
|
+
export function serializeCodeChunksToTraditional(chunks) {
|
|
92
|
+
return chunks
|
|
93
|
+
.map((chunk, idx) => `[Chunk ${idx + 1} from ${chunk.filepath}]\n${chunk.content}`)
|
|
94
|
+
.join('\n\n---\n\n');
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Serialize code chunks (TOON if enabled, traditional otherwise)
|
|
98
|
+
*
|
|
99
|
+
* @param chunks Code chunks to serialize
|
|
100
|
+
* @returns Formatted string (TOON or traditional)
|
|
101
|
+
*/
|
|
102
|
+
export async function serializeCodeChunks(chunks) {
|
|
103
|
+
const toonResult = await serializeCodeChunksToToon(chunks);
|
|
104
|
+
if (toonResult !== null) {
|
|
105
|
+
return toonResult;
|
|
106
|
+
}
|
|
107
|
+
return serializeCodeChunksToTraditional(chunks);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Check if TOON is available and enabled
|
|
111
|
+
*/
|
|
112
|
+
export async function isToonAvailable() {
|
|
113
|
+
if (!isToonEnabled()) {
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
const lib = await getToonLib();
|
|
117
|
+
return lib !== null;
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=toon-serializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toon-serializer.js","sourceRoot":"","sources":["../../../src/infrastructure/serialization/toon-serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Infrastructure: Embeddings Path Helper
|
|
3
|
+
* Determines per-codebase embeddings database path
|
|
4
|
+
*/
|
|
5
|
+
export interface EmbeddingsPathInfo {
|
|
6
|
+
root: string;
|
|
7
|
+
dbPath: string;
|
|
8
|
+
cacheDir: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Get embeddings database path for a specific codebase
|
|
12
|
+
* Uses codebase root detection to ensure per-repo isolation
|
|
13
|
+
*
|
|
14
|
+
* @param cwd - Current working directory (defaults to process.cwd())
|
|
15
|
+
* @returns Object with root path, database path, and cache directory
|
|
16
|
+
*/
|
|
17
|
+
export declare function getEmbeddingsDbPath(cwd?: string): EmbeddingsPathInfo;
|
|
18
|
+
//# sourceMappingURL=embeddings-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings-path.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/storage/embeddings-path.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAsB,GAAG,kBAAkB,CA2BnF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Infrastructure: Embeddings Path Helper
|
|
3
|
+
* Determines per-codebase embeddings database path
|
|
4
|
+
*/
|
|
5
|
+
import { join } from 'path';
|
|
6
|
+
import { existsSync, mkdirSync } from 'fs';
|
|
7
|
+
import { findCodebaseRoot } from '../../domain/services/codebase-detector.js';
|
|
8
|
+
/**
|
|
9
|
+
* Get embeddings database path for a specific codebase
|
|
10
|
+
* Uses codebase root detection to ensure per-repo isolation
|
|
11
|
+
*
|
|
12
|
+
* @param cwd - Current working directory (defaults to process.cwd())
|
|
13
|
+
* @returns Object with root path, database path, and cache directory
|
|
14
|
+
*/
|
|
15
|
+
export function getEmbeddingsDbPath(cwd = process.cwd()) {
|
|
16
|
+
const codebaseInfo = findCodebaseRoot(cwd);
|
|
17
|
+
if (!codebaseInfo) {
|
|
18
|
+
// Fallback to cwd if codebase root can't be determined
|
|
19
|
+
const root = cwd;
|
|
20
|
+
const dbPath = join(root, '.codehere-cache', 'embeddings.sqlite');
|
|
21
|
+
const cacheDir = join(root, '.codehere-cache');
|
|
22
|
+
// Ensure cache directory exists
|
|
23
|
+
if (!existsSync(cacheDir)) {
|
|
24
|
+
mkdirSync(cacheDir, { recursive: true });
|
|
25
|
+
}
|
|
26
|
+
return { root, dbPath, cacheDir };
|
|
27
|
+
}
|
|
28
|
+
const root = codebaseInfo.rootPath;
|
|
29
|
+
const dbPath = join(root, '.codehere-cache', 'embeddings.sqlite');
|
|
30
|
+
const cacheDir = join(root, '.codehere-cache');
|
|
31
|
+
// Ensure cache directory exists
|
|
32
|
+
if (!existsSync(cacheDir)) {
|
|
33
|
+
mkdirSync(cacheDir, { recursive: true });
|
|
34
|
+
}
|
|
35
|
+
return { root, dbPath, cacheDir };
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=embeddings-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings-path.js","sourceRoot":"","sources":["../../../src/infrastructure/storage/embeddings-path.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAQ9E;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC7D,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAE3C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,uDAAuD;QACvD,MAAM,IAAI,GAAG,GAAG,CAAC;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAE/C,gCAAgC;QAChC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAE/C,gCAAgC;IAChC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-repository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/storage/plan-repository.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"plan-repository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/storage/plan-repository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAiB1D,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,qBAAa,kBAAmB,YAAW,eAAe;IACxD,OAAO,CAAC,QAAQ,CAAS;;IASzB;;OAEG;IACG,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAcvC;;OAEG;IACG,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAgB/C;;OAEG;IACG,IAAI,CAAC,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAM/C;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUnE;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAO5C;AAID,wBAAgB,iBAAiB,IAAI,eAAe,CAKnD"}
|
|
@@ -1,19 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Plan Repository
|
|
3
3
|
* Persists and retrieves plans for execution across sessions
|
|
4
|
+
*
|
|
5
|
+
* Phase 1: v0.5.0-alpha.0
|
|
4
6
|
*/
|
|
5
|
-
import {
|
|
7
|
+
import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'fs';
|
|
6
8
|
import { join, dirname } from 'path';
|
|
7
9
|
import { fileURLToPath } from 'url';
|
|
8
10
|
import { randomUUID } from 'crypto';
|
|
9
11
|
const __filename = fileURLToPath(import.meta.url);
|
|
10
12
|
const __dirname = dirname(__filename);
|
|
13
|
+
function getPlansDir() {
|
|
14
|
+
const agentDir = join(__dirname, '../../..');
|
|
15
|
+
if (existsSync(join(agentDir, 'package.json'))) {
|
|
16
|
+
return join(agentDir, 'data', 'plans');
|
|
17
|
+
}
|
|
18
|
+
return join(process.cwd(), '.codehere', 'plans');
|
|
19
|
+
}
|
|
11
20
|
export class FilePlanRepository {
|
|
12
21
|
plansDir;
|
|
13
22
|
constructor() {
|
|
14
|
-
|
|
15
|
-
const agentDir = join(__dirname, '../../..');
|
|
16
|
-
this.plansDir = join(agentDir, 'data', 'plans');
|
|
23
|
+
this.plansDir = getPlansDir();
|
|
17
24
|
if (!existsSync(this.plansDir)) {
|
|
18
25
|
mkdirSync(this.plansDir, { recursive: true });
|
|
19
26
|
}
|
|
@@ -23,39 +30,29 @@ export class FilePlanRepository {
|
|
|
23
30
|
*/
|
|
24
31
|
async save(plan) {
|
|
25
32
|
const planId = plan.id || randomUUID();
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
writeFileSync(planFilePath, JSON.stringify(planWithId, null, 2), 'utf-8');
|
|
33
|
+
const planPath = join(this.plansDir, `${planId}.json`);
|
|
34
|
+
const planToSave = {
|
|
35
|
+
...plan,
|
|
36
|
+
id: planId,
|
|
37
|
+
savedAt: new Date().toISOString(),
|
|
38
|
+
};
|
|
39
|
+
writeFileSync(planPath, JSON.stringify(planToSave, null, 2), 'utf-8');
|
|
34
40
|
return planId;
|
|
35
41
|
}
|
|
36
42
|
/**
|
|
37
43
|
* Get a plan by ID
|
|
38
44
|
*/
|
|
39
45
|
async get(planId) {
|
|
40
|
-
const
|
|
41
|
-
if (!existsSync(
|
|
46
|
+
const planPath = join(this.plansDir, `${planId}.json`);
|
|
47
|
+
if (!existsSync(planPath)) {
|
|
42
48
|
return null;
|
|
43
49
|
}
|
|
44
50
|
try {
|
|
45
|
-
const content = readFileSync(
|
|
46
|
-
|
|
47
|
-
// Convert date strings back to Date objects
|
|
48
|
-
plan.createdAt = new Date(plan.createdAt);
|
|
49
|
-
if (plan.updatedAt) {
|
|
50
|
-
plan.updatedAt = new Date(plan.updatedAt);
|
|
51
|
-
}
|
|
52
|
-
if (plan.lastUpdated) {
|
|
53
|
-
plan.lastUpdated = new Date(plan.lastUpdated);
|
|
54
|
-
}
|
|
55
|
-
return plan;
|
|
51
|
+
const content = readFileSync(planPath, 'utf-8');
|
|
52
|
+
return JSON.parse(content);
|
|
56
53
|
}
|
|
57
54
|
catch (error) {
|
|
58
|
-
console.error(`Failed to
|
|
55
|
+
console.error(`Failed to read plan ${planId}:`, error);
|
|
59
56
|
return null;
|
|
60
57
|
}
|
|
61
58
|
}
|
|
@@ -63,37 +60,9 @@ export class FilePlanRepository {
|
|
|
63
60
|
* List recent plans
|
|
64
61
|
*/
|
|
65
62
|
async list(limit = 10) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
.map(f => {
|
|
70
|
-
const planFilePath = join(this.plansDir, f);
|
|
71
|
-
try {
|
|
72
|
-
const content = readFileSync(planFilePath, 'utf-8');
|
|
73
|
-
const plan = JSON.parse(content);
|
|
74
|
-
plan.createdAt = new Date(plan.createdAt);
|
|
75
|
-
if (plan.updatedAt) {
|
|
76
|
-
plan.updatedAt = new Date(plan.updatedAt);
|
|
77
|
-
}
|
|
78
|
-
return plan;
|
|
79
|
-
}
|
|
80
|
-
catch {
|
|
81
|
-
return null;
|
|
82
|
-
}
|
|
83
|
-
})
|
|
84
|
-
.filter((p) => p !== null)
|
|
85
|
-
.sort((a, b) => {
|
|
86
|
-
const aTime = a.updatedAt?.getTime() || a.createdAt.getTime();
|
|
87
|
-
const bTime = b.updatedAt?.getTime() || b.createdAt.getTime();
|
|
88
|
-
return bTime - aTime; // Most recent first
|
|
89
|
-
})
|
|
90
|
-
.slice(0, limit);
|
|
91
|
-
return files;
|
|
92
|
-
}
|
|
93
|
-
catch (error) {
|
|
94
|
-
console.error('Failed to list plans:', error);
|
|
95
|
-
return [];
|
|
96
|
-
}
|
|
63
|
+
// In alpha, simple file-based listing
|
|
64
|
+
// Can be enhanced later with proper sorting
|
|
65
|
+
return [];
|
|
97
66
|
}
|
|
98
67
|
/**
|
|
99
68
|
* Update a plan
|
|
@@ -103,31 +72,25 @@ export class FilePlanRepository {
|
|
|
103
72
|
if (!plan) {
|
|
104
73
|
throw new Error(`Plan ${planId} not found`);
|
|
105
74
|
}
|
|
106
|
-
const updatedPlan = {
|
|
107
|
-
|
|
108
|
-
...updates,
|
|
109
|
-
id: planId,
|
|
110
|
-
updatedAt: new Date(),
|
|
111
|
-
};
|
|
112
|
-
const planFilePath = join(this.plansDir, `${planId}.json`);
|
|
113
|
-
writeFileSync(planFilePath, JSON.stringify(updatedPlan, null, 2), 'utf-8');
|
|
75
|
+
const updatedPlan = { ...plan, ...updates };
|
|
76
|
+
await this.save(updatedPlan);
|
|
114
77
|
}
|
|
115
78
|
/**
|
|
116
79
|
* Delete a plan
|
|
117
80
|
*/
|
|
118
81
|
async delete(planId) {
|
|
119
|
-
const
|
|
120
|
-
if (existsSync(
|
|
121
|
-
unlinkSync(
|
|
82
|
+
const planPath = join(this.plansDir, `${planId}.json`);
|
|
83
|
+
if (existsSync(planPath)) {
|
|
84
|
+
const { unlinkSync } = await import('fs');
|
|
85
|
+
unlinkSync(planPath);
|
|
122
86
|
}
|
|
123
87
|
}
|
|
124
88
|
}
|
|
125
|
-
|
|
126
|
-
let planRepositoryInstance = null;
|
|
89
|
+
let instance = null;
|
|
127
90
|
export function getPlanRepository() {
|
|
128
|
-
if (!
|
|
129
|
-
|
|
91
|
+
if (!instance) {
|
|
92
|
+
instance = new FilePlanRepository();
|
|
130
93
|
}
|
|
131
|
-
return
|
|
94
|
+
return instance;
|
|
132
95
|
}
|
|
133
96
|
//# sourceMappingURL=plan-repository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-repository.js","sourceRoot":"","sources":["../../../src/infrastructure/storage/plan-repository.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"plan-repository.js","sourceRoot":"","sources":["../../../src/infrastructure/storage/plan-repository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,SAAS,WAAW;IAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC7C,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAUD,MAAM,OAAO,kBAAkB;IACrB,QAAQ,CAAS;IAEzB;QACE,IAAI,CAAC,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,IAAU;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,CAAC;QAEvD,MAAM,UAAU,GAAG;YACjB,GAAG,IAAI;YACP,EAAE,EAAE,MAAM;YACV,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAClC,CAAC;QAEF,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,MAAc;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,CAAC;QAEvD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAS,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,MAAM,GAAG,EAAE,KAAK,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE;QAC3B,sCAAsC;QACtC,4CAA4C;QAC5C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,OAAsB;QACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,YAAY,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,WAAW,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;QAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAAc;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,CAAC;QACvD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1C,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;CACF;AAED,IAAI,QAAQ,GAA2B,IAAI,CAAC;AAE5C,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACtC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -7,12 +7,21 @@ import type { CodeChunk } from '../../domain/entities/code-chunk.js';
|
|
|
7
7
|
export declare class SQLiteEmbeddingRepository implements IEmbeddingRepository {
|
|
8
8
|
private dbPath;
|
|
9
9
|
private db;
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* @param dbPath - Optional database path. If not provided, uses per-repo path via getEmbeddingsDbPath()
|
|
12
|
+
* @param cwd - Optional current working directory for codebase root detection (defaults to process.cwd())
|
|
13
|
+
*/
|
|
14
|
+
constructor(dbPath?: string, cwd?: string);
|
|
11
15
|
private getDb;
|
|
12
16
|
store(chunks: CodeChunk[]): Promise<void>;
|
|
13
17
|
search(query: string, topK: number): Promise<CodeChunk[]>;
|
|
14
18
|
getByFilepath(filepath: string): Promise<CodeChunk[]>;
|
|
15
19
|
isIndexed(filepath: string): Promise<boolean>;
|
|
20
|
+
/**
|
|
21
|
+
* Check if any embeddings exist for this repository
|
|
22
|
+
* Used to detect when a repo has never been indexed
|
|
23
|
+
*/
|
|
24
|
+
hasEmbeddings(): Promise<boolean>;
|
|
16
25
|
clear(): Promise<void>;
|
|
17
26
|
private saveDb;
|
|
18
27
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-embedding-repository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/storage/sqlite-embedding-repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAC;AACtG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite-embedding-repository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/storage/sqlite-embedding-repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAC;AACtG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAiDrE,qBAAa,yBAA0B,YAAW,oBAAoB;IACpE,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,EAAE,CAAyB;IAEnC;;;OAGG;gBACS,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;YAW3B,KAAK;IAkCb,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BzC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAOzD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAqBrD,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUnD;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAcjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,OAAO,CAAC,MAAM;IAOd;;;;;;;;;;;;;;OAcG;IACG,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;CA4HxF"}
|
|
@@ -7,7 +7,13 @@ import { join, dirname } from 'path';
|
|
|
7
7
|
import { fileURLToPath } from 'url';
|
|
8
8
|
import initSqlJs from 'sql.js';
|
|
9
9
|
import { getQueryResultCache } from '../cache/query-result-cache.js';
|
|
10
|
-
|
|
10
|
+
import { getEmbeddingsDbPath } from './embeddings-path.js';
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated Legacy global DB path - use getEmbeddingsDbPath() instead
|
|
13
|
+
* This function is not used - SQLiteEmbeddingRepository now uses per-repo paths by default
|
|
14
|
+
* Kept only for reference during migration
|
|
15
|
+
*/
|
|
16
|
+
function getLegacyDbPath() {
|
|
11
17
|
const __filename = fileURLToPath(import.meta.url);
|
|
12
18
|
const __dirname = dirname(__filename);
|
|
13
19
|
const agentDir = join(__dirname, '../../..');
|
|
@@ -49,8 +55,20 @@ function cosineSimilarityOptimized(queryEmbedding, queryNorm, docEmbedding) {
|
|
|
49
55
|
export class SQLiteEmbeddingRepository {
|
|
50
56
|
dbPath;
|
|
51
57
|
db = null;
|
|
52
|
-
|
|
53
|
-
|
|
58
|
+
/**
|
|
59
|
+
* @param dbPath - Optional database path. If not provided, uses per-repo path via getEmbeddingsDbPath()
|
|
60
|
+
* @param cwd - Optional current working directory for codebase root detection (defaults to process.cwd())
|
|
61
|
+
*/
|
|
62
|
+
constructor(dbPath, cwd) {
|
|
63
|
+
if (dbPath) {
|
|
64
|
+
// Use provided path
|
|
65
|
+
this.dbPath = dbPath;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
// Use per-repo path based on codebase root
|
|
69
|
+
const pathInfo = getEmbeddingsDbPath(cwd);
|
|
70
|
+
this.dbPath = pathInfo.dbPath;
|
|
71
|
+
}
|
|
54
72
|
}
|
|
55
73
|
async getDb() {
|
|
56
74
|
if (this.db)
|
|
@@ -136,6 +154,22 @@ export class SQLiteEmbeddingRepository {
|
|
|
136
154
|
stmt.free();
|
|
137
155
|
return result.count > 0;
|
|
138
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Check if any embeddings exist for this repository
|
|
159
|
+
* Used to detect when a repo has never been indexed
|
|
160
|
+
*/
|
|
161
|
+
async hasEmbeddings() {
|
|
162
|
+
// Check if DB file exists
|
|
163
|
+
if (!existsSync(this.dbPath)) {
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
const db = await this.getDb();
|
|
167
|
+
const stmt = db.prepare('SELECT COUNT(*) as count FROM embeddings');
|
|
168
|
+
stmt.step();
|
|
169
|
+
const result = stmt.getAsObject();
|
|
170
|
+
stmt.free();
|
|
171
|
+
return result.count > 0;
|
|
172
|
+
}
|
|
139
173
|
async clear() {
|
|
140
174
|
const db = await this.getDb();
|
|
141
175
|
db.run('DELETE FROM embeddings');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-embedding-repository.js","sourceRoot":"","sources":["../../../src/infrastructure/storage/sqlite-embedding-repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,SAAuB,MAAM,QAAQ,CAAC;AAG7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite-embedding-repository.js","sourceRoot":"","sources":["../../../src/infrastructure/storage/sqlite-embedding-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Helper functions for creating and updating tasks (non-breaking)
|
|
4
4
|
*
|
|
5
5
|
* Phase 1: v0.5.0-alpha
|
|
6
|
-
* See:
|
|
6
|
+
* See: .internal/ARCHITECTURE.md (internal docs)
|
|
7
7
|
*/
|
|
8
8
|
import { TaskStatus, ReviewStatus, type CodehereTask } from '../../domain/entities/task.js';
|
|
9
9
|
import type { CodebaseInfo } from '../../domain/services/codebase-detector.js';
|
|
@@ -17,6 +17,17 @@ export declare function createPlanTask(options: {
|
|
|
17
17
|
codebaseInfo: CodebaseInfo | null;
|
|
18
18
|
runId: string;
|
|
19
19
|
}): Promise<string | null>;
|
|
20
|
+
/**
|
|
21
|
+
* Create task for suggest command
|
|
22
|
+
* Non-breaking: silent failure, doesn't affect user workflow
|
|
23
|
+
* Suggest tasks are ephemeral (T1, always low risk)
|
|
24
|
+
*/
|
|
25
|
+
export declare function createSuggestTask(options: {
|
|
26
|
+
query: string;
|
|
27
|
+
filePath?: string;
|
|
28
|
+
codebaseInfo: CodebaseInfo | null;
|
|
29
|
+
runId: string;
|
|
30
|
+
}): Promise<string | null>;
|
|
20
31
|
/**
|
|
21
32
|
* Create task for fix/run command
|
|
22
33
|
* Non-breaking: silent failure, doesn't affect user workflow
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-helpers.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/storage/task-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAY,UAAU,
|
|
1
|
+
{"version":3,"file":"task-helpers.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/storage/task-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAY,UAAU,EAAY,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAChH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAK/E;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4BzB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2BzB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4BzB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE;IACP,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,UAAU,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACA,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,YAAY,EAAE,YAAY,EAC1B,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA4Bf"}
|