codehere 0.2.2 → 0.3.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/README.md +88 -68
  2. package/dist/domain/entities/task.js +4 -4
  3. package/dist/error-handler.js +4 -9
  4. package/dist/index.js +253 -1219
  5. package/dist/infrastructure/config/product-context.js +7 -6
  6. package/dist/infrastructure/hooks/claude-sdk-hook.js +348 -72
  7. package/dist/infrastructure/observability/execution-tracer.js +11 -6
  8. package/dist/infrastructure/orchestration/agent-adapter.js +13 -0
  9. package/dist/infrastructure/orchestration/agent-installer.js +101 -0
  10. package/dist/infrastructure/orchestration/agents-config-seed.js +56 -0
  11. package/dist/infrastructure/orchestration/aider-adapter.js +319 -0
  12. package/dist/infrastructure/orchestration/artifacts-extractor.js +175 -0
  13. package/dist/infrastructure/orchestration/claude-code-adapter.js +352 -0
  14. package/dist/infrastructure/orchestration/codex-adapter.js +310 -0
  15. package/dist/infrastructure/orchestration/generic-cli-adapter.js +553 -0
  16. package/dist/infrastructure/orchestration/opencode-adapter.js +275 -0
  17. package/dist/infrastructure/orchestration/progress-aggregator.js +189 -0
  18. package/dist/infrastructure/orchestration/readiness.js +106 -0
  19. package/dist/infrastructure/orchestration/session-manager.js +272 -0
  20. package/dist/infrastructure/orchestration/session-persistence.js +109 -0
  21. package/dist/infrastructure/protocols/mcp-helpers.js +10 -30
  22. package/dist/infrastructure/protocols/mcp-server-impl.js +359 -21
  23. package/dist/infrastructure/protocols/ui-page.js +1827 -0
  24. package/dist/infrastructure/security/file-collection.js +115 -0
  25. package/dist/infrastructure/security/trust-scorer.js +301 -56
  26. package/dist/infrastructure/storage/task-repository.js +8 -7
  27. package/dist/monitoring.js +9 -38
  28. package/dist/presentation/cli/commands/help-command.js +96 -139
  29. package/dist/presentation/cli/commands/hook-command.js +17 -24
  30. package/dist/presentation/cli/commands/report-command.js +59 -72
  31. package/dist/presentation/cli/commands/setup-command.js +4 -4
  32. package/dist/presentation/cli/commands/status-command.js +321 -30
  33. package/dist/presentation/cli/commands/trust-command.js +84 -72
  34. package/dist/presentation/cli/error-display.js +17 -21
  35. package/dist/ui.js +11 -11
  36. package/package.json +24 -62
  37. package/dist/agents/base.js +0 -101
  38. package/dist/agents/orchestrator-model-driven.js +0 -141
  39. package/dist/agents/react-orchestrator-agent.js +0 -54
  40. package/dist/application/agents/execution-agent.js +0 -508
  41. package/dist/application/agents/multi-agent-orchestrator.js +0 -295
  42. package/dist/application/agents/planning-agent.js +0 -433
  43. package/dist/application/agents/validation-agent.js +0 -317
  44. package/dist/application/architectures/plan-and-act.js +0 -242
  45. package/dist/application/index.js +0 -12
  46. package/dist/application/services/agent-factory.js +0 -28
  47. package/dist/application/services/dependency-container.js +0 -596
  48. package/dist/application/services/git-context-service.js +0 -83
  49. package/dist/application/services/intelligent-router.js +0 -934
  50. package/dist/application/services/tool-executor-service.js +0 -94
  51. package/dist/application/use-cases/ask-question-use-case.js +0 -338
  52. package/dist/application/use-cases/edit-file-use-case.js +0 -830
  53. package/dist/application/use-cases/explain-file-use-case.js +0 -50
  54. package/dist/application/use-cases/index-codebase-use-case.js +0 -113
  55. package/dist/application/use-cases/planning-use-case.js +0 -276
  56. package/dist/application/use-cases/react-orchestration-use-case.js +0 -329
  57. package/dist/application/use-cases/reflexion-use-case.js +0 -30
  58. package/dist/application/workflows/deterministic-workflows.js +0 -189
  59. package/dist/ast-parser.js +0 -331
  60. package/dist/cache.js +0 -180
  61. package/dist/chat.js +0 -251
  62. package/dist/code-analysis.js +0 -327
  63. package/dist/context.js +0 -187
  64. package/dist/docs.js +0 -146
  65. package/dist/domain/entities/code-chunk.js +0 -6
  66. package/dist/domain/entities/decision.js +0 -9
  67. package/dist/domain/entities/edit.js +0 -6
  68. package/dist/domain/entities/knowledge-node.js +0 -9
  69. package/dist/domain/entities/knowledge-preservation.js +0 -10
  70. package/dist/domain/entities/memory.js +0 -6
  71. package/dist/domain/entities/pattern.js +0 -7
  72. package/dist/domain/entities/plan.js +0 -6
  73. package/dist/domain/entities/query.js +0 -6
  74. package/dist/domain/errors/embeddings-not-found-error.js +0 -13
  75. package/dist/domain/index.js +0 -19
  76. package/dist/domain/interfaces/ai-service.interface.js +0 -6
  77. package/dist/domain/interfaces/code-analyzer.interface.js +0 -6
  78. package/dist/domain/interfaces/decision-repository.interface.js +0 -9
  79. package/dist/domain/interfaces/embedding-repository.interface.js +0 -6
  80. package/dist/domain/interfaces/knowledge-graph-repository.interface.js +0 -9
  81. package/dist/domain/interfaces/knowledge-preservation-repository.interface.js +0 -8
  82. package/dist/domain/interfaces/memory-repository.interface.js +0 -6
  83. package/dist/domain/interfaces/pattern-repository.interface.js +0 -6
  84. package/dist/domain/interfaces/verification-service.interface.js +0 -6
  85. package/dist/domain/services/cross-team-pattern-sharing.js +0 -125
  86. package/dist/domain/services/decision-recorder.js +0 -223
  87. package/dist/domain/services/decision-retriever.js +0 -133
  88. package/dist/domain/services/environment-mode-manager.js +0 -22
  89. package/dist/domain/services/graded-memory-activation.js +0 -69
  90. package/dist/domain/services/knowledge-access.js +0 -132
  91. package/dist/domain/services/knowledge-extractor.js +0 -247
  92. package/dist/domain/services/knowledge-graph-builder.js +0 -268
  93. package/dist/domain/services/knowledge-graph-query.js +0 -187
  94. package/dist/domain/services/memory-retriever.js +0 -82
  95. package/dist/domain/services/memory-synthesizer.js +0 -91
  96. package/dist/domain/services/pattern-extractor.js +0 -442
  97. package/dist/domain/services/query-intent-classifier.js +0 -140
  98. package/dist/domain/services/react-loop.js +0 -186
  99. package/dist/domain/services/risk-tier-detector.js +0 -78
  100. package/dist/edit.js +0 -319
  101. package/dist/embed.js +0 -459
  102. package/dist/formatter.js +0 -168
  103. package/dist/git.js +0 -198
  104. package/dist/infrastructure/ai/cohere-ai-service.js +0 -607
  105. package/dist/infrastructure/ai/command-r-evaluation.js +0 -206
  106. package/dist/infrastructure/ai/model-config.js +0 -84
  107. package/dist/infrastructure/ai/provider-ai-service.js +0 -477
  108. package/dist/infrastructure/cache/embedding-cache.js +0 -175
  109. package/dist/infrastructure/cache/query-result-cache.js +0 -66
  110. package/dist/infrastructure/cache/response-cache.js +0 -48
  111. package/dist/infrastructure/cache/security-scan-cache.js +0 -47
  112. package/dist/infrastructure/chunking/ast-code-chunker.js +0 -19
  113. package/dist/infrastructure/chunking/code-aware-chunker.js +0 -397
  114. package/dist/infrastructure/context/context-compressor.js +0 -329
  115. package/dist/infrastructure/context/conversation-context.js +0 -128
  116. package/dist/infrastructure/context/session-manager.js +0 -94
  117. package/dist/infrastructure/cost/cost-tracker.js +0 -360
  118. package/dist/infrastructure/file-scanner/file-scanner.js +0 -106
  119. package/dist/infrastructure/governance/nist-ai-rmf.js +0 -292
  120. package/dist/infrastructure/governance/policy-as-code.js +0 -258
  121. package/dist/infrastructure/governance/prompt-to-code-lineage.js +0 -239
  122. package/dist/infrastructure/index.js +0 -7
  123. package/dist/infrastructure/observability/prompt-versioner.js +0 -145
  124. package/dist/infrastructure/protocols/a2a-metadata.js +0 -137
  125. package/dist/infrastructure/protocols/a2a-protocol.js +0 -314
  126. package/dist/infrastructure/protocols/mcp-oauth.js +0 -184
  127. package/dist/infrastructure/protocols/mcp-server.js +0 -333
  128. package/dist/infrastructure/protocols/streaming-handler.js +0 -103
  129. package/dist/infrastructure/providers/cohere-provider.js +0 -444
  130. package/dist/infrastructure/providers/fake-provider.js +0 -130
  131. package/dist/infrastructure/providers/local-llm-provider.js +0 -330
  132. package/dist/infrastructure/providers/model-config.types.js +0 -9
  133. package/dist/infrastructure/providers/model-provider.interface.js +0 -8
  134. package/dist/infrastructure/providers/openai-provider.js +0 -413
  135. package/dist/infrastructure/providers/openrouter-provider.js +0 -399
  136. package/dist/infrastructure/providers/operation-provider-resolver.js +0 -105
  137. package/dist/infrastructure/providers/provider-config-loader.js +0 -120
  138. package/dist/infrastructure/providers/provider-registry.js +0 -88
  139. package/dist/infrastructure/safety/pattern-detector.js +0 -133
  140. package/dist/infrastructure/security/ai-sast-scanner.js +0 -290
  141. package/dist/infrastructure/security/docker-sandbox.js +0 -178
  142. package/dist/infrastructure/security/enhanced-security-gate.js +0 -151
  143. package/dist/infrastructure/security/license-scanner.js +0 -167
  144. package/dist/infrastructure/security/provider-bias-detector.js +0 -164
  145. package/dist/infrastructure/security/sandbox-executor.js +0 -64
  146. package/dist/infrastructure/serialization/toon-serializer.js +0 -119
  147. package/dist/infrastructure/storage/memory-stream-service.js +0 -204
  148. package/dist/infrastructure/storage/plan-repository.js +0 -96
  149. package/dist/infrastructure/storage/sqlite-decision-repository.js +0 -232
  150. package/dist/infrastructure/storage/sqlite-embedding-repository.js +0 -311
  151. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js +0 -417
  152. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js +0 -230
  153. package/dist/infrastructure/storage/sqlite-memory-repository.js +0 -229
  154. package/dist/infrastructure/storage/sqlite-pattern-repository.js +0 -249
  155. package/dist/infrastructure/storage/task-helpers.js +0 -197
  156. package/dist/infrastructure/telemetry/telemetry-service.js +0 -167
  157. package/dist/infrastructure/ux/appropriate-friction.js +0 -213
  158. package/dist/infrastructure/ux/bi-directional-learning.js +0 -337
  159. package/dist/infrastructure/ux/capability-boundaries.js +0 -42
  160. package/dist/infrastructure/ux/comprehensive-formatter.js +0 -117
  161. package/dist/infrastructure/ux/contextual-feature-discovery.js +0 -10
  162. package/dist/infrastructure/ux/expectation-management.js +0 -327
  163. package/dist/infrastructure/ux/feature-discovery.js +0 -14
  164. package/dist/infrastructure/ux/feedback-prompt.js +0 -45
  165. package/dist/infrastructure/ux/hitl-validation.js +0 -297
  166. package/dist/infrastructure/ux/progress-indicator.js +0 -116
  167. package/dist/infrastructure/ux/progressive-disclosure.js +0 -236
  168. package/dist/infrastructure/ux/review-checkpoint.js +0 -72
  169. package/dist/infrastructure/ux/staged-feature-intro.js +0 -24
  170. package/dist/infrastructure/ux/stream-markdown.js +0 -151
  171. package/dist/infrastructure/ux/syntax-highlighter.js +0 -91
  172. package/dist/infrastructure/ux/team-standards.js +0 -196
  173. package/dist/infrastructure/ux/transparency.js +0 -71
  174. package/dist/infrastructure/validation/agent-feedback.js +0 -55
  175. package/dist/infrastructure/validation/agent-validation-helper.js +0 -137
  176. package/dist/infrastructure/validation/review-handler.js +0 -40
  177. package/dist/infrastructure/validation/summary-aggregator.js +0 -70
  178. package/dist/infrastructure/validation/summary-extractor.js +0 -45
  179. package/dist/infrastructure/validation/trace-summary.js +0 -52
  180. package/dist/infrastructure/verification/verification-service.js +0 -47
  181. package/dist/infrastructure/xai/attention-visualizer.js +0 -172
  182. package/dist/infrastructure/xai/cot-visualizer.js +0 -283
  183. package/dist/infrastructure/xai/decision-tree-log.js +0 -212
  184. package/dist/infrastructure/xai/interactive-xai.js +0 -260
  185. package/dist/infrastructure/xai/uncertainty-quantifier.js +0 -198
  186. package/dist/intelligent-retrieval.js +0 -272
  187. package/dist/intent/classifier.js +0 -2
  188. package/dist/intent/context.js +0 -2
  189. package/dist/iterative-refinement.js +0 -189
  190. package/dist/learning.js +0 -232
  191. package/dist/log.js +0 -31
  192. package/dist/migrate.js +0 -133
  193. package/dist/parallel-processor.js +0 -534
  194. package/dist/planner.js +0 -198
  195. package/dist/policy.js +0 -26
  196. package/dist/presentation/cli/commands/ask-command.js +0 -314
  197. package/dist/presentation/cli/commands/cost-command.js +0 -191
  198. package/dist/presentation/cli/commands/decision-command.js +0 -207
  199. package/dist/presentation/cli/commands/docs-command.js +0 -25
  200. package/dist/presentation/cli/commands/fix-command.js +0 -53
  201. package/dist/presentation/cli/commands/knowledge-command.js +0 -129
  202. package/dist/presentation/cli/commands/learning-dashboard-command.js +0 -183
  203. package/dist/presentation/cli/commands/models-command.js +0 -194
  204. package/dist/presentation/cli/commands/orchestrate-command.js +0 -207
  205. package/dist/presentation/cli/commands/plan-command.js +0 -246
  206. package/dist/presentation/cli/commands/product-command.js +0 -199
  207. package/dist/presentation/cli/commands/react-command.js +0 -181
  208. package/dist/presentation/cli/commands/review-command.js +0 -154
  209. package/dist/presentation/cli/commands/run-command.js +0 -188
  210. package/dist/presentation/cli/commands/smart-command.js +0 -395
  211. package/dist/presentation/cli/commands/suggest-command.js +0 -138
  212. package/dist/presentation/cli/commands/trace-command.js +0 -129
  213. package/dist/presentation/cli/commands/undo-command.js +0 -150
  214. package/dist/query-optimizer.js +0 -205
  215. package/dist/refactor.js +0 -116
  216. package/dist/review.js +0 -206
  217. package/dist/search.js +0 -163
  218. package/dist/session.js +0 -704
  219. package/dist/task-verification.js +0 -336
  220. package/dist/testgen.js +0 -166
  221. package/dist/token-optimizer.js +0 -277
  222. package/dist/tools/bash.js +0 -213
  223. package/dist/tools/edit.js +0 -235
  224. package/dist/tools/executor.js +0 -153
  225. package/dist/tools/git-tool.js +0 -292
  226. package/dist/tools/parser.js +0 -158
  227. package/dist/tools/registry.js +0 -302
  228. package/dist/tools/search.js +0 -100
  229. package/dist/types.js +0 -2
  230. package/dist/utils/check-api-status.js +0 -100
  231. package/dist/utils/diff-parser.js +0 -162
  232. package/dist/verification/backup.js +0 -259
  233. package/dist/verification/compiler.js +0 -264
  234. package/dist/verification/index.js +0 -273
  235. package/dist/verification/test-runner.js +0 -379
