codehere 0.5.0-alpha.0 → 0.5.1-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.
Files changed (186) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +106 -30
  3. package/dist/application/agents/execution-agent.js +2 -2
  4. package/dist/application/agents/multi-agent-orchestrator.d.ts +1 -0
  5. package/dist/application/agents/multi-agent-orchestrator.d.ts.map +1 -1
  6. package/dist/application/agents/multi-agent-orchestrator.js +10 -3
  7. package/dist/application/agents/multi-agent-orchestrator.js.map +1 -1
  8. package/dist/application/agents/planning-agent.d.ts.map +1 -1
  9. package/dist/application/agents/planning-agent.js +15 -11
  10. package/dist/application/agents/planning-agent.js.map +1 -1
  11. package/dist/application/reasoning/multi-model-planning-strategy.d.ts +21 -0
  12. package/dist/application/reasoning/multi-model-planning-strategy.d.ts.map +1 -0
  13. package/dist/application/reasoning/multi-model-planning-strategy.js +158 -0
  14. package/dist/application/reasoning/multi-model-planning-strategy.js.map +1 -0
  15. package/dist/application/reasoning/reasoning-config.d.ts +15 -0
  16. package/dist/application/reasoning/reasoning-config.d.ts.map +1 -0
  17. package/dist/application/reasoning/reasoning-config.js +50 -0
  18. package/dist/application/reasoning/reasoning-config.js.map +1 -0
  19. package/dist/application/reasoning/reasoning-orchestrator.d.ts +18 -0
  20. package/dist/application/reasoning/reasoning-orchestrator.d.ts.map +1 -0
  21. package/dist/application/reasoning/reasoning-orchestrator.js +170 -0
  22. package/dist/application/reasoning/reasoning-orchestrator.js.map +1 -0
  23. package/dist/application/reasoning/reasoning-strategy.interface.d.ts +24 -0
  24. package/dist/application/reasoning/reasoning-strategy.interface.d.ts.map +1 -0
  25. package/dist/application/reasoning/reasoning-strategy.interface.js +6 -0
  26. package/dist/application/reasoning/reasoning-strategy.interface.js.map +1 -0
  27. package/dist/application/reasoning/role-provider-resolver.d.ts +36 -0
  28. package/dist/application/reasoning/role-provider-resolver.d.ts.map +1 -0
  29. package/dist/application/reasoning/role-provider-resolver.js +74 -0
  30. package/dist/application/reasoning/role-provider-resolver.js.map +1 -0
  31. package/dist/application/reasoning/simple-planning-strategy.d.ts +22 -0
  32. package/dist/application/reasoning/simple-planning-strategy.d.ts.map +1 -0
  33. package/dist/application/reasoning/simple-planning-strategy.js +217 -0
  34. package/dist/application/reasoning/simple-planning-strategy.js.map +1 -0
  35. package/dist/application/reasoning/types.d.ts +65 -0
  36. package/dist/application/reasoning/types.d.ts.map +1 -0
  37. package/dist/application/reasoning/types.js +6 -0
  38. package/dist/application/reasoning/types.js.map +1 -0
  39. package/dist/application/reasoning/validator-strategy.d.ts +56 -0
  40. package/dist/application/reasoning/validator-strategy.d.ts.map +1 -0
  41. package/dist/application/reasoning/validator-strategy.js +103 -0
  42. package/dist/application/reasoning/validator-strategy.js.map +1 -0
  43. package/dist/application/services/dependency-container.d.ts.map +1 -1
  44. package/dist/application/services/dependency-container.js +5 -7
  45. package/dist/application/services/dependency-container.js.map +1 -1
  46. package/dist/application/services/intelligent-router.d.ts +5 -5
  47. package/dist/application/services/intelligent-router.d.ts.map +1 -1
  48. package/dist/application/services/intelligent-router.js +81 -62
  49. package/dist/application/services/intelligent-router.js.map +1 -1
  50. package/dist/application/use-cases/planning-use-case.d.ts +14 -1
  51. package/dist/application/use-cases/planning-use-case.d.ts.map +1 -1
  52. package/dist/application/use-cases/planning-use-case.js +109 -2
  53. package/dist/application/use-cases/planning-use-case.js.map +1 -1
  54. package/dist/chat.d.ts.map +1 -1
  55. package/dist/chat.js +18 -7
  56. package/dist/chat.js.map +1 -1
  57. package/dist/domain/entities/memory.d.ts.map +1 -1
  58. package/dist/domain/entities/task.d.ts +1 -1
  59. package/dist/domain/entities/task.js +1 -1
  60. package/dist/domain/services/query-intent-classifier.d.ts.map +1 -1
  61. package/dist/domain/services/query-intent-classifier.js +20 -1
  62. package/dist/domain/services/query-intent-classifier.js.map +1 -1
  63. package/dist/index.js +111 -14
  64. package/dist/index.js.map +1 -1
  65. package/dist/infrastructure/config/config-manager.d.ts +10 -0
  66. package/dist/infrastructure/config/config-manager.d.ts.map +1 -1
  67. package/dist/infrastructure/config/config-manager.js +11 -0
  68. package/dist/infrastructure/config/config-manager.js.map +1 -1
  69. package/dist/infrastructure/context/conversation-context.d.ts +11 -10
  70. package/dist/infrastructure/context/conversation-context.d.ts.map +1 -1
  71. package/dist/infrastructure/context/conversation-context.js +3 -5
  72. package/dist/infrastructure/context/conversation-context.js.map +1 -1
  73. package/dist/infrastructure/index.d.ts +0 -1
  74. package/dist/infrastructure/index.d.ts.map +1 -1
  75. package/dist/infrastructure/index.js +2 -1
  76. package/dist/infrastructure/index.js.map +1 -1
  77. package/dist/infrastructure/protocols/a2a-metadata.js +1 -1
  78. package/dist/infrastructure/protocols/mcp-oauth.js +1 -1
  79. package/dist/infrastructure/providers/cohere-provider.d.ts +2 -1
  80. package/dist/infrastructure/providers/cohere-provider.d.ts.map +1 -1
  81. package/dist/infrastructure/providers/cohere-provider.js +37 -13
  82. package/dist/infrastructure/providers/cohere-provider.js.map +1 -1
  83. package/dist/infrastructure/providers/openrouter-provider.d.ts.map +1 -1
  84. package/dist/infrastructure/providers/openrouter-provider.js +4 -2
  85. package/dist/infrastructure/providers/openrouter-provider.js.map +1 -1
  86. package/dist/infrastructure/security/input-validator.d.ts.map +1 -1
  87. package/dist/infrastructure/security/input-validator.js +19 -6
  88. package/dist/infrastructure/security/input-validator.js.map +1 -1
  89. package/dist/infrastructure/security/network-guard.d.ts +8 -0
  90. package/dist/infrastructure/security/network-guard.d.ts.map +1 -0
  91. package/dist/infrastructure/security/network-guard.js +70 -0
  92. package/dist/infrastructure/security/network-guard.js.map +1 -0
  93. package/dist/infrastructure/security/offline.d.ts +16 -0
  94. package/dist/infrastructure/security/offline.d.ts.map +1 -0
  95. package/dist/infrastructure/security/offline.js +24 -0
  96. package/dist/infrastructure/security/offline.js.map +1 -0
  97. package/dist/infrastructure/storage/memory-stream-service.d.ts.map +1 -1
  98. package/dist/infrastructure/storage/memory-stream-service.js +88 -58
  99. package/dist/infrastructure/storage/memory-stream-service.js.map +1 -1
  100. package/dist/infrastructure/storage/sqljs-init.d.ts +8 -0
  101. package/dist/infrastructure/storage/sqljs-init.d.ts.map +1 -0
  102. package/dist/infrastructure/storage/sqljs-init.js +23 -0
  103. package/dist/infrastructure/storage/sqljs-init.js.map +1 -0
  104. package/dist/infrastructure/storage/task-helpers.d.ts +1 -1
  105. package/dist/infrastructure/storage/task-helpers.js +1 -1
  106. package/dist/infrastructure/storage/task-repository.d.ts +2 -1
  107. package/dist/infrastructure/storage/task-repository.d.ts.map +1 -1
  108. package/dist/infrastructure/storage/task-repository.js +14 -3
  109. package/dist/infrastructure/storage/task-repository.js.map +1 -1
  110. package/dist/infrastructure/telemetry/telemetry-service.d.ts +74 -0
  111. package/dist/infrastructure/telemetry/telemetry-service.d.ts.map +1 -0
  112. package/dist/infrastructure/telemetry/telemetry-service.js +167 -0
  113. package/dist/infrastructure/telemetry/telemetry-service.js.map +1 -0
  114. package/dist/infrastructure/ux/meta-query.d.ts +9 -0
  115. package/dist/infrastructure/ux/meta-query.d.ts.map +1 -0
  116. package/dist/infrastructure/ux/meta-query.js +63 -0
  117. package/dist/infrastructure/ux/meta-query.js.map +1 -0
  118. package/dist/infrastructure/ux/progress-indicator.d.ts +10 -49
  119. package/dist/infrastructure/ux/progress-indicator.d.ts.map +1 -1
  120. package/dist/infrastructure/ux/progress-indicator.js +9 -112
  121. package/dist/infrastructure/ux/progress-indicator.js.map +1 -1
  122. package/dist/infrastructure/ux/repo-fingerprint.d.ts +10 -0
  123. package/dist/infrastructure/ux/repo-fingerprint.d.ts.map +1 -0
  124. package/dist/infrastructure/ux/repo-fingerprint.js +55 -0
  125. package/dist/infrastructure/ux/repo-fingerprint.js.map +1 -0
  126. package/dist/presentation/cli/commands/ask-command.d.ts +2 -0
  127. package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -1
  128. package/dist/presentation/cli/commands/ask-command.js +140 -31
  129. package/dist/presentation/cli/commands/ask-command.js.map +1 -1
  130. package/dist/presentation/cli/commands/config-command.d.ts.map +1 -1
  131. package/dist/presentation/cli/commands/config-command.js +14 -2
  132. package/dist/presentation/cli/commands/config-command.js.map +1 -1
  133. package/dist/presentation/cli/commands/decision-command.js +23 -6
  134. package/dist/presentation/cli/commands/decision-command.js.map +1 -1
  135. package/dist/presentation/cli/commands/fix-command.d.ts.map +1 -1
  136. package/dist/presentation/cli/commands/fix-command.js +23 -4
  137. package/dist/presentation/cli/commands/fix-command.js.map +1 -1
  138. package/dist/presentation/cli/commands/help-command.d.ts.map +1 -1
  139. package/dist/presentation/cli/commands/help-command.js +21 -1
  140. package/dist/presentation/cli/commands/help-command.js.map +1 -1
  141. package/dist/presentation/cli/commands/memory-command.d.ts +17 -0
  142. package/dist/presentation/cli/commands/memory-command.d.ts.map +1 -0
  143. package/dist/presentation/cli/commands/memory-command.js +252 -0
  144. package/dist/presentation/cli/commands/memory-command.js.map +1 -0
  145. package/dist/presentation/cli/commands/orchestrate-command.d.ts +1 -0
  146. package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -1
  147. package/dist/presentation/cli/commands/orchestrate-command.js +126 -19
  148. package/dist/presentation/cli/commands/orchestrate-command.js.map +1 -1
  149. package/dist/presentation/cli/commands/plan-command.d.ts +1 -0
  150. package/dist/presentation/cli/commands/plan-command.d.ts.map +1 -1
  151. package/dist/presentation/cli/commands/plan-command.js +133 -27
  152. package/dist/presentation/cli/commands/plan-command.js.map +1 -1
  153. package/dist/presentation/cli/commands/react-command.d.ts.map +1 -1
  154. package/dist/presentation/cli/commands/react-command.js +5 -1
  155. package/dist/presentation/cli/commands/react-command.js.map +1 -1
  156. package/dist/presentation/cli/commands/review-command.d.ts.map +1 -1
  157. package/dist/presentation/cli/commands/review-command.js +21 -2
  158. package/dist/presentation/cli/commands/review-command.js.map +1 -1
  159. package/dist/presentation/cli/commands/smart-command.d.ts.map +1 -1
  160. package/dist/presentation/cli/commands/smart-command.js +72 -5
  161. package/dist/presentation/cli/commands/smart-command.js.map +1 -1
  162. package/dist/presentation/cli/commands/status-command.d.ts.map +1 -1
  163. package/dist/presentation/cli/commands/status-command.js +5 -1
  164. package/dist/presentation/cli/commands/status-command.js.map +1 -1
  165. package/dist/presentation/cli/error-display.d.ts.map +1 -1
  166. package/dist/presentation/cli/error-display.js +75 -17
  167. package/dist/presentation/cli/error-display.js.map +1 -1
  168. package/dist/search.d.ts.map +1 -1
  169. package/dist/search.js +18 -5
  170. package/dist/search.js.map +1 -1
  171. package/dist/session.js +44 -2
  172. package/dist/session.js.map +1 -1
  173. package/dist/tools/bash.d 2.ts +53 -0
  174. package/dist/tools/bash.d.ts.map +1 -1
  175. package/dist/tools/bash.js +3 -0
  176. package/dist/tools/bash.js 2.map +1 -0
  177. package/dist/tools/bash.js.map +1 -1
  178. package/dist/tools/edit 2.js +235 -0
  179. package/dist/tools/edit.d.ts 2.map +1 -0
  180. package/dist/tools/git-tool.js +7 -7
  181. package/dist/tools/git-tool.js.map +1 -1
  182. package/dist/ui.d.ts +5 -0
  183. package/dist/ui.d.ts.map +1 -1
  184. package/dist/ui.js +19 -0
  185. package/dist/ui.js.map +1 -1
  186. package/package.json +11 -5
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Reasoning Configuration Helper
3
+ * Checks reasoning layer configuration (enabled, multi-model mode, etc.)
4
+ */
5
+ /**
6
+ * Check if reasoning layer is enabled
7
+ * Priority: Environment variable > Config file > Default (false)
8
+ */
9
+ export declare function isReasoningEnabled(): boolean;
10
+ /**
11
+ * Check if multi-model reasoning is enabled
12
+ * Requires reasoning.enabled = true AND reasoning.multiModel.enabled = true
13
+ */
14
+ export declare function isMultiModelEnabled(): boolean;
15
+ //# sourceMappingURL=reasoning-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-config.d.ts","sourceRoot":"","sources":["../../../src/application/reasoning/reasoning-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAgB5C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAmB7C"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Reasoning Configuration Helper
3
+ * Checks reasoning layer configuration (enabled, multi-model mode, etc.)
4
+ */
5
+ import { ConfigManager } from '../../infrastructure/config/config-manager.js';
6
+ /**
7
+ * Check if reasoning layer is enabled
8
+ * Priority: Environment variable > Config file > Default (false)
9
+ */
10
+ export function isReasoningEnabled() {
11
+ // Check environment variable first
12
+ const envEnabled = process.env.CODEHERE_REASONING_ENABLED;
13
+ if (envEnabled !== undefined) {
14
+ return envEnabled === '1' || envEnabled.toLowerCase() === 'true';
15
+ }
16
+ // Check config file
17
+ try {
18
+ const configManager = new ConfigManager();
19
+ const reasoningConfig = configManager.get('reasoning');
20
+ return reasoningConfig?.enabled === true;
21
+ }
22
+ catch (error) {
23
+ // If config not available, default to false
24
+ return false;
25
+ }
26
+ }
27
+ /**
28
+ * Check if multi-model reasoning is enabled
29
+ * Requires reasoning.enabled = true AND reasoning.multiModel.enabled = true
30
+ */
31
+ export function isMultiModelEnabled() {
32
+ if (!isReasoningEnabled()) {
33
+ return false;
34
+ }
35
+ // Check environment variable first
36
+ const envMultiModel = process.env.CODEHERE_REASONING_MULTI_MODEL;
37
+ if (envMultiModel !== undefined) {
38
+ return envMultiModel === '1' || envMultiModel.toLowerCase() === 'true';
39
+ }
40
+ // Check config file
41
+ try {
42
+ const configManager = new ConfigManager();
43
+ const reasoningConfig = configManager.get('reasoning');
44
+ return reasoningConfig?.multiModel?.enabled === true;
45
+ }
46
+ catch (error) {
47
+ return false;
48
+ }
49
+ }
50
+ //# sourceMappingURL=reasoning-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-config.js","sourceRoot":"","sources":["../../../src/application/reasoning/reasoning-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAE9E;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,mCAAmC;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IAC1D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,UAAU,KAAK,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;IACnE,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvD,OAAO,eAAe,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,4CAA4C;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mCAAmC;IACnC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;IACjE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,aAAa,KAAK,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;IACzE,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvD,OAAO,eAAe,EAAE,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Reasoning Orchestrator
3
+ * Coordinates reasoning strategies and provides unified interface
4
+ */
5
+ import type { IReasoningStrategy, PlanningResult } from './reasoning-strategy.interface.js';
6
+ import type { PlanningInputContext } from './types.js';
7
+ import type { ExecutionTracer } from '../../infrastructure/observability/execution-tracer.js';
8
+ export interface IReasoningOrchestrator {
9
+ planWithReasoning(context: PlanningInputContext): Promise<PlanningResult>;
10
+ }
11
+ export declare class ReasoningOrchestrator implements IReasoningOrchestrator {
12
+ private strategy;
13
+ private tracer?;
14
+ private providerName?;
15
+ constructor(strategy: IReasoningStrategy, tracer?: ExecutionTracer | undefined, providerName?: string | undefined);
16
+ planWithReasoning(context: PlanningInputContext): Promise<PlanningResult>;
17
+ }
18
+ //# sourceMappingURL=reasoning-orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-orchestrator.d.ts","sourceRoot":"","sources":["../../../src/application/reasoning/reasoning-orchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAC5F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wDAAwD,CAAC;AAE9F,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CAC3E;AAED,qBAAa,qBAAsB,YAAW,sBAAsB;IAEhE,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,YAAY,CAAC;gBAFb,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,CAAC,EAAE,eAAe,YAAA,EACxB,YAAY,CAAC,EAAE,MAAM,YAAA;IAGzB,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;CAkKhF"}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Reasoning Orchestrator
3
+ * Coordinates reasoning strategies and provides unified interface
4
+ */
5
+ export class ReasoningOrchestrator {
6
+ strategy;
7
+ tracer;
8
+ providerName;
9
+ constructor(strategy, tracer, providerName) {
10
+ this.strategy = strategy;
11
+ this.tracer = tracer;
12
+ this.providerName = providerName;
13
+ }
14
+ async planWithReasoning(context) {
15
+ const runId = this.tracer?.getCurrentRunId();
16
+ const startTime = Date.now();
17
+ // Trace start event
18
+ const traceId = this.tracer?.trace({
19
+ operationType: 'plan_generation',
20
+ operationName: 'reasoning_orchestrator_plan_start',
21
+ input: {
22
+ goal: context.goal,
23
+ planningMode: context.planningMode,
24
+ },
25
+ metadata: {
26
+ reasoningEnabled: true,
27
+ role: 'planner',
28
+ providerName: this.providerName || 'unknown',
29
+ startTime,
30
+ },
31
+ });
32
+ try {
33
+ const result = await this.strategy.executePlanning(context);
34
+ // Trace completion with metrics
35
+ const endTime = Date.now();
36
+ const totalDuration = endTime - startTime;
37
+ if (this.tracer && traceId) {
38
+ // Trace each reasoning step with role-specific events
39
+ result.trace.steps.forEach((step, idx) => {
40
+ const stepProviderName = step.metadata?.provider || this.providerName || 'unknown';
41
+ // Trace role start event
42
+ this.tracer.trace({
43
+ operationType: 'llm_call',
44
+ operationName: 'reasoning_role_start',
45
+ input: {
46
+ stepId: step.id,
47
+ role: step.role,
48
+ inputLength: step.input.length,
49
+ },
50
+ metadata: {
51
+ reasoningEnabled: true,
52
+ role: step.role,
53
+ stepIndex: idx,
54
+ providerName: stepProviderName,
55
+ },
56
+ });
57
+ // Trace role end event
58
+ this.tracer.trace({
59
+ operationType: 'llm_call',
60
+ operationName: 'reasoning_role_end',
61
+ input: {
62
+ stepId: step.id,
63
+ role: step.role,
64
+ inputLength: step.input.length,
65
+ },
66
+ output: {
67
+ outputLength: step.output.length,
68
+ },
69
+ duration: step.duration,
70
+ metadata: {
71
+ reasoningEnabled: true,
72
+ role: step.role,
73
+ stepIndex: idx,
74
+ inputTokens: step.tokenUsage?.inputTokens,
75
+ outputTokens: step.tokenUsage?.outputTokens,
76
+ providerName: stepProviderName,
77
+ durationMs: step.duration,
78
+ success: true,
79
+ },
80
+ });
81
+ });
82
+ // Trace overall orchestration end event
83
+ this.tracer.trace({
84
+ operationType: 'plan_generation',
85
+ operationName: 'reasoning_orchestrator_plan_end',
86
+ input: {
87
+ goal: context.goal,
88
+ planningMode: context.planningMode,
89
+ },
90
+ output: {
91
+ planId: result.plan.id,
92
+ subPlansCount: result.plan.subPlans.length,
93
+ traceId: result.trace.id,
94
+ stepsCount: result.trace.steps.length,
95
+ success: true,
96
+ },
97
+ duration: totalDuration,
98
+ metadata: {
99
+ reasoningEnabled: true,
100
+ totalDuration: result.trace.metadata?.totalDuration,
101
+ totalTokens: result.trace.metadata?.totalTokens,
102
+ role: 'planner',
103
+ providerName: this.providerName || 'unknown',
104
+ durationMs: totalDuration,
105
+ startTime,
106
+ endTime,
107
+ },
108
+ });
109
+ }
110
+ return result;
111
+ }
112
+ catch (error) {
113
+ // Trace error event
114
+ const endTime = Date.now();
115
+ const totalDuration = endTime - startTime;
116
+ if (this.tracer && traceId) {
117
+ // Trace role error event
118
+ const roleErrorTrace = {
119
+ operationType: 'plan_generation',
120
+ operationName: 'reasoning_role_error',
121
+ input: {
122
+ goal: context.goal,
123
+ planningMode: context.planningMode,
124
+ },
125
+ error: {
126
+ message: error instanceof Error ? error.message : String(error),
127
+ stack: error instanceof Error ? error.stack : undefined,
128
+ },
129
+ duration: totalDuration,
130
+ metadata: {
131
+ reasoningEnabled: true,
132
+ role: 'planner',
133
+ providerName: this.providerName || 'unknown',
134
+ durationMs: totalDuration,
135
+ startTime,
136
+ endTime,
137
+ success: false,
138
+ },
139
+ };
140
+ this.tracer.trace(roleErrorTrace);
141
+ // Also trace overall orchestration error
142
+ const errorTrace = {
143
+ operationType: 'plan_generation',
144
+ operationName: 'reasoning_orchestrator_plan_error',
145
+ input: {
146
+ goal: context.goal,
147
+ planningMode: context.planningMode,
148
+ },
149
+ error: {
150
+ message: error instanceof Error ? error.message : String(error),
151
+ stack: error instanceof Error ? error.stack : undefined,
152
+ },
153
+ duration: totalDuration,
154
+ metadata: {
155
+ reasoningEnabled: true,
156
+ role: 'planner',
157
+ providerName: this.providerName || 'unknown',
158
+ durationMs: totalDuration,
159
+ startTime,
160
+ endTime,
161
+ success: false,
162
+ },
163
+ };
164
+ this.tracer.trace(errorTrace);
165
+ }
166
+ throw error;
167
+ }
168
+ }
169
+ }
170
+ //# sourceMappingURL=reasoning-orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-orchestrator.js","sourceRoot":"","sources":["../../../src/application/reasoning/reasoning-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Reasoning Strategy Interface
3
+ * Defines how reasoning is executed for different use cases
4
+ */
5
+ import type { ReasoningTrace, PlanningInputContext } from './types.js';
6
+ import type { Plan } from '../../domain/entities/plan.js';
7
+ /**
8
+ * Planning result from reasoning strategy
9
+ */
10
+ export interface PlanningResult {
11
+ plan: Plan;
12
+ trace: ReasoningTrace;
13
+ }
14
+ /**
15
+ * Reasoning strategy interface
16
+ * Different strategies can implement different reasoning patterns
17
+ */
18
+ export interface IReasoningStrategy {
19
+ /**
20
+ * Execute planning with structured reasoning
21
+ */
22
+ executePlanning(context: PlanningInputContext): Promise<PlanningResult>;
23
+ }
24
+ //# sourceMappingURL=reasoning-strategy.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-strategy.interface.d.ts","sourceRoot":"","sources":["../../../src/application/reasoning/reasoning-strategy.interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,cAAc,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACzE"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Reasoning Strategy Interface
3
+ * Defines how reasoning is executed for different use cases
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=reasoning-strategy.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-strategy.interface.js","sourceRoot":"","sources":["../../../src/application/reasoning/reasoning-strategy.interface.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Role-Aware Provider Resolver
3
+ * Resolves providers for reasoning roles (planner, validator)
4
+ * Falls back to OperationProviderResolver if role not configured
5
+ */
6
+ import type { IModelProvider } from '../../infrastructure/providers/model-provider.interface.js';
7
+ import { ProviderRegistry } from '../../infrastructure/providers/provider-registry.js';
8
+ import { OperationProviderResolver } from '../../infrastructure/providers/operation-provider-resolver.js';
9
+ import { ConfigManager } from '../../infrastructure/config/config-manager.js';
10
+ export type ReasoningRole = 'planner' | 'validator';
11
+ /**
12
+ * Resolve provider for a reasoning role
13
+ * Priority:
14
+ * 1. reasoning.multiModel.roles[role] if multiModel.enabled = true
15
+ * 2. OperationProviderResolver for 'chat' operation
16
+ * 3. Default provider
17
+ */
18
+ export declare class RoleProviderResolver {
19
+ private configManager;
20
+ private providerRegistry;
21
+ private operationResolver;
22
+ constructor(configManager?: ConfigManager, providerRegistry?: ProviderRegistry, operationResolver?: OperationProviderResolver);
23
+ /**
24
+ * Resolve provider for a reasoning role
25
+ */
26
+ resolveRoleProvider(role: ReasoningRole): IModelProvider;
27
+ /**
28
+ * Check if multi-model reasoning is enabled
29
+ */
30
+ isMultiModelEnabled(): boolean;
31
+ /**
32
+ * Check if a specific role is configured
33
+ */
34
+ isRoleConfigured(role: ReasoningRole): boolean;
35
+ }
36
+ //# sourceMappingURL=role-provider-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-provider-resolver.d.ts","sourceRoot":"","sources":["../../../src/application/reasoning/role-provider-resolver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4DAA4D,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AACvF,OAAO,EAAE,yBAAyB,EAAsB,MAAM,+DAA+D,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAE9E,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,CAAC;AAEpD;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,iBAAiB,CAA4B;gBAGnD,aAAa,CAAC,EAAE,aAAa,EAC7B,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,iBAAiB,CAAC,EAAE,yBAAyB;IAW/C;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,cAAc;IA4BxD;;OAEG;IACH,mBAAmB,IAAI,OAAO;IAK9B;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;CAS/C"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Role-Aware Provider Resolver
3
+ * Resolves providers for reasoning roles (planner, validator)
4
+ * Falls back to OperationProviderResolver if role not configured
5
+ */
6
+ import { ProviderRegistry } from '../../infrastructure/providers/provider-registry.js';
7
+ import { OperationProviderResolver } from '../../infrastructure/providers/operation-provider-resolver.js';
8
+ import { ConfigManager } from '../../infrastructure/config/config-manager.js';
9
+ /**
10
+ * Resolve provider for a reasoning role
11
+ * Priority:
12
+ * 1. reasoning.multiModel.roles[role] if multiModel.enabled = true
13
+ * 2. OperationProviderResolver for 'chat' operation
14
+ * 3. Default provider
15
+ */
16
+ export class RoleProviderResolver {
17
+ configManager;
18
+ providerRegistry;
19
+ operationResolver;
20
+ constructor(configManager, providerRegistry, operationResolver) {
21
+ this.configManager = configManager || new ConfigManager();
22
+ this.providerRegistry = providerRegistry || ProviderRegistry.getInstance();
23
+ this.operationResolver = operationResolver || new OperationProviderResolver(this.providerRegistry, null, null);
24
+ }
25
+ /**
26
+ * Resolve provider for a reasoning role
27
+ */
28
+ resolveRoleProvider(role) {
29
+ // Check if multi-model is enabled
30
+ const reasoningConfig = this.configManager.get('reasoning');
31
+ const multiModelEnabled = reasoningConfig?.multiModel?.enabled === true;
32
+ if (multiModelEnabled) {
33
+ // Try role-specific provider
34
+ const roleProviderId = reasoningConfig?.multiModel?.roles?.[role];
35
+ if (roleProviderId) {
36
+ const provider = this.providerRegistry.get(roleProviderId);
37
+ if (provider) {
38
+ return provider;
39
+ }
40
+ // Invalid provider name - log warning and fall through
41
+ console.warn(`[RoleProviderResolver] Provider '${roleProviderId}' not found for role '${role}', falling back to operation resolver`);
42
+ }
43
+ }
44
+ // Fallback to OperationProviderResolver for 'chat' operation
45
+ // (planning uses chat operation)
46
+ try {
47
+ return this.operationResolver.resolveProvider('chat');
48
+ }
49
+ catch (error) {
50
+ // Final fallback to default provider
51
+ return this.providerRegistry.getDefault();
52
+ }
53
+ }
54
+ /**
55
+ * Check if multi-model reasoning is enabled
56
+ */
57
+ isMultiModelEnabled() {
58
+ const reasoningConfig = this.configManager.get('reasoning');
59
+ return reasoningConfig?.multiModel?.enabled === true;
60
+ }
61
+ /**
62
+ * Check if a specific role is configured
63
+ */
64
+ isRoleConfigured(role) {
65
+ const reasoningConfig = this.configManager.get('reasoning');
66
+ const multiModelEnabled = reasoningConfig?.multiModel?.enabled === true;
67
+ if (!multiModelEnabled) {
68
+ return false;
69
+ }
70
+ const roleProviderId = reasoningConfig?.multiModel?.roles?.[role];
71
+ return !!roleProviderId && !!this.providerRegistry.get(roleProviderId);
72
+ }
73
+ }
74
+ //# sourceMappingURL=role-provider-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-provider-resolver.js","sourceRoot":"","sources":["../../../src/application/reasoning/role-provider-resolver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AACvF,OAAO,EAAE,yBAAyB,EAAsB,MAAM,+DAA+D,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAI9E;;;;;;GAMG;AACH,MAAM,OAAO,oBAAoB;IACvB,aAAa,CAAgB;IAC7B,gBAAgB,CAAmB;IACnC,iBAAiB,CAA4B;IAErD,YACE,aAA6B,EAC7B,gBAAmC,EACnC,iBAA6C;QAE7C,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,IAAI,aAAa,EAAE,CAAC;QAC1D,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAC3E,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,IAAI,IAAI,yBAAyB,CACzE,IAAI,CAAC,gBAAgB,EACrB,IAAI,EACJ,IAAI,CACL,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,IAAmB;QACrC,kCAAkC;QAClC,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,iBAAiB,GAAG,eAAe,EAAE,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;QAExE,IAAI,iBAAiB,EAAE,CAAC;YACtB,6BAA6B;YAC7B,MAAM,cAAc,GAAG,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC3D,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,uDAAuD;gBACvD,OAAO,CAAC,IAAI,CAAC,oCAAoC,cAAc,yBAAyB,IAAI,uCAAuC,CAAC,CAAC;YACvI,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,iCAAiC;QACjC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qCAAqC;YACrC,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5D,OAAO,eAAe,EAAE,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,IAAmB;QAClC,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,iBAAiB,GAAG,eAAe,EAAE,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;QACxE,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,cAAc,GAAG,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACzE,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Simple Planning Strategy
3
+ * Wraps current planning behavior into structured reasoning trace
4
+ * Behaviorally equivalent to current PlanningUseCase, but structured
5
+ */
6
+ import type { IReasoningStrategy, PlanningResult } from './reasoning-strategy.interface.js';
7
+ import type { PlanningInputContext } from './types.js';
8
+ import type { IAIService } from '../../domain/interfaces/ai-service.interface.js';
9
+ export declare class SimplePlanningStrategy implements IReasoningStrategy {
10
+ private aiService;
11
+ constructor(aiService: IAIService);
12
+ executePlanning(context: PlanningInputContext): Promise<PlanningResult>;
13
+ /**
14
+ * Build planning prompt (reuses logic from PlanningUseCase)
15
+ */
16
+ private buildPlanningPrompt;
17
+ /**
18
+ * Parse plan from AI response (reuses logic from PlanningAgent)
19
+ */
20
+ private parsePlanFromResponse;
21
+ }
22
+ //# sourceMappingURL=simple-planning-strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-planning-strategy.d.ts","sourceRoot":"","sources":["../../../src/application/reasoning/simple-planning-strategy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAC5F,OAAO,KAAK,EAAE,oBAAoB,EAAiC,MAAM,YAAY,CAAC;AAEtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAIlF,qBAAa,sBAAuB,YAAW,kBAAkB;IACnD,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,UAAU;IAEnC,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IA0E7E;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA+D3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CA6E9B"}