@kilnai/core 0.23.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/dist/agents/execution-identity.d.ts +15 -0
  2. package/dist/agents/execution-identity.d.ts.map +1 -0
  3. package/dist/agents/execution-identity.js +42 -0
  4. package/dist/agents/execution-identity.js.map +1 -0
  5. package/dist/agents/index.d.ts +6 -1
  6. package/dist/agents/index.d.ts.map +1 -1
  7. package/dist/agents/index.js +4 -1
  8. package/dist/agents/index.js.map +1 -1
  9. package/dist/agents/infrastructure/__tests__/codex-oauth-auth.test.d.ts +2 -0
  10. package/dist/agents/infrastructure/__tests__/codex-oauth-auth.test.d.ts.map +1 -0
  11. package/dist/agents/infrastructure/__tests__/codex-oauth-auth.test.js +313 -0
  12. package/dist/agents/infrastructure/__tests__/codex-oauth-auth.test.js.map +1 -0
  13. package/dist/agents/infrastructure/__tests__/codex-oauth.test.d.ts +2 -0
  14. package/dist/agents/infrastructure/__tests__/codex-oauth.test.d.ts.map +1 -0
  15. package/dist/agents/infrastructure/__tests__/codex-oauth.test.js +720 -0
  16. package/dist/agents/infrastructure/__tests__/codex-oauth.test.js.map +1 -0
  17. package/dist/agents/infrastructure/codex-oauth-auth.d.ts +41 -0
  18. package/dist/agents/infrastructure/codex-oauth-auth.d.ts.map +1 -0
  19. package/dist/agents/infrastructure/codex-oauth-auth.js +204 -0
  20. package/dist/agents/infrastructure/codex-oauth-auth.js.map +1 -0
  21. package/dist/agents/infrastructure/codex-oauth.d.ts +32 -0
  22. package/dist/agents/infrastructure/codex-oauth.d.ts.map +1 -0
  23. package/dist/agents/infrastructure/codex-oauth.js +371 -0
  24. package/dist/agents/infrastructure/codex-oauth.js.map +1 -0
  25. package/dist/agents/model-capability-registry.d.ts +2 -0
  26. package/dist/agents/model-capability-registry.d.ts.map +1 -1
  27. package/dist/agents/model-capability-registry.js +11 -2
  28. package/dist/agents/model-capability-registry.js.map +1 -1
  29. package/dist/agents/model-pricing.d.ts +2 -0
  30. package/dist/agents/model-pricing.d.ts.map +1 -1
  31. package/dist/agents/model-pricing.js +10 -0
  32. package/dist/agents/model-pricing.js.map +1 -1
  33. package/dist/cost/cost-tracker.d.ts +1 -0
  34. package/dist/cost/cost-tracker.d.ts.map +1 -1
  35. package/dist/cost/cost-tracker.js +6 -3
  36. package/dist/cost/cost-tracker.js.map +1 -1
  37. package/dist/cost/index.d.ts +2 -0
  38. package/dist/cost/index.d.ts.map +1 -1
  39. package/dist/cost/index.js +1 -0
  40. package/dist/cost/index.js.map +1 -1
  41. package/dist/cost/models-dev-client.d.ts +20 -0
  42. package/dist/cost/models-dev-client.d.ts.map +1 -0
  43. package/dist/cost/models-dev-client.js +91 -0
  44. package/dist/cost/models-dev-client.js.map +1 -0
  45. package/dist/domain/index.d.ts +1 -0
  46. package/dist/domain/index.d.ts.map +1 -1
  47. package/dist/domain/index.js.map +1 -1
  48. package/dist/engine/composites/team.d.ts +1 -1
  49. package/dist/engine/composites/team.d.ts.map +1 -1
  50. package/dist/engine/composites/team.js +1 -17
  51. package/dist/engine/composites/team.js.map +1 -1
  52. package/dist/engine/domain/cron.d.ts +3 -1
  53. package/dist/engine/domain/cron.d.ts.map +1 -1
  54. package/dist/engine/domain/cron.js +41 -10
  55. package/dist/engine/domain/cron.js.map +1 -1
  56. package/dist/engine/domain/tool-execution.d.ts +21 -0
  57. package/dist/engine/domain/tool-execution.d.ts.map +1 -1
  58. package/dist/engine/error-catalog.d.ts.map +1 -1
  59. package/dist/engine/error-catalog.js +8 -0
  60. package/dist/engine/error-catalog.js.map +1 -1
  61. package/dist/engine/errors.d.ts +2 -1
  62. package/dist/engine/errors.d.ts.map +1 -1
  63. package/dist/engine/errors.js +10 -0
  64. package/dist/engine/errors.js.map +1 -1
  65. package/dist/engine/index.d.ts +1 -1
  66. package/dist/engine/index.d.ts.map +1 -1
  67. package/dist/engine/index.js +1 -1
  68. package/dist/engine/index.js.map +1 -1
  69. package/dist/engine/loader/app-loader.js +1 -1
  70. package/dist/engine/loader/app-loader.js.map +1 -1
  71. package/dist/events/index.d.ts +18 -1
  72. package/dist/events/index.d.ts.map +1 -1
  73. package/dist/events/index.js +2 -0
  74. package/dist/events/index.js.map +1 -1
  75. package/dist/field/domain/field-config.d.ts +8 -0
  76. package/dist/field/domain/field-config.d.ts.map +1 -0
  77. package/dist/field/domain/field-config.js +7 -0
  78. package/dist/field/domain/field-config.js.map +1 -0
  79. package/dist/field/domain/field-store.d.ts +8 -0
  80. package/dist/field/domain/field-store.d.ts.map +1 -0
  81. package/dist/field/domain/field-store.js +2 -0
  82. package/dist/field/domain/field-store.js.map +1 -0
  83. package/dist/field/domain/field.d.ts +22 -0
  84. package/dist/field/domain/field.d.ts.map +1 -0
  85. package/dist/field/domain/field.js +2 -0
  86. package/dist/field/domain/field.js.map +1 -0
  87. package/dist/field/field-inhibitor.d.ts +17 -0
  88. package/dist/field/field-inhibitor.d.ts.map +1 -0
  89. package/dist/field/field-inhibitor.js +50 -0
  90. package/dist/field/field-inhibitor.js.map +1 -0
  91. package/dist/field/field-propagator.d.ts +19 -0
  92. package/dist/field/field-propagator.d.ts.map +1 -0
  93. package/dist/field/field-propagator.js +69 -0
  94. package/dist/field/field-propagator.js.map +1 -0
  95. package/dist/field/field-service.d.ts +18 -0
  96. package/dist/field/field-service.d.ts.map +1 -0
  97. package/dist/field/field-service.js +57 -0
  98. package/dist/field/field-service.js.map +1 -0
  99. package/dist/field/field-updater.d.ts +19 -0
  100. package/dist/field/field-updater.d.ts.map +1 -0
  101. package/dist/field/field-updater.js +64 -0
  102. package/dist/field/field-updater.js.map +1 -0
  103. package/dist/field/index.d.ts +15 -0
  104. package/dist/field/index.d.ts.map +1 -0
  105. package/dist/field/index.js +9 -0
  106. package/dist/field/index.js.map +1 -0
  107. package/dist/field/infrastructure/in-memory-field-store.d.ts +16 -0
  108. package/dist/field/infrastructure/in-memory-field-store.d.ts.map +1 -0
  109. package/dist/field/infrastructure/in-memory-field-store.js +72 -0
  110. package/dist/field/infrastructure/in-memory-field-store.js.map +1 -0
  111. package/dist/field/infrastructure/sqlite-field-store.d.ts +20 -0
  112. package/dist/field/infrastructure/sqlite-field-store.d.ts.map +1 -0
  113. package/dist/field/infrastructure/sqlite-field-store.js +107 -0
  114. package/dist/field/infrastructure/sqlite-field-store.js.map +1 -0
  115. package/dist/field/stability-monitor.d.ts +24 -0
  116. package/dist/field/stability-monitor.d.ts.map +1 -0
  117. package/dist/field/stability-monitor.js +72 -0
  118. package/dist/field/stability-monitor.js.map +1 -0
  119. package/dist/index.d.ts +5 -1
  120. package/dist/index.d.ts.map +1 -1
  121. package/dist/index.js +4 -1
  122. package/dist/index.js.map +1 -1
  123. package/dist/memory/context-budget.d.ts +17 -0
  124. package/dist/memory/context-budget.d.ts.map +1 -0
  125. package/dist/memory/context-budget.js +29 -0
  126. package/dist/memory/context-budget.js.map +1 -0
  127. package/dist/memory/context-cache.d.ts +23 -0
  128. package/dist/memory/context-cache.d.ts.map +1 -0
  129. package/dist/memory/context-cache.js +34 -0
  130. package/dist/memory/context-cache.js.map +1 -0
  131. package/dist/memory/index.d.ts +15 -3
  132. package/dist/memory/index.d.ts.map +1 -1
  133. package/dist/memory/index.js +5 -0
  134. package/dist/memory/index.js.map +1 -1
  135. package/dist/memory/memory-manager.d.ts +1 -1
  136. package/dist/memory/memory-manager.d.ts.map +1 -1
  137. package/dist/memory/memory-manager.js +2 -2
  138. package/dist/memory/memory-manager.js.map +1 -1
  139. package/dist/memory/project-store.js +1 -1
  140. package/dist/memory/project-store.js.map +1 -1
  141. package/dist/memory/resume-policy.d.ts +21 -0
  142. package/dist/memory/resume-policy.d.ts.map +1 -0
  143. package/dist/memory/resume-policy.js +70 -0
  144. package/dist/memory/resume-policy.js.map +1 -0
  145. package/dist/memory/resume-signals.d.ts +8 -0
  146. package/dist/memory/resume-signals.d.ts.map +1 -0
  147. package/dist/memory/resume-signals.js +8 -0
  148. package/dist/memory/resume-signals.js.map +1 -0
  149. package/dist/memory/sqlite-store.d.ts +6 -1
  150. package/dist/memory/sqlite-store.d.ts.map +1 -1
  151. package/dist/memory/sqlite-store.js +88 -11
  152. package/dist/memory/sqlite-store.js.map +1 -1
  153. package/dist/memory/task-shape.d.ts +2 -0
  154. package/dist/memory/task-shape.d.ts.map +1 -0
  155. package/dist/memory/task-shape.js +9 -0
  156. package/dist/memory/task-shape.js.map +1 -0
  157. package/dist/observability/span-mapper.d.ts.map +1 -1
  158. package/dist/observability/span-mapper.js +18 -0
  159. package/dist/observability/span-mapper.js.map +1 -1
  160. package/dist/orchestrator/chain-governor.d.ts +62 -0
  161. package/dist/orchestrator/chain-governor.d.ts.map +1 -0
  162. package/dist/orchestrator/chain-governor.js +80 -0
  163. package/dist/orchestrator/chain-governor.js.map +1 -0
  164. package/dist/orchestrator/demand-allocator.d.ts +64 -0
  165. package/dist/orchestrator/demand-allocator.d.ts.map +1 -0
  166. package/dist/orchestrator/demand-allocator.js +139 -0
  167. package/dist/orchestrator/demand-allocator.js.map +1 -0
  168. package/dist/orchestrator/demand-signal.d.ts +9 -0
  169. package/dist/orchestrator/demand-signal.d.ts.map +1 -0
  170. package/dist/orchestrator/demand-signal.js +23 -0
  171. package/dist/orchestrator/demand-signal.js.map +1 -0
  172. package/dist/orchestrator/index.d.ts +8 -2
  173. package/dist/orchestrator/index.d.ts.map +1 -1
  174. package/dist/orchestrator/index.js +8 -1
  175. package/dist/orchestrator/index.js.map +1 -1
  176. package/dist/orchestrator/orchestrator-checkpoint-support.d.ts +43 -0
  177. package/dist/orchestrator/orchestrator-checkpoint-support.d.ts.map +1 -0
  178. package/dist/orchestrator/orchestrator-checkpoint-support.js +147 -0
  179. package/dist/orchestrator/orchestrator-checkpoint-support.js.map +1 -0
  180. package/dist/orchestrator/orchestrator-dev-tool-support.d.ts +30 -0
  181. package/dist/orchestrator/orchestrator-dev-tool-support.d.ts.map +1 -0
  182. package/dist/orchestrator/orchestrator-dev-tool-support.js +125 -0
  183. package/dist/orchestrator/orchestrator-dev-tool-support.js.map +1 -0
  184. package/dist/orchestrator/orchestrator-interrupt-support.d.ts +22 -0
  185. package/dist/orchestrator/orchestrator-interrupt-support.d.ts.map +1 -0
  186. package/dist/orchestrator/orchestrator-interrupt-support.js +64 -0
  187. package/dist/orchestrator/orchestrator-interrupt-support.js.map +1 -0
  188. package/dist/orchestrator/orchestrator-memory-sync-support.d.ts +16 -0
  189. package/dist/orchestrator/orchestrator-memory-sync-support.d.ts.map +1 -0
  190. package/dist/orchestrator/orchestrator-memory-sync-support.js +25 -0
  191. package/dist/orchestrator/orchestrator-memory-sync-support.js.map +1 -0
  192. package/dist/orchestrator/orchestrator-verification-support.d.ts +17 -0
  193. package/dist/orchestrator/orchestrator-verification-support.d.ts.map +1 -0
  194. package/dist/orchestrator/orchestrator-verification-support.js +29 -0
  195. package/dist/orchestrator/orchestrator-verification-support.js.map +1 -0
  196. package/dist/orchestrator/orchestrator.d.ts +24 -16
  197. package/dist/orchestrator/orchestrator.d.ts.map +1 -1
  198. package/dist/orchestrator/orchestrator.js +106 -235
  199. package/dist/orchestrator/orchestrator.js.map +1 -1
  200. package/dist/orchestrator/strategies/index.d.ts +0 -1
  201. package/dist/orchestrator/strategies/index.d.ts.map +1 -1
  202. package/dist/orchestrator/strategies/index.js +1 -5
  203. package/dist/orchestrator/strategies/index.js.map +1 -1
  204. package/dist/orchestrator/task-registry.d.ts +94 -0
  205. package/dist/orchestrator/task-registry.d.ts.map +1 -0
  206. package/dist/orchestrator/task-registry.js +167 -0
  207. package/dist/orchestrator/task-registry.js.map +1 -0
  208. package/dist/safety/pii-scanner.d.ts.map +1 -1
  209. package/dist/safety/pii-scanner.js +7 -8
  210. package/dist/safety/pii-scanner.js.map +1 -1
  211. package/dist/safety/rails.d.ts.map +1 -1
  212. package/dist/safety/rails.js +9 -5
  213. package/dist/safety/rails.js.map +1 -1
  214. package/dist/security/dangerous-command-detector.d.ts +5 -0
  215. package/dist/security/dangerous-command-detector.d.ts.map +1 -0
  216. package/dist/security/dangerous-command-detector.js +92 -0
  217. package/dist/security/dangerous-command-detector.js.map +1 -0
  218. package/dist/security/index.d.ts +1 -0
  219. package/dist/security/index.d.ts.map +1 -1
  220. package/dist/security/index.js +1 -0
  221. package/dist/security/index.js.map +1 -1
  222. package/dist/security/prompt-scanner.d.ts.map +1 -1
  223. package/dist/security/prompt-scanner.js +117 -4
  224. package/dist/security/prompt-scanner.js.map +1 -1
  225. package/dist/skill/index.d.ts +4 -0
  226. package/dist/skill/index.d.ts.map +1 -1
  227. package/dist/skill/index.js +2 -0
  228. package/dist/skill/index.js.map +1 -1
  229. package/dist/skill/skill-capture.d.ts +46 -0
  230. package/dist/skill/skill-capture.d.ts.map +1 -0
  231. package/dist/skill/skill-capture.js +150 -0
  232. package/dist/skill/skill-capture.js.map +1 -0
  233. package/dist/skill/skill-generator.d.ts +20 -0
  234. package/dist/skill/skill-generator.d.ts.map +1 -0
  235. package/dist/skill/skill-generator.js +106 -0
  236. package/dist/skill/skill-generator.js.map +1 -0
  237. package/dist/tools/domain/tool-environment.d.ts +16 -0
  238. package/dist/tools/domain/tool-environment.d.ts.map +1 -0
  239. package/dist/tools/domain/tool-environment.js +94 -0
  240. package/dist/tools/domain/tool-environment.js.map +1 -0
  241. package/dist/tools/domain/tool-registry.d.ts +10 -0
  242. package/dist/tools/domain/tool-registry.d.ts.map +1 -0
  243. package/dist/tools/domain/tool-registry.js +23 -0
  244. package/dist/tools/domain/tool-registry.js.map +1 -0
  245. package/dist/tools/domain/tool.d.ts +29 -0
  246. package/dist/tools/domain/tool.d.ts.map +1 -0
  247. package/dist/tools/domain/tool.js +123 -0
  248. package/dist/tools/domain/tool.js.map +1 -0
  249. package/dist/tools/index.d.ts +18 -0
  250. package/dist/tools/index.d.ts.map +1 -0
  251. package/dist/tools/index.js +13 -0
  252. package/dist/tools/index.js.map +1 -0
  253. package/dist/tools/infrastructure/bash-tool.d.ts +20 -0
  254. package/dist/tools/infrastructure/bash-tool.d.ts.map +1 -0
  255. package/dist/tools/infrastructure/bash-tool.js +84 -0
  256. package/dist/tools/infrastructure/bash-tool.js.map +1 -0
  257. package/dist/tools/infrastructure/edit-tool.d.ts +9 -0
  258. package/dist/tools/infrastructure/edit-tool.d.ts.map +1 -0
  259. package/dist/tools/infrastructure/edit-tool.js +80 -0
  260. package/dist/tools/infrastructure/edit-tool.js.map +1 -0
  261. package/dist/tools/infrastructure/git-tool.d.ts +20 -0
  262. package/dist/tools/infrastructure/git-tool.d.ts.map +1 -0
  263. package/dist/tools/infrastructure/git-tool.js +85 -0
  264. package/dist/tools/infrastructure/git-tool.js.map +1 -0
  265. package/dist/tools/infrastructure/glob-tool.d.ts +23 -0
  266. package/dist/tools/infrastructure/glob-tool.d.ts.map +1 -0
  267. package/dist/tools/infrastructure/glob-tool.js +88 -0
  268. package/dist/tools/infrastructure/glob-tool.js.map +1 -0
  269. package/dist/tools/infrastructure/grep-tool.d.ts +23 -0
  270. package/dist/tools/infrastructure/grep-tool.d.ts.map +1 -0
  271. package/dist/tools/infrastructure/grep-tool.js +146 -0
  272. package/dist/tools/infrastructure/grep-tool.js.map +1 -0
  273. package/dist/tools/infrastructure/read-tool.d.ts +9 -0
  274. package/dist/tools/infrastructure/read-tool.d.ts.map +1 -0
  275. package/dist/tools/infrastructure/read-tool.js +45 -0
  276. package/dist/tools/infrastructure/read-tool.js.map +1 -0
  277. package/dist/tools/infrastructure/tool-helpers.d.ts +37 -0
  278. package/dist/tools/infrastructure/tool-helpers.d.ts.map +1 -0
  279. package/dist/tools/infrastructure/tool-helpers.js +145 -0
  280. package/dist/tools/infrastructure/tool-helpers.js.map +1 -0
  281. package/dist/tools/infrastructure/write-tool.d.ts +9 -0
  282. package/dist/tools/infrastructure/write-tool.d.ts.map +1 -0
  283. package/dist/tools/infrastructure/write-tool.js +38 -0
  284. package/dist/tools/infrastructure/write-tool.js.map +1 -0
  285. package/dist/tools/mcp/dev-tools-server.d.ts +37 -0
  286. package/dist/tools/mcp/dev-tools-server.d.ts.map +1 -0
  287. package/dist/tools/mcp/dev-tools-server.js +94 -0
  288. package/dist/tools/mcp/dev-tools-server.js.map +1 -0
  289. package/dist/tools/tool-executor.d.ts +34 -0
  290. package/dist/tools/tool-executor.d.ts.map +1 -0
  291. package/dist/tools/tool-executor.js +123 -0
  292. package/dist/tools/tool-executor.js.map +1 -0
  293. package/package.json +6 -5
  294. package/dist/orchestrator/strategies/swarm-strategy.d.ts +0 -36
  295. package/dist/orchestrator/strategies/swarm-strategy.d.ts.map +0 -1
  296. package/dist/orchestrator/strategies/swarm-strategy.js +0 -126
  297. package/dist/orchestrator/strategies/swarm-strategy.js.map +0 -1