@@ -1,141 +0,0 @@
1
- /**
2
- * Model-Driven Orchestrator
3
- * Uses minimal prompts to let model make routing decisions
4
- * Following Claude Code approach: minimal prompts, model-driven decisions
5
- */
6
- import { BaseAgent } from './base.js';
7
- import { chatWithContext } from '../chat.js';
8
- import { getToolRegistry } from '../tools/registry.js';
9
- import { ToolExecutor } from '../tools/executor.js';
10
- import { parseToolCalls } from '../tools/parser.js';
11
- export class ModelDrivenOrchestratorAgent extends BaseAgent {
12
- name = 'orchestrator';
13
- description = 'Model-driven orchestrator that lets AI choose agents and tools';
14
- capabilities = ['routing', 'model-driven-decisions', 'tool-execution'];
15
- canCall = [];
16
- registry;
17
- toolExecutor;
18
- constructor(registry) {
19
- super();
20
- this.registry = registry;
21
- this.agentRegistry = registry;
22
- this.toolExecutor = new ToolExecutor();
23
- }
24
- /**
25
- * Handle query - let model choose the agent or tool
26
- */
27
- async handle(request) {
28
- // Get list of available agents
29
- const availableAgents = this.getAvailableAgents();
30
- // Get list of available tools
31
- const toolRegistry = getToolRegistry();
32
- const availableTools = toolRegistry.getAll();
33
- // Let model choose agent or tool
34
- const prompt = this.buildPrompt(request.query, availableAgents, availableTools);
35
- try {
36
- const response = await this.getLLMResponse(prompt);
37
- // 1. Check for tool calls first
38
- const toolCalls = parseToolCalls(response);
39
- if (toolCalls.length > 0) {
40
- console.log(`🛠️ Orchestrator: Executing ${toolCalls.length} tool call(s)`);
41
- const results = await this.toolExecutor.executeAll(toolCalls);
42
- // Check if any tool failed
43
- const failures = results.filter(r => !r.success);
44
- if (failures.length > 0) {
45
- return {
46
- success: false,
47
- error: `Tool execution failed: ${failures.map(f => f.error).join(', ')}`,
48
- message: `I tried to execute some tools but encountered errors:\n${failures.map(f => `- ${f.tool}: ${f.error}`).join('\n')}`,
49
- };
50
- }
51
- // Format tool results
52
- const output = results.map(r => `Tool '${r.tool}' executed successfully:\n${JSON.stringify(r.result, null, 2)}`).join('\n\n');
53
- return {
54
- success: true,
55
- message: output,
56
- metadata: { toolResults: results }
57
- };
58
- }
59
- // 2. If no tools, check for agent selection
60
- const selectedAgentName = response.trim().split('\n')[0].toLowerCase(); // Simple heuristic
61
- const selectedAgent = this.registry.get(selectedAgentName);
62
- if (selectedAgent) {
63
- console.log(`🤖 Orchestrator: Routing to ${selectedAgentName}`);
64
- return await selectedAgent.handle(request);
65
- }
66
- // 3. Fallback: Treat response as direct answer
67
- return {
68
- success: true,
69
- message: response
70
- };
71
- }
72
- catch (err) {
73
- return {
74
- success: false,
75
- error: err instanceof Error ? err.message : String(err),
76
- message: await this.generateError(request.query, err instanceof Error ? err.message : String(err)),
77
- suggestions: await this.generateSuggestions(request.query),
78
- };
79
- }
80
- }
81
- /**
82
- * Get LLM response (can be overridden for testing)
83
- */
84
- async getLLMResponse(prompt) {
85
- return chatWithContext(prompt, []);
86
- }
87
- /**
88
- * Build prompt for model
89
- */
90
- buildPrompt(query, agents, tools) {
91
- const agentList = agents.map(a => `- ${a.name}: ${a.description}`).join('\n');
92
- const toolList = tools.map(t => `- ${t.name}: ${t.modelDescription}`).join('\n');
93
- return `Query: "${query}"
94
-
95
- Available Agents:
96
- ${agentList}
97
-
98
- Available Tools:
99
- ${toolList}
100
-
101
- INSTRUCTIONS:
102
- 1. If a specific agent is best suited, respond with JUST the agent name.
103
- 2. If a tool can solve this directly (e.g. running a command, editing a file), use the tool.
104
- 3. If you can answer directly, provide the answer.
105
-
106
- What should be done?`;
107
- }
108
- /**
109
- * Get available agents with descriptions
110
- */
111
- getAvailableAgents() {
112
- const agents = [];
113
- const allAgents = this.registry.getAll();
114
- for (const agent of allAgents) {
115
- if (agent.name !== 'orchestrator') { // Don't include self
116
- agents.push({
117
- name: agent.name,
118
- description: agent.description || `Handles ${agent.name} requests`,
119
- });
120
- }
121
- }
122
- return agents;
123
- }
124
- /**
125
- * Generate contextual error message
126
- */
127
- async generateError(query, error) {
128
- return `An error occurred while processing your query: ${error}`;
129
- }
130
- /**
131
- * Generate contextual suggestions
132
- */
133
- async generateSuggestions(query) {
134
- return [
135
- 'Try rephrasing your query',
136
- 'Be more specific about what you want',
137
- 'Check if all required information is provided',
138
- ];
139
- }
140
- }
141
- //# sourceMappingURL=orchestrator-model-driven.js.map
@@ -1,54 +0,0 @@
1
- /**
2
- * ReAct Orchestrator Agent
3
- * Uses ReAct loop for reasoning and tool execution
4
- */
5
- import { BaseAgent } from './base.js';
6
- import { container } from '../application/services/dependency-container.js';
7
- import { getToolRegistry } from '../tools/registry.js';
8
- export class ReActOrchestratorAgent extends BaseAgent {
9
- name = 'react-orchestrator';
10
- description = 'ReAct-based orchestrator with iterative reasoning';
11
- capabilities = ['react-reasoning', 'tool-execution', 'memory-integration'];
12
- canCall = [];
13
- async handle(request) {
14
- const useCase = container.reactOrchestrationUseCase;
15
- const toolRegistry = getToolRegistry();
16
- // Build context with available tools
17
- const context = {
18
- availableTools: toolRegistry.getToolList(),
19
- availableAgents: this.getAvailableAgents(),
20
- };
21
- try {
22
- const result = await useCase.execute({
23
- query: request.query,
24
- context,
25
- maxTurns: 20,
26
- });
27
- // Record observation in memory
28
- if (result.trajectory.success) {
29
- await container.memoryStreamService.recordObservation(`Successfully handled: ${request.query}`, { trajectory: result.trajectory });
30
- }
31
- return {
32
- success: result.trajectory.success,
33
- message: result.answer,
34
- metadata: {
35
- trajectory: result.trajectory,
36
- memoriesUsed: result.memoriesUsed.length,
37
- steps: result.trajectory.steps.length,
38
- },
39
- };
40
- }
41
- catch (error) {
42
- return {
43
- success: false,
44
- error: error instanceof Error ? error.message : String(error),
45
- message: `ReAct orchestration failed: ${error instanceof Error ? error.message : String(error)}`,
46
- };
47
- }
48
- }
49
- getAvailableAgents() {
50
- // Return list of available agent names
51
- return ['editor', 'search', 'code-analysis', 'scaffold', 'general'];
52
- }
53
- }
54
- //# sourceMappingURL=react-orchestrator-agent.js.map