@@ -4,11 +4,14 @@ import { EventBus } from "../events/event-bus.js";
4
4
  import { CostTracker } from "../cost/cost-tracker.js";
5
5
  import { createTraceContext, startSpan } from "../events/trace.js";
6
6
  import { TaskTree, BatchExecutor } from "../tree/index.js";
7
- import { GateRunner, VerificationLoop } from "../verification/index.js";
8
7
  import { createStrategy } from "./strategies/index.js";
9
- import { createPolicy, ROLE_PRESETS } from "../sandbox/index.js";
10
8
  import { ProviderRegistry } from "../agents/provider-registry.js";
11
- import { GitSyncManager } from "../memory/git-sync-manager.js";
9
+ import { attachFieldUpdater, startFieldPropagator, startFieldInhibitor, startStabilityMonitor } from "../field/field-service.js";
10
+ import { OrchestratorCheckpointSupport } from "./orchestrator-checkpoint-support.js";
11
+ import { OrchestratorInterruptSupport } from "./orchestrator-interrupt-support.js";
12
+ import { OrchestratorDevToolSupport } from "./orchestrator-dev-tool-support.js";
13
+ import { OrchestratorMemorySyncSupport } from "./orchestrator-memory-sync-support.js";
14
+ import { OrchestratorVerificationSupport } from "./orchestrator-verification-support.js";
12
15
  const DEFAULT_CONFIG = {
13
16
  requireApproval: true,
14
17
  maxDepth: 3,
@@ -23,39 +26,94 @@ const DEFAULT_CONFIG = {
23
26
  export class Orchestrator {
24
27
  _eventBus;
25
28
  _phaseMachine;
26
- _costTracker;
27
29
  _config;
30
+ _costTracker;
28
31
  _tree;
29
32
  _batchExecutor;
30
33
  _providerRegistry;
31
- _sandboxPolicies = new Map();
34
+ _devToolSupport;
35
+ _verificationSupport;
36
+ _memorySyncSupport;
37
+ _checkpointSupport;
38
+ _interruptSupport;
32
39
  _sessionId = null;
33
40
  _task = null;
34
- _lastVerificationResult = null;
35
- _gitSync = null;
36
- _checkpointStore = null;
37
- _autoCheckpointUnsubscribe = null;
38
- _traceContext = null;
39
- _isRestoring = false;
40
- _lastRestoredCheckpointId = null;
41
41
  _team = null;
42
- _interruptState = null;
43
42
  constructor(config) {
44
43
  this._config = { ...DEFAULT_CONFIG, ...config };
45
44
  this._eventBus = new EventBus();
45
+ attachFieldUpdater(this._eventBus);
46
+ startFieldPropagator();
47
+ startFieldInhibitor();
48
+ startStabilityMonitor();
46
49
  this._costTracker = new CostTracker();
47
50
  // PhaseMachine is constructed without a sessionId; it gets set in start()
48
51
  this._phaseMachine = new PhaseMachine(this._eventBus, this._config);
49
52
  this._providerRegistry = new ProviderRegistry();
53
+ const parallelWorkers = this._config.parallelWorkers;
50
54
  const treeConfig = {
51
55
  maxDepth: this._config.maxDepth,
52
- batchSize: this._config.parallelWorkers,
56
+ batchSize: parallelWorkers,
53
57
  depthDiscount: 0.8,
54
58
  };
55
59
  this._tree = new TaskTree({ config: treeConfig, eventBus: this._eventBus });
56
60
  this._batchExecutor = new BatchExecutor({
57
- concurrency: this._config.parallelWorkers,
61
+ concurrency: parallelWorkers,
62
+ eventBus: this._eventBus,
63
+ });
64
+ this._devToolSupport = new OrchestratorDevToolSupport({
65
+ eventBus: this._eventBus,
66
+ getSessionContext: () => ({
67
+ sessionId: this._sessionId ?? "",
68
+ taskId: this._task ?? undefined,
69
+ }),
70
+ });
71
+ this._verificationSupport = new OrchestratorVerificationSupport({
72
+ eventBus: this._eventBus,
73
+ getSessionId: () => this._sessionId ?? "",
74
+ getMaxIterations: () => this._config.maxIterations ?? 3,
75
+ });
76
+ this._memorySyncSupport = new OrchestratorMemorySyncSupport({
77
+ eventBus: this._eventBus,
78
+ });
79
+ this._checkpointSupport = new OrchestratorCheckpointSupport({
80
+ phaseMachine: this._phaseMachine,
81
+ config: this._config,
82
+ tree: this._tree,
83
+ batchExecutor: this._batchExecutor,
58
84
  eventBus: this._eventBus,
85
+ getSessionState: () => ({
86
+ sessionId: this._sessionId,
87
+ task: this._task,
88
+ }),
89
+ setSessionState: ({ sessionId, task }) => {
90
+ this._sessionId = sessionId;
91
+ this._task = task;
92
+ },
93
+ getCostSummary: () => this._costTracker.summary,
94
+ resetCostTrackerFromSummary: (summary) => {
95
+ this._costTracker = new CostTracker();
96
+ for (const key of Object.keys(summary.byRoleModel)) {
97
+ const usage = summary.byRoleModel[key];
98
+ if (usage) {
99
+ this._costTracker.record(usage.role, usage.model, {
100
+ inputTokens: usage.inputTokens,
101
+ outputTokens: usage.outputTokens,
102
+ cacheReadTokens: usage.cacheReadTokens,
103
+ cacheWriteTokens: usage.cacheWriteTokens,
104
+ });
105
+ }
106
+ }
107
+ },
108
+ });
109
+ this._interruptSupport = new OrchestratorInterruptSupport({
110
+ eventBus: this._eventBus,
111
+ getSessionId: () => this._sessionId,
112
+ getCurrentPhase: () => this._phaseMachine.currentPhase,
113
+ hasCheckpointStore: () => this._checkpointSupport.checkpointStore !== null,
114
+ checkpoint: (options) => this.checkpoint(options),
115
+ loadCheckpointMetadata: (checkpointId) => this._checkpointSupport.loadCheckpointMetadata(checkpointId),
116
+ resume: (checkpointId) => this.resume(checkpointId),
59
117
  });
60
118
  }
61
119
  /** Expose EventBus for external subscribers (TUI, MCP) */
@@ -92,28 +150,14 @@ export class Orchestrator {
92
150
  }
93
151
  /** Last verification result (null if no run yet) */
94
152
  get verificationResult() {
95
- return this._lastVerificationResult;
153
+ return this._verificationSupport.verificationResult;
96
154
  }
97
155
  /**
98
156
  * Run the verification loop with the given quality gates.
99
157
  * Creates a GateRunner + VerificationLoop, executes, and stores the result.
100
158
  */
101
159
  async runVerification(gates, cwd, fixHandler) {
102
- const gateRunner = new GateRunner({ cwd });
103
- const verificationConfig = {
104
- maxIterations: this._config.maxIterations ?? 3,
105
- coverageThreshold: 0,
106
- };
107
- const loop = new VerificationLoop({
108
- gateRunner,
109
- eventBus: this._eventBus,
110
- config: verificationConfig,
111
- gates,
112
- sessionId: this._sessionId ?? "",
113
- });
114
- const result = await loop.run(fixHandler);
115
- this._lastVerificationResult = result;
116
- return result;
160
+ return this._verificationSupport.runVerification(gates, cwd, fixHandler);
117
161
  }
118
162
  /**
119
163
  * Begin orchestration for a task.
@@ -124,8 +168,8 @@ export class Orchestrator {
124
168
  const sessionId = randomUUID();
125
169
  this._sessionId = sessionId;
126
170
  this._task = task;
127
- this._traceContext = createTraceContext(sessionId);
128
- const { span: sessionSpan } = startSpan(this._traceContext, "session", "phase", { task });
171
+ const traceContext = createTraceContext(sessionId);
172
+ const { span: sessionSpan } = startSpan(traceContext, "session", "phase", { task });
129
173
  this.emitTraceSpan(sessionSpan);
130
174
  this._phaseMachine.reset();
131
175
  this._phaseMachine.setSessionId(sessionId);
@@ -170,22 +214,24 @@ export class Orchestrator {
170
214
  }
171
215
  /** Initialize sandbox policies for the given project directory */
172
216
  initSandbox(projectPath) {
173
- for (const role of Object.keys(ROLE_PRESETS)) {
174
- this._sandboxPolicies.set(role, createPolicy(role, projectPath));
175
- }
217
+ this._devToolSupport.initSandbox(projectPath);
176
218
  }
177
219
  /** Get sandbox policy for a specific role */
178
220
  getSandboxPolicy(role) {
179
- return this._sandboxPolicies.get(role);
221
+ return this._devToolSupport.getSandboxPolicy(role);
180
222
  }
181
223
  /** Whether sandbox policies have been initialized */
182
224
  get sandboxEnabled() {
183
- return this._sandboxPolicies.size > 0;
225
+ return this._devToolSupport.sandboxEnabled;
184
226
  }
185
227
  /** Expose ProviderRegistry for CLI/MCP configuration */
186
228
  get providerRegistry() {
187
229
  return this._providerRegistry;
188
230
  }
231
+ /** Expose native dev tool registry for setup/configuration */
232
+ get devToolRegistry() {
233
+ return this._devToolSupport.devToolRegistry;
234
+ }
189
235
  /** Register a provider adapter by name */
190
236
  registerProvider(name, adapter) {
191
237
  this._providerRegistry.register(name, adapter);
@@ -198,24 +244,28 @@ export class Orchestrator {
198
244
  getProviderForRole(role) {
199
245
  return this._providerRegistry.getForRole(role);
200
246
  }
247
+ /** Register a native developer tool by name */
248
+ registerDevTool(tool) {
249
+ this._devToolSupport.registerDevTool(tool);
250
+ }
251
+ /**
252
+ * Execute a native developer tool through the shared bridge.
253
+ * If no explicit sandbox is provided and a role is present, use the role sandbox policy.
254
+ */
255
+ async executeDevTool(request) {
256
+ return this._devToolSupport.executeDevTool(request);
257
+ }
201
258
  /** Initialize git-synced memory and run auto-import */
202
259
  initMemorySync(projectPath) {
203
- this._gitSync = new GitSyncManager({
204
- projectPath,
205
- eventBus: this._eventBus,
206
- });
207
- this._gitSync.autoImport();
260
+ this._memorySyncSupport.initMemorySync(projectPath);
208
261
  }
209
262
  /** Get memory sync status (null if not initialized) */
210
263
  memorySyncStatus() {
211
- return this._gitSync?.syncStatus() ?? null;
264
+ return this._memorySyncSupport.memorySyncStatus();
212
265
  }
213
266
  /** Flush project memory with developer attribution */
214
267
  async flushMemory(store) {
215
- if (!this._gitSync) {
216
- throw new Error("Memory sync not initialized. Call initMemorySync() first.");
217
- }
218
- await this._gitSync.flush(store);
268
+ await this._memorySyncSupport.flushMemory(store);
219
269
  }
220
270
  /** Expose TaskTree for TUI/MCP consumers */
221
271
  get tree() {
@@ -282,185 +332,30 @@ export class Orchestrator {
282
332
  return this._tree.applyAction(taskId, evaluation.action, statement);
283
333
  }
284
334
  attachCheckpointStore(store) {
285
- this._checkpointStore = store;
286
- if (this._autoCheckpointUnsubscribe) {
287
- this._autoCheckpointUnsubscribe();
288
- }
289
- const handler = (_event) => {
290
- if (this._isRestoring)
291
- return;
292
- if (this._sessionId && this._task) {
293
- this.checkpoint().catch((err) => {
294
- console.error("Auto-checkpoint failed:", err);
295
- });
296
- }
297
- };
298
- this._eventBus.on("phase_changed", handler);
299
- this._autoCheckpointUnsubscribe = () => {
300
- this._eventBus.off("phase_changed", handler);
301
- };
335
+ this._checkpointSupport.attachStore(store);
302
336
  }
303
337
  async checkpoint(options) {
304
- if (!this._checkpointStore) {
305
- throw new Error("No checkpoint store attached. Call attachCheckpointStore() first.");
306
- }
307
- if (!this._sessionId || !this._task) {
308
- throw new Error("No active session. Call start() first.");
309
- }
310
- const checkpointId = randomUUID();
311
- const checkpoint = {
312
- id: checkpointId,
313
- sessionId: this._sessionId,
314
- parentId: this._lastRestoredCheckpointId,
315
- phase: this._phaseMachine.currentPhase,
316
- phaseIndex: this._config.phases.indexOf(this._phaseMachine.currentPhase),
317
- status: this._phaseMachine.status,
318
- task: this._task,
319
- tree: this._tree.toJSON(),
320
- eventHistory: this._eventBus.history(),
321
- costSummary: this._costTracker.summary,
322
- timestamp: new Date(),
323
- metadata: options?.metadata,
324
- };
325
- await this._checkpointStore.save(checkpoint, options);
326
- return checkpointId;
338
+ return this._checkpointSupport.checkpoint(options);
327
339
  }
328
340
  async resume(checkpointId) {
329
- if (!this._checkpointStore) {
330
- throw new Error("No checkpoint store attached. Call attachCheckpointStore() first.");
331
- }
332
- const checkpoint = await this._checkpointStore.load(checkpointId);
333
- if (!checkpoint) {
334
- throw new Error(`Checkpoint not found: ${checkpointId}`);
335
- }
336
- this._isRestoring = true;
337
- try {
338
- const newSessionId = randomUUID();
339
- this._sessionId = newSessionId;
340
- this._task = checkpoint.task;
341
- this._lastRestoredCheckpointId = checkpointId;
342
- this._phaseMachine.reset();
343
- this._phaseMachine.restoreState(checkpoint.phaseIndex, checkpoint.status);
344
- this._tree.setSessionId(newSessionId);
345
- this._batchExecutor.setSessionId(newSessionId);
346
- this._tree.loadFromJSON(checkpoint.tree);
347
- // M4: reset cost tracker before replaying checkpoint costs to avoid double-counting
348
- this._costTracker = new CostTracker();
349
- for (const key of Object.keys(checkpoint.costSummary.byRoleModel)) {
350
- const usage = checkpoint.costSummary.byRoleModel[key];
351
- if (usage) {
352
- this._costTracker.record(usage.role, usage.model, {
353
- inputTokens: usage.inputTokens,
354
- outputTokens: usage.outputTokens,
355
- cacheReadTokens: usage.cacheReadTokens,
356
- cacheWriteTokens: usage.cacheWriteTokens,
357
- });
358
- }
359
- }
360
- const meta = phaseMeta(this._phaseMachine.currentPhase);
361
- const phaseEvent = {
362
- type: "phase_changed",
363
- phase: this._phaseMachine.currentPhase,
364
- phaseName: meta.name,
365
- phaseDescription: meta.description,
366
- timestamp: new Date(),
367
- sessionId: newSessionId,
368
- };
369
- this._eventBus.emit(phaseEvent);
370
- return newSessionId;
371
- }
372
- finally {
373
- this._isRestoring = false;
374
- }
341
+ return this._checkpointSupport.resume(checkpointId);
375
342
  }
376
343
  async fork(checkpointId, options) {
377
- const newSessionId = await this.resume(checkpointId);
378
- const checkpoint = await this._checkpointStore.load(checkpointId);
379
- if (!checkpoint) {
380
- throw new Error(`Checkpoint not found: ${checkpointId}`);
381
- }
382
- const forkCheckpointId = randomUUID();
383
- const forkCheckpoint = {
384
- id: forkCheckpointId,
385
- sessionId: newSessionId,
386
- parentId: checkpointId,
387
- phase: this._phaseMachine.currentPhase,
388
- phaseIndex: this._config.phases.indexOf(this._phaseMachine.currentPhase),
389
- status: this._phaseMachine.status,
390
- task: this._task ?? "",
391
- tree: this._tree.toJSON(),
392
- eventHistory: this._eventBus.history(),
393
- costSummary: this._costTracker.summary,
394
- timestamp: new Date(),
395
- metadata: options?.metadata,
396
- };
397
- await this._checkpointStore.save(forkCheckpoint, options);
398
- return newSessionId;
344
+ return this._checkpointSupport.fork(checkpointId, options);
399
345
  }
400
346
  async replay(checkpointId, overrides) {
401
- if (!this._checkpointStore) {
402
- throw new Error("No checkpoint store attached. Call attachCheckpointStore() first.");
403
- }
404
- const checkpoint = await this._checkpointStore.load(checkpointId);
405
- if (!checkpoint) {
406
- throw new Error(`Checkpoint not found: ${checkpointId}`);
407
- }
408
- // C1: call resume() first so phaseMachine.reset() + restoreState() run before overrides
409
- const newSessionId = await this.resume(checkpointId);
410
- // Apply startPhase override after resume() so it is not overwritten
411
- if (overrides?.startPhase) {
412
- const phaseIndex = this._config.phases.indexOf(overrides.startPhase);
413
- if (phaseIndex === -1) {
414
- throw new Error(`Phase not found: ${overrides.startPhase}`);
415
- }
416
- this._phaseMachine.restoreState(phaseIndex, checkpoint.status);
417
- }
418
- // M1: only apply task override after resume() (dead code before was overwritten)
419
- if (overrides?.task) {
420
- this._task = overrides.task;
421
- }
422
- return newSessionId;
347
+ return this._checkpointSupport.replay(checkpointId, overrides);
423
348
  }
424
349
  /** Current interrupt state (null if not interrupted) */
425
350
  get interruptState() {
426
- return this._interruptState;
351
+ return this._interruptSupport.state;
427
352
  }
428
353
  /**
429
354
  * Interrupt execution. Creates a checkpoint with interrupt state in metadata.
430
355
  * Returns the checkpoint ID that must be used to resume.
431
356
  */
432
357
  async interrupt(request) {
433
- if (!this._checkpointStore) {
434
- throw new Error("No checkpoint store attached. Call attachCheckpointStore() first.");
435
- }
436
- if (!this._sessionId) {
437
- throw new Error("No active session. Call start() first.");
438
- }
439
- const interruptState = {
440
- reason: request.reason,
441
- resumeSchema: request.resumeSchema,
442
- requestedAt: new Date().toISOString(),
443
- phase: this._phaseMachine.currentPhase,
444
- };
445
- this._interruptState = interruptState;
446
- // Create checkpoint with interrupt state in metadata
447
- const checkpointId = await this.checkpoint({
448
- metadata: {
449
- ...request.metadata,
450
- interruptState,
451
- },
452
- });
453
- // Emit interrupt event
454
- const event = {
455
- type: "interrupt_requested",
456
- checkpointId,
457
- reason: request.reason,
458
- resumeSchema: request.resumeSchema,
459
- timestamp: new Date(),
460
- sessionId: this._sessionId,
461
- };
462
- this._eventBus.emit(event);
463
- return checkpointId;
358
+ return this._interruptSupport.interrupt(request);
464
359
  }
465
360
  /**
466
361
  * Resume from an interrupt with a value.
@@ -468,31 +363,7 @@ export class Orchestrator {
468
363
  * Returns the new session ID.
469
364
  */
470
365
  async resumeInterrupt(command) {
471
- if (!this._checkpointStore) {
472
- throw new Error("No checkpoint store attached. Call attachCheckpointStore() first.");
473
- }
474
- const checkpoint = await this._checkpointStore.load(command.checkpointId);
475
- if (!checkpoint) {
476
- throw new Error(`Checkpoint not found: ${command.checkpointId}`);
477
- }
478
- // Verify this checkpoint has interrupt state
479
- const interruptState = checkpoint.metadata?.interruptState;
480
- if (!interruptState) {
481
- throw new Error("Checkpoint does not contain interrupt state");
482
- }
483
- // Resume from checkpoint
484
- const newSessionId = await this.resume(command.checkpointId);
485
- this._interruptState = null;
486
- // Emit resume event
487
- const event = {
488
- type: "interrupt_resumed",
489
- checkpointId: command.checkpointId,
490
- resumeValue: command.value,
491
- timestamp: new Date(),
492
- sessionId: newSessionId,
493
- };
494
- this._eventBus.emit(event);
495
- return newSessionId;
366
+ return this._interruptSupport.resumeInterrupt(command);
496
367
  }
497
368
  emitTraceSpan(span) {
498
369
  if (!this._sessionId)
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/orchestrator/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAKtD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGnE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAM3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAMlE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGjI,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AAEzF,MAAM,cAAc,GAAuB;IACzC,eAAe,EAAE,IAAI;IACrB,QAAQ,EAAE,CAAC;IACX,eAAe,EAAE,CAAC;IAClB,MAAM,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC;IACjF,aAAa,EAAE,CAAC;CACjB,CAAC;AAqBF;;;GAGG;AACH,MAAM,OAAO,YAAY;IACN,SAAS,CAAW;IACpB,aAAa,CAAe;IAC5B,OAAO,CAAqB;IACrC,YAAY,CAAc;IACjB,KAAK,CAAW;IAChB,cAAc,CAAgB;IAC9B,iBAAiB,CAAmB;IACpC,eAAe,CAA6B;IAC5C,oBAAoB,CAAkC;IACtD,kBAAkB,CAAgC;IAClD,kBAAkB,CAAgC;IAClD,iBAAiB,CAA+B;IACzD,UAAU,GAAkB,IAAI,CAAC;IACjC,KAAK,GAAkB,IAAI,CAAC;IAC5B,KAAK,GAAgB,IAAI,CAAC;IAElC,YAAY,MAAoC;QAC9C,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,oBAAoB,EAAE,CAAC;QACvB,mBAAmB,EAAE,CAAC;QACtB,qBAAqB,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC;QACtC,0EAA0E;QAC1E,IAAI,CAAC,aAAa,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,iBAAiB,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAEhD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;QACrD,MAAM,UAAU,GAAe;YAC7B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC/B,SAAS,EAAE,eAAe;YAC1B,aAAa,EAAE,GAAG;SACnB,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc,GAAG,IAAI,aAAa,CAAC;YACtC,WAAW,EAAE,eAAe;YAC5B,QAAQ,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,IAAI,0BAA0B,CAAC;YACpD,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;gBACxB,SAAS,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;gBAChC,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;aAChC,CAAC;SACH,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,GAAG,IAAI,+BAA+B,CAAC;YAC9D,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE;YACzC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC;SACxD,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,GAAG,IAAI,6BAA6B,CAAC;YAC1D,QAAQ,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,GAAG,IAAI,6BAA6B,CAAC;YAC1D,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;gBACtB,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,IAAI,EAAE,IAAI,CAAC,KAAK;aACjB,CAAC;YACF,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE;gBACvC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO;YAC/C,2BAA2B,EAAE,CAAC,OAAO,EAAE,EAAE;gBACvC,IAAI,CAAC,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC;gBACtC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBACnD,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBACvC,IAAI,KAAK,EAAE,CAAC;wBACV,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE;4BAChD,WAAW,EAAE,KAAK,CAAC,WAAW;4BAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;4BAChC,eAAe,EAAE,KAAK,CAAC,eAAe;4BACtC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;yBACzC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,GAAG,IAAI,4BAA4B,CAAC;YACxD,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU;YACnC,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY;YACtD,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,KAAK,IAAI;YAC1E,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACjD,sBAAsB,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,YAAY,CAAC;YACtG,MAAM,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;SACpD,CAAC,CAAC;IACL,CAAC;IAED,0DAA0D;IAC1D,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,+DAA+D;IAC/D,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,iDAAiD;IACjD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;IACzC,CAAC;IAED,+CAA+C;IAC/C,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IACnC,CAAC;IAED,iFAAiF;IACjF,WAAW,CACT,IAAY,EACZ,KAAa,EACb,KAAuG;QAEvG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,iCAAiC;IACjC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,+CAA+C;IAC/C,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,gDAAgD;IAChD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,oDAAoD;IACpD,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CACnB,KAA6B,EAC7B,GAAW,EACX,UAAuB;QAEvB,OAAO,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAC3E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAY;QAChB,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAEhC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAE3B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACxD,MAAM,UAAU,GAAsB;YACpC,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY;YACtC,SAAS,EAAE,IAAI,CAAC,IAAI;YACpB,gBAAgB,EAAE,IAAI,CAAC,WAAW;YAClC,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS;SACV,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEhC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,6DAA6D;IAC7D,YAAY,CAAC,UAA4B;QACvC,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,8DAA8D;IAC9D,OAAO;QACL,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;IAED,6DAA6D;IAC7D,MAAM,CAAC,MAAc;QACnB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,8DAA8D;IAC9D,MAAM;QACJ,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,gDAAgD;IAChD,OAAO,CAAC,IAAU;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,4CAA4C;IAC5C,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,kEAAkE;IAClE,WAAW,CAAC,WAAmB;QAC7B,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,6CAA6C;IAC7C,gBAAgB,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,qDAAqD;IACrD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC;IAC7C,CAAC;IAED,wDAAwD;IACxD,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,8DAA8D;IAC9D,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;IAC9C,CAAC;IAED,0CAA0C;IAC1C,gBAAgB,CAAC,IAAY,EAAE,OAAwB;QACrD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,kDAAkD;IAClD,eAAe,CAAC,IAAe,EAAE,YAAoB;QACnD,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC7D,CAAC;IAED,uFAAuF;IACvF,kBAAkB,CAAC,IAAe;QAChC,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,+CAA+C;IAC/C,eAAe,CAAC,IAAa;QAC3B,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAClB,OAAoF;QAEpF,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,uDAAuD;IACvD,cAAc,CAAC,WAAmB;QAChC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,uDAAuD;IACvD,gBAAgB;QACd,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,CAAC;IACpD,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,WAAW,CAAC,KAAyB;QACzC,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,4CAA4C;IAC5C,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,iDAAiD;IACjD,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAmB;QAC1B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE5C,iDAAiD;QACjD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC3B,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAClD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CACb,gBAAgB,IAAI,CAAC,QAAQ,iCAAiC,IAAI,CAAC,EAAE,GAAG,CACzE,CAAC;gBACJ,CAAC;gBACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CACxC,YAAY,EACZ,QAAQ,EACR,IAAI,CAAC,SAAS,CACf,CAAC;gBACF,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;oBACzB,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAwB;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,YAAY,CAAC;QAC9C,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI;YACzB,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;SAC7C,CAAC;QAEV,OAAO,QAAQ,CAAC,OAAO,CACrB;YACE,IAAI;YACJ,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,SAAS,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;SACjC,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,cAAc,CACZ,MAAc,EACd,UAA0B;QAE1B,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;IAED,qBAAqB,CAAC,KAAsB;QAC1C,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA2B;QAC1C,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,YAAoB;QAC/B,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,YAAoB,EAAE,OAA2B;QAC1D,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,YAAoB,EAAE,SAA2B;QAC5D,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,wDAAwD;IACxD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,OAAyB;QACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,OAAsB;QAC1C,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAEO,aAAa,CAAC,IAAe;QACnC,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,MAAM,UAAU,GAAmB;YACjC,IAAI,EAAE,YAAY;YAClB,IAAI;YACJ,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,IAAI,CAAC,UAAU;SAC3B,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;CACF"}
@@ -24,5 +24,4 @@ export interface ExecutionStrategy {
24
24
  export declare function createStrategy(mode: TeamMode): ExecutionStrategy;
25
25
  export { SequentialStrategy } from "./sequential-strategy.js";
26
26
  export { SupervisorStrategy } from "./supervisor-strategy.js";
27
- export { SwarmStrategy } from "./swarm-strategy.js";
28
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/strategies/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKvD,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,mEAAmE;AACnE,MAAM,MAAM,eAAe,GAAG,CAC5B,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,WAAW,CAAC,CAAC;AAE1B,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;CAClF;AAED,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,iBAAiB,CAShE;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/strategies/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIvD,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,mEAAmE;AACnE,MAAM,MAAM,eAAe,GAAG,CAC5B,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,WAAW,CAAC,CAAC;AAE1B,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;CAClF;AAED,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,iBAAiB,CAOhE;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1,8 +1,7 @@
1
- // Execution strategies for team modes: sequential, supervisor, swarm
1
+ // Execution strategies for team modes: sequential and supervisor
2
2
  // Strategy pattern -- adding a new mode means adding a new strategy file
3
3
  import { SequentialStrategy } from "./sequential-strategy.js";
4
4
  import { SupervisorStrategy } from "./supervisor-strategy.js";
5
- import { SwarmStrategy } from "./swarm-strategy.js";
6
5
  /** Strategy factory: resolves team mode to strategy */
7
6
  export function createStrategy(mode) {
8
7
  switch (mode) {
@@ -10,11 +9,8 @@ export function createStrategy(mode) {
10
9
  return new SequentialStrategy();
11
10
  case "supervisor":
12
11
  return new SupervisorStrategy();
13
- case "swarm":
14
- return new SwarmStrategy();
15
12
  }
16
13
  }
17
14
  export { SequentialStrategy } from "./sequential-strategy.js";
18
15
  export { SupervisorStrategy } from "./supervisor-strategy.js";
19
- export { SwarmStrategy } from "./swarm-strategy.js";
20
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/orchestrator/strategies/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,yEAAyE;AASzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAwBpD,uDAAuD;AACvD,MAAM,UAAU,cAAc,CAAC,IAAc;IAC3C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY;YACf,OAAO,IAAI,kBAAkB,EAAE,CAAC;QAClC,KAAK,YAAY;YACf,OAAO,IAAI,kBAAkB,EAAE,CAAC;QAClC,KAAK,OAAO;YACV,OAAO,IAAI,aAAa,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/orchestrator/strategies/index.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,yEAAyE;AASzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAwB9D,uDAAuD;AACvD,MAAM,UAAU,cAAc,CAAC,IAAc;IAC3C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY;YACf,OAAO,IAAI,kBAAkB,EAAE,CAAC;QAClC,KAAK,YAAY;YACf,OAAO,IAAI,kBAAkB,EAAE,CAAC;IACpC,CAAC;AACH,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Task Registry: shared task-state substrate for multi-agent teams.
3
+ *
4
+ * Agents query the registry to find work. Results are published as concise
5
+ * summaries, not full tool call logs (prevents context contamination).
6
+ *
7
+ * Design principles (from research):
8
+ * - Publish only results, not process (Workforce isolation)
9
+ * - Registry is the coordination medium (no direct agent-to-agent messaging)
10
+ * - Tasks carry demand signal for demand-based allocation
11
+ */
12
+ import type { TaskCategory } from "./demand-allocator.js";
13
+ /** Status of a registered task */
14
+ export type RegisteredTaskStatus = "open" | "claimed" | "completed" | "failed" | "blocked";
15
+ /** A registered task entry */
16
+ export interface RegisteredTask {
17
+ readonly id: string;
18
+ readonly description: string;
19
+ readonly category: TaskCategory;
20
+ readonly demand: number;
21
+ readonly status: RegisteredTaskStatus;
22
+ readonly assignee?: string;
23
+ readonly dependencies: readonly string[];
24
+ readonly result?: string;
25
+ readonly error?: string;
26
+ readonly createdAt: number;
27
+ readonly updatedAt: number;
28
+ readonly parentId?: string;
29
+ }
30
+ /** Options for registering a new task */
31
+ export interface RegisterTaskOptions {
32
+ readonly id: string;
33
+ readonly description: string;
34
+ readonly category: TaskCategory;
35
+ readonly demand: number;
36
+ readonly dependencies?: readonly string[];
37
+ readonly parentId?: string;
38
+ }
39
+ /** Options for completing a task */
40
+ export interface CompleteTaskOptions {
41
+ readonly result: string;
42
+ }
43
+ /** Options for failing a task */
44
+ export interface FailTaskOptions {
45
+ readonly error: string;
46
+ }
47
+ export declare class TaskRegistry {
48
+ private readonly tasks;
49
+ constructor();
50
+ /**
51
+ * Publish a new task to the channel. Status starts as "open"
52
+ * unless it has unresolved dependencies (then "blocked").
53
+ */
54
+ register(options: RegisterTaskOptions): RegisteredTask;
55
+ /**
56
+ * Claim a task for an agent. Only "open" tasks can be claimed.
57
+ * Returns the updated task, or null if the task is not claimable.
58
+ */
59
+ claim(taskId: string, agentId: string): RegisteredTask | null;
60
+ /**
61
+ * Complete a task with a concise result summary.
62
+ * Only "claimed" tasks can be completed.
63
+ * After completion, unblocks dependent tasks whose deps are all resolved.
64
+ */
65
+ complete(taskId: string, options: CompleteTaskOptions): RegisteredTask | null;
66
+ /**
67
+ * Mark a task as failed with an error description.
68
+ * Only "claimed" tasks can be failed.
69
+ */
70
+ fail(taskId: string, options: FailTaskOptions): RegisteredTask | null;
71
+ /**
72
+ * Release a claimed task back to "open" (agent gave up or was reassigned).
73
+ * Only "claimed" tasks can be released.
74
+ */
75
+ release(taskId: string): RegisteredTask | null;
76
+ /** Get a task by ID */
77
+ get(taskId: string): RegisteredTask | undefined;
78
+ /** Get all tasks with a specific status */
79
+ byStatus(status: RegisteredTaskStatus): readonly RegisteredTask[];
80
+ /** Get all open tasks (available for claim) */
81
+ open(): readonly RegisteredTask[];
82
+ /** Get all tasks assigned to a specific agent */
83
+ byAssignee(agentId: string): readonly RegisteredTask[];
84
+ /** Get all tasks in the channel */
85
+ all(): readonly RegisteredTask[];
86
+ /** Get count of tasks by status */
87
+ counts(): Readonly<Record<RegisteredTaskStatus, number>>;
88
+ /**
89
+ * Check blocked tasks and unblock any whose dependencies are all completed.
90
+ * Called internally after task completion, but can also be called externally.
91
+ */
92
+ unblockDependents(completedTaskId: string): void;
93
+ }
94
+ //# sourceMappingURL=task-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-registry.d.ts","sourceRoot":"","sources":["../../src/orchestrator/task-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,kCAAkC;AAClC,MAAM,MAAM,oBAAoB,GAC5B,MAAM,GACN,SAAS,GACT,WAAW,GACX,QAAQ,GACR,SAAS,CAAC;AAEd,8BAA8B;AAC9B,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,yCAAyC;AACzC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,oCAAoC;AACpC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,iCAAiC;AACjC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;;IAMpD;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,cAAc;IAwBtD;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAc7D;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,cAAc,GAAG,IAAI;IAkB7E;;;OAGG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,cAAc,GAAG,IAAI;IAcrE;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAc9C,uBAAuB;IACvB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI/C,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,GAAG,SAAS,cAAc,EAAE;IAIjE,+CAA+C;IAC/C,IAAI,IAAI,SAAS,cAAc,EAAE;IAIjC,iDAAiD;IACjD,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,cAAc,EAAE;IAItD,mCAAmC;IACnC,GAAG,IAAI,SAAS,cAAc,EAAE;IAIhC,mCAAmC;IACnC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IAcxD;;;OAGG;IACH,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI;CAejD"}