aicodeman 0.4.5 → 0.4.7

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 (129) hide show
  1. package/dist/orchestrator-loop.d.ts +124 -0
  2. package/dist/orchestrator-loop.d.ts.map +1 -0
  3. package/dist/orchestrator-loop.js +853 -0
  4. package/dist/orchestrator-loop.js.map +1 -0
  5. package/dist/orchestrator-planner.d.ts +58 -0
  6. package/dist/orchestrator-planner.d.ts.map +1 -0
  7. package/dist/orchestrator-planner.js +342 -0
  8. package/dist/orchestrator-planner.js.map +1 -0
  9. package/dist/orchestrator-verifier.d.ts +52 -0
  10. package/dist/orchestrator-verifier.d.ts.map +1 -0
  11. package/dist/orchestrator-verifier.js +234 -0
  12. package/dist/orchestrator-verifier.js.map +1 -0
  13. package/dist/prompts/index.d.ts +1 -0
  14. package/dist/prompts/index.d.ts.map +1 -1
  15. package/dist/prompts/index.js +1 -0
  16. package/dist/prompts/index.js.map +1 -1
  17. package/dist/prompts/orchestrator.d.ts +65 -0
  18. package/dist/prompts/orchestrator.d.ts.map +1 -0
  19. package/dist/prompts/orchestrator.js +112 -0
  20. package/dist/prompts/orchestrator.js.map +1 -0
  21. package/dist/state-store.d.ts +6 -0
  22. package/dist/state-store.d.ts.map +1 -1
  23. package/dist/state-store.js +21 -0
  24. package/dist/state-store.js.map +1 -1
  25. package/dist/types/app-state.d.ts +2 -0
  26. package/dist/types/app-state.d.ts.map +1 -1
  27. package/dist/types/app-state.js.map +1 -1
  28. package/dist/types/index.d.ts +2 -0
  29. package/dist/types/index.d.ts.map +1 -1
  30. package/dist/types/index.js +2 -0
  31. package/dist/types/index.js.map +1 -1
  32. package/dist/types/orchestrator.d.ts +211 -0
  33. package/dist/types/orchestrator.d.ts.map +1 -0
  34. package/dist/types/orchestrator.js +58 -0
  35. package/dist/types/orchestrator.js.map +1 -0
  36. package/dist/web/ports/index.d.ts +1 -0
  37. package/dist/web/ports/index.d.ts.map +1 -1
  38. package/dist/web/ports/orchestrator-port.d.ts +10 -0
  39. package/dist/web/ports/orchestrator-port.d.ts.map +1 -0
  40. package/dist/web/ports/orchestrator-port.js +6 -0
  41. package/dist/web/ports/orchestrator-port.js.map +1 -0
  42. package/dist/web/public/api-client.3adebdc2.js.gz +0 -0
  43. package/dist/web/public/app.cbf6e9e8.js +26 -0
  44. package/dist/web/public/app.cbf6e9e8.js.br +0 -0
  45. package/dist/web/public/app.cbf6e9e8.js.gz +0 -0
  46. package/dist/web/public/{constants.cd61abbc.js → constants.64161167.js} +14 -0
  47. package/dist/web/public/constants.64161167.js.br +0 -0
  48. package/dist/web/public/constants.64161167.js.gz +0 -0
  49. package/dist/web/public/index.html +23 -9
  50. package/dist/web/public/index.html.br +0 -0
  51. package/dist/web/public/index.html.gz +0 -0
  52. package/dist/web/public/input-cjk.92544c51.js.gz +0 -0
  53. package/dist/web/public/keyboard-accessory.9fb81db6.js.gz +0 -0
  54. package/dist/web/public/{mobile-handlers.65e5638d.js → mobile-handlers.1e2a8ef8.js} +86 -22
  55. package/dist/web/public/mobile-handlers.1e2a8ef8.js.br +0 -0
  56. package/dist/web/public/mobile-handlers.1e2a8ef8.js.gz +0 -0
  57. package/dist/web/public/mobile.fdd28a54.css +1 -0
  58. package/dist/web/public/mobile.fdd28a54.css.br +0 -0
  59. package/dist/web/public/mobile.fdd28a54.css.gz +0 -0
  60. package/dist/web/public/notification-manager.2d5ea8ec.js.gz +0 -0
  61. package/dist/web/public/orchestrator-panel.js +475 -0
  62. package/dist/web/public/orchestrator-panel.js.br +0 -0
  63. package/dist/web/public/orchestrator-panel.js.gz +0 -0
  64. package/dist/web/public/{panels-ui.d7f6be08.js → panels-ui.3dd2e29b.js} +25 -25
  65. package/dist/web/public/panels-ui.3dd2e29b.js.br +0 -0
  66. package/dist/web/public/panels-ui.3dd2e29b.js.gz +0 -0
  67. package/dist/web/public/ralph-panel.7b014f16.js.gz +0 -0
  68. package/dist/web/public/ralph-wizard.f31ab90e.js.gz +0 -0
  69. package/dist/web/public/respawn-ui.372c6ea7.js.gz +0 -0
  70. package/dist/web/public/session-ui.0a07c3b7.js.gz +0 -0
  71. package/dist/web/public/settings-ui.94c57184.js.gz +0 -0
  72. package/dist/web/public/styles.8e110d27.css +1 -0
  73. package/dist/web/public/styles.8e110d27.css.br +0 -0
  74. package/dist/web/public/styles.8e110d27.css.gz +0 -0
  75. package/dist/web/public/subagent-windows.a366a4ad.js.gz +0 -0
  76. package/dist/web/public/sw.js.gz +0 -0
  77. package/dist/web/public/terminal-ui.9b40798a.js +3 -0
  78. package/dist/web/public/terminal-ui.9b40798a.js.br +0 -0
  79. package/dist/web/public/terminal-ui.9b40798a.js.gz +0 -0
  80. package/dist/web/public/upload.html.gz +0 -0
  81. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  82. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  83. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  84. package/dist/web/public/vendor/xterm-zerolag-input.137ad9f0.js.gz +0 -0
  85. package/dist/web/public/vendor/xterm.css.gz +0 -0
  86. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  87. package/dist/web/public/voice-input.085e9e73.js.gz +0 -0
  88. package/dist/web/routes/index.d.ts +1 -0
  89. package/dist/web/routes/index.d.ts.map +1 -1
  90. package/dist/web/routes/index.js +1 -0
  91. package/dist/web/routes/index.js.map +1 -1
  92. package/dist/web/routes/orchestrator-routes.d.ts +21 -0
  93. package/dist/web/routes/orchestrator-routes.d.ts.map +1 -0
  94. package/dist/web/routes/orchestrator-routes.js +230 -0
  95. package/dist/web/routes/orchestrator-routes.js.map +1 -0
  96. package/dist/web/routes/session-routes.d.ts.map +1 -1
  97. package/dist/web/routes/session-routes.js +62 -9
  98. package/dist/web/routes/session-routes.js.map +1 -1
  99. package/dist/web/schemas.d.ts +25 -0
  100. package/dist/web/schemas.d.ts.map +1 -1
  101. package/dist/web/schemas.js +22 -0
  102. package/dist/web/schemas.js.map +1 -1
  103. package/dist/web/server.d.ts +2 -0
  104. package/dist/web/server.d.ts.map +1 -1
  105. package/dist/web/server.js +23 -1
  106. package/dist/web/server.js.map +1 -1
  107. package/dist/web/sse-events.d.ts +37 -1
  108. package/dist/web/sse-events.d.ts.map +1 -1
  109. package/dist/web/sse-events.js +39 -1
  110. package/dist/web/sse-events.js.map +1 -1
  111. package/package.json +1 -1
  112. package/dist/web/public/app.9dab4ee2.js +0 -26
  113. package/dist/web/public/app.9dab4ee2.js.br +0 -0
  114. package/dist/web/public/app.9dab4ee2.js.gz +0 -0
  115. package/dist/web/public/constants.cd61abbc.js.br +0 -0
  116. package/dist/web/public/constants.cd61abbc.js.gz +0 -0
  117. package/dist/web/public/mobile-handlers.65e5638d.js.br +0 -0
  118. package/dist/web/public/mobile-handlers.65e5638d.js.gz +0 -0
  119. package/dist/web/public/mobile.b09497a4.css +0 -1
  120. package/dist/web/public/mobile.b09497a4.css.br +0 -0
  121. package/dist/web/public/mobile.b09497a4.css.gz +0 -0
  122. package/dist/web/public/panels-ui.d7f6be08.js.br +0 -0
  123. package/dist/web/public/panels-ui.d7f6be08.js.gz +0 -0
  124. package/dist/web/public/styles.b8ec2f5a.css +0 -1
  125. package/dist/web/public/styles.b8ec2f5a.css.br +0 -0
  126. package/dist/web/public/styles.b8ec2f5a.css.gz +0 -0
  127. package/dist/web/public/terminal-ui.e4565c7b.js +0 -3
  128. package/dist/web/public/terminal-ui.e4565c7b.js.br +0 -0
  129. package/dist/web/public/terminal-ui.e4565c7b.js.gz +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator-loop.js","sourceRoot":"","sources":["../src/orchestrator-loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @fileoverview Orchestrator plan generation — converts goals into phased plans.
3
+ *
4
+ * Wraps PlanOrchestrator for AI-powered plan generation, then groups the
5
+ * resulting PlanItems into sequential phases with team strategies and
6
+ * verification criteria.
7
+ *
8
+ * Phase grouping algorithm:
9
+ * 1. Topological sort by dependencies (Kahn's algorithm)
10
+ * 2. Group into dependency layers
11
+ * 3. Sub-group by TDD phase within layers
12
+ * 4. Merge small adjacent phases
13
+ * 5. Assign team strategies based on parallelism potential
14
+ *
15
+ * Key exports:
16
+ * - `OrchestratorPlanner` class — plan generation + phase grouping
17
+ *
18
+ * @dependencies plan-orchestrator (AI plan generation), types (OrchestratorPlan, PlanItem)
19
+ * @consumedby orchestrator-loop
20
+ *
21
+ * @module orchestrator-planner
22
+ */
23
+ import { type ProgressCallback } from './plan-orchestrator.js';
24
+ import type { TerminalMultiplexer } from './mux-interface.js';
25
+ import type { OrchestratorPlan, OrchestratorConfig } from './types.js';
26
+ export declare class OrchestratorPlanner {
27
+ private mux;
28
+ private workingDir;
29
+ private config;
30
+ private orchestrator;
31
+ constructor(mux: TerminalMultiplexer, workingDir: string, config: OrchestratorConfig);
32
+ /**
33
+ * Generate a phased plan from a user goal.
34
+ *
35
+ * Uses PlanOrchestrator for AI plan generation, then groups results into phases.
36
+ */
37
+ generatePlan(goal: string, onProgress?: ProgressCallback): Promise<OrchestratorPlan>;
38
+ /** Cancel in-progress plan generation. */
39
+ cancel(): Promise<void>;
40
+ /**
41
+ * Group PlanItems into sequential phases.
42
+ *
43
+ * Algorithm:
44
+ * 1. Build dependency graph and assign IDs to items without them
45
+ * 2. Topological sort into dependency layers (Kahn's algorithm)
46
+ * 3. Sub-group within each layer by TDD phase
47
+ * 4. Merge small phases with their neighbors
48
+ */
49
+ private groupIntoPhases;
50
+ private createPhase;
51
+ private generatePhaseName;
52
+ private assignTeamStrategies;
53
+ private computeTeamStrategy;
54
+ private buildTeamLeadPrompt;
55
+ private generateCompletionPhrases;
56
+ private estimateComplexity;
57
+ }
58
+ //# sourceMappingURL=orchestrator-planner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator-planner.d.ts","sourceRoot":"","sources":["../src/orchestrator-planner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAA6C,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAGV,gBAAgB,EAGhB,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AA+BpB,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,YAAY,CAAiC;gBAEzC,GAAG,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB;IAMpF;;;;OAIG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkD1F,0CAA0C;IACpC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAW7B;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAsGvB,OAAO,CAAC,WAAW;IA+CnB,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,mBAAmB;IAoC3B,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,kBAAkB;CAS3B"}
@@ -0,0 +1,342 @@
1
+ /**
2
+ * @fileoverview Orchestrator plan generation — converts goals into phased plans.
3
+ *
4
+ * Wraps PlanOrchestrator for AI-powered plan generation, then groups the
5
+ * resulting PlanItems into sequential phases with team strategies and
6
+ * verification criteria.
7
+ *
8
+ * Phase grouping algorithm:
9
+ * 1. Topological sort by dependencies (Kahn's algorithm)
10
+ * 2. Group into dependency layers
11
+ * 3. Sub-group by TDD phase within layers
12
+ * 4. Merge small adjacent phases
13
+ * 5. Assign team strategies based on parallelism potential
14
+ *
15
+ * Key exports:
16
+ * - `OrchestratorPlanner` class — plan generation + phase grouping
17
+ *
18
+ * @dependencies plan-orchestrator (AI plan generation), types (OrchestratorPlan, PlanItem)
19
+ * @consumedby orchestrator-loop
20
+ *
21
+ * @module orchestrator-planner
22
+ */
23
+ import { v4 as uuidv4 } from 'uuid';
24
+ import { PlanOrchestrator } from './plan-orchestrator.js';
25
+ // ═══════════════════════════════════════════════════════════════
26
+ // Constants
27
+ // ═══════════════════════════════════════════════════════════════
28
+ /** Maximum number of phases (prevents runaway plans) */
29
+ const MAX_PHASES = 10;
30
+ /** Maximum total tasks across all phases */
31
+ const MAX_TOTAL_TASKS = 50;
32
+ /** Default task timeout (10 minutes) */
33
+ const DEFAULT_TASK_TIMEOUT_MS = 10 * 60 * 1000;
34
+ /** Minimum tasks in a phase before it gets merged with adjacent */
35
+ const MIN_PHASE_TASKS = 2;
36
+ /** TDD phase ordering for grouping */
37
+ const TDD_PHASE_ORDER = {
38
+ setup: 0,
39
+ test: 1,
40
+ impl: 2,
41
+ verify: 3,
42
+ review: 4,
43
+ };
44
+ // ═══════════════════════════════════════════════════════════════
45
+ // OrchestratorPlanner
46
+ // ═══════════════════════════════════════════════════════════════
47
+ export class OrchestratorPlanner {
48
+ mux;
49
+ workingDir;
50
+ config;
51
+ orchestrator = null;
52
+ constructor(mux, workingDir, config) {
53
+ this.mux = mux;
54
+ this.workingDir = workingDir;
55
+ this.config = config;
56
+ }
57
+ /**
58
+ * Generate a phased plan from a user goal.
59
+ *
60
+ * Uses PlanOrchestrator for AI plan generation, then groups results into phases.
61
+ */
62
+ async generatePlan(goal, onProgress) {
63
+ const startTime = Date.now();
64
+ // Create a PlanOrchestrator for this plan generation
65
+ this.orchestrator = new PlanOrchestrator(this.mux, this.workingDir, undefined, {
66
+ defaultModel: this.config.plannerModel,
67
+ });
68
+ try {
69
+ onProgress?.('planning', 'Generating detailed plan...');
70
+ const result = await this.orchestrator.generateDetailedPlan(goal, onProgress);
71
+ if (!result.success || !result.items || result.items.length === 0) {
72
+ throw new Error(result.error || 'Plan generation returned no items');
73
+ }
74
+ // Cap total tasks
75
+ const items = result.items.slice(0, MAX_TOTAL_TASKS);
76
+ onProgress?.('grouping', 'Organizing plan into phases...');
77
+ // Group items into phases
78
+ const phases = this.groupIntoPhases(items, goal);
79
+ // Assign team strategies
80
+ this.assignTeamStrategies(phases);
81
+ // Generate unique completion phrases
82
+ this.generateCompletionPhrases(phases);
83
+ const plan = {
84
+ id: uuidv4(),
85
+ goal,
86
+ createdAt: Date.now(),
87
+ phases,
88
+ metadata: {
89
+ totalTasks: phases.reduce((sum, p) => sum + p.tasks.length, 0),
90
+ estimatedComplexity: this.estimateComplexity(items),
91
+ modelUsed: this.config.plannerModel,
92
+ planDurationMs: Date.now() - startTime,
93
+ },
94
+ };
95
+ return plan;
96
+ }
97
+ finally {
98
+ this.orchestrator = null;
99
+ }
100
+ }
101
+ /** Cancel in-progress plan generation. */
102
+ async cancel() {
103
+ if (this.orchestrator) {
104
+ await this.orchestrator.cancel();
105
+ this.orchestrator = null;
106
+ }
107
+ }
108
+ // ═══════════════════════════════════════════════════════════════
109
+ // Phase Grouping
110
+ // ═══════════════════════════════════════════════════════════════
111
+ /**
112
+ * Group PlanItems into sequential phases.
113
+ *
114
+ * Algorithm:
115
+ * 1. Build dependency graph and assign IDs to items without them
116
+ * 2. Topological sort into dependency layers (Kahn's algorithm)
117
+ * 3. Sub-group within each layer by TDD phase
118
+ * 4. Merge small phases with their neighbors
119
+ */
120
+ groupIntoPhases(items, _goal) {
121
+ // Ensure all items have IDs
122
+ const indexedItems = items.map((item, i) => ({
123
+ ...item,
124
+ id: item.id || `task-${i}`,
125
+ }));
126
+ // Build adjacency and in-degree for Kahn's algorithm
127
+ const idSet = new Set(indexedItems.map((item) => item.id));
128
+ const inDegree = new Map();
129
+ const dependents = new Map(); // id → items that depend on it
130
+ for (const item of indexedItems) {
131
+ inDegree.set(item.id, 0);
132
+ dependents.set(item.id, []);
133
+ }
134
+ for (const item of indexedItems) {
135
+ const deps = (item.dependencies || []).filter((d) => idSet.has(d));
136
+ inDegree.set(item.id, deps.length);
137
+ for (const dep of deps) {
138
+ dependents.get(dep).push(item.id);
139
+ }
140
+ }
141
+ // Kahn's algorithm — produce dependency layers
142
+ const layers = [];
143
+ const remaining = new Set(indexedItems.map((item) => item.id));
144
+ while (remaining.size > 0) {
145
+ // Find items with no remaining dependencies (in-degree 0)
146
+ const layer = [];
147
+ for (const id of remaining) {
148
+ if (inDegree.get(id) === 0) {
149
+ layer.push(indexedItems.find((item) => item.id === id));
150
+ }
151
+ }
152
+ if (layer.length === 0) {
153
+ // Circular dependency — add all remaining items as a single layer
154
+ for (const id of remaining) {
155
+ layer.push(indexedItems.find((item) => item.id === id));
156
+ }
157
+ }
158
+ layers.push(layer);
159
+ // Remove this layer's items and update in-degrees
160
+ for (const item of layer) {
161
+ remaining.delete(item.id);
162
+ for (const dep of dependents.get(item.id) || []) {
163
+ if (remaining.has(dep)) {
164
+ inDegree.set(dep, Math.max(0, inDegree.get(dep) - 1));
165
+ }
166
+ }
167
+ }
168
+ }
169
+ // Sub-group each layer by TDD phase
170
+ const rawPhases = [];
171
+ for (const layer of layers) {
172
+ const byPhase = new Map();
173
+ for (const item of layer) {
174
+ const phase = item.tddPhase || 'impl';
175
+ if (!byPhase.has(phase))
176
+ byPhase.set(phase, []);
177
+ byPhase.get(phase).push(item);
178
+ }
179
+ // Sort sub-groups by TDD phase order
180
+ const sorted = [...byPhase.entries()].sort(([a], [b]) => (TDD_PHASE_ORDER[a] ?? 2) - (TDD_PHASE_ORDER[b] ?? 2));
181
+ for (const [, items] of sorted) {
182
+ rawPhases.push(items);
183
+ }
184
+ }
185
+ // Merge small phases with their previous neighbor
186
+ const mergedPhases = [];
187
+ for (const phase of rawPhases) {
188
+ if (mergedPhases.length > 0 && phase.length < MIN_PHASE_TASKS) {
189
+ const prev = mergedPhases[mergedPhases.length - 1];
190
+ if (prev.length < MIN_PHASE_TASKS) {
191
+ // Merge with previous
192
+ prev.push(...phase);
193
+ continue;
194
+ }
195
+ }
196
+ mergedPhases.push([...phase]);
197
+ }
198
+ // Cap at MAX_PHASES by merging tail phases
199
+ while (mergedPhases.length > MAX_PHASES) {
200
+ const last = mergedPhases.pop();
201
+ mergedPhases[mergedPhases.length - 1].push(...last);
202
+ }
203
+ // Convert to OrchestratorPhase objects
204
+ return mergedPhases.map((phaseItems, index) => this.createPhase(phaseItems, index));
205
+ }
206
+ createPhase(items, order) {
207
+ // Derive phase name from TDD phases and priorities
208
+ const tddPhases = [...new Set(items.map((i) => i.tddPhase).filter(Boolean))];
209
+ const name = this.generatePhaseName(items, tddPhases, order);
210
+ const description = items.map((i) => i.content).join('; ');
211
+ const tasks = items.map((item, i) => ({
212
+ id: `phase-${order + 1}-task-${i + 1}`,
213
+ phaseId: `phase-${order + 1}`,
214
+ prompt: item.content,
215
+ status: 'pending',
216
+ assignedSessionId: null,
217
+ queueTaskId: null,
218
+ parallel: items.length > 1, // Tasks within a phase are parallel by default
219
+ completionPhrase: '', // Assigned later
220
+ timeoutMs: DEFAULT_TASK_TIMEOUT_MS,
221
+ startedAt: null,
222
+ completedAt: null,
223
+ error: null,
224
+ retries: 0,
225
+ }));
226
+ // Extract verification criteria and test commands from items
227
+ const verificationCriteria = items
228
+ .map((i) => i.verificationCriteria)
229
+ .filter((v) => v != null && v.length > 0);
230
+ const testCommands = items.map((i) => i.testCommand).filter((t) => t != null && t.length > 0);
231
+ return {
232
+ id: `phase-${order + 1}`,
233
+ name,
234
+ description,
235
+ order,
236
+ status: 'pending',
237
+ tasks,
238
+ verificationCriteria,
239
+ testCommands,
240
+ maxAttempts: this.config.maxPhaseRetries,
241
+ attempts: 0,
242
+ startedAt: null,
243
+ completedAt: null,
244
+ durationMs: null,
245
+ teamStrategy: { type: 'single' }, // Assigned later
246
+ };
247
+ }
248
+ generatePhaseName(items, tddPhases, order) {
249
+ // Try to create a meaningful name based on content
250
+ const priorities = [...new Set(items.map((i) => i.priority).filter(Boolean))];
251
+ if (tddPhases.length === 1) {
252
+ const phaseNames = {
253
+ setup: 'Setup & Configuration',
254
+ test: 'Test Definition',
255
+ impl: 'Implementation',
256
+ verify: 'Verification',
257
+ review: 'Review & Polish',
258
+ };
259
+ return `Phase ${order + 1}: ${phaseNames[tddPhases[0]]}`;
260
+ }
261
+ if (priorities.includes('P0') && priorities.length === 1) {
262
+ return `Phase ${order + 1}: Critical Foundation`;
263
+ }
264
+ return `Phase ${order + 1}: ${items.length > 1 ? 'Parallel Tasks' : items[0].content.slice(0, 50)}`;
265
+ }
266
+ // ═══════════════════════════════════════════════════════════════
267
+ // Team Strategy Assignment
268
+ // ═══════════════════════════════════════════════════════════════
269
+ assignTeamStrategies(phases) {
270
+ for (const phase of phases) {
271
+ phase.teamStrategy = this.computeTeamStrategy(phase);
272
+ }
273
+ }
274
+ computeTeamStrategy(phase) {
275
+ const taskCount = phase.tasks.length;
276
+ const parallelTasks = phase.tasks.filter((t) => t.parallel).length;
277
+ // Single task or no parallel potential → single session
278
+ if (taskCount <= 2 || parallelTasks <= 1) {
279
+ return { type: 'single' };
280
+ }
281
+ // If team agents are disabled, use parallel sessions instead
282
+ if (!this.config.enableTeamAgents) {
283
+ return {
284
+ type: 'parallel',
285
+ maxSessions: Math.min(parallelTasks, this.config.maxParallelSessions),
286
+ };
287
+ }
288
+ // 4+ parallel tasks with team agents enabled → team mode
289
+ if (parallelTasks >= 4) {
290
+ return {
291
+ type: 'team',
292
+ config: {
293
+ leadPrompt: this.buildTeamLeadPrompt(phase),
294
+ suggestedTeammates: phase.tasks.slice(0, 4).map((t) => `Specialist for: ${t.prompt.slice(0, 80)}`),
295
+ maxTeammates: Math.min(parallelTasks, 4),
296
+ },
297
+ };
298
+ }
299
+ // 3 parallel tasks → parallel sessions
300
+ return {
301
+ type: 'parallel',
302
+ maxSessions: Math.min(parallelTasks, this.config.maxParallelSessions),
303
+ };
304
+ }
305
+ buildTeamLeadPrompt(phase) {
306
+ const taskList = phase.tasks.map((t, i) => `${i + 1}. ${t.prompt}`).join('\n');
307
+ return [
308
+ `You are the team lead for "${phase.name}".`,
309
+ `Create teammates and delegate the following tasks for parallel execution:`,
310
+ '',
311
+ taskList,
312
+ '',
313
+ `Each teammate should focus on one task area.`,
314
+ `When all tasks are complete, verify the results and output: <promise>${phase.id.toUpperCase()}_COMPLETE</promise>`,
315
+ ].join('\n');
316
+ }
317
+ // ═══════════════════════════════════════════════════════════════
318
+ // Completion Phrases
319
+ // ═══════════════════════════════════════════════════════════════
320
+ generateCompletionPhrases(phases) {
321
+ for (const phase of phases) {
322
+ for (const task of phase.tasks) {
323
+ // Generate a unique, deterministic completion phrase per task
324
+ task.completionPhrase = `ORCH_P${phase.order + 1}_T${phase.tasks.indexOf(task) + 1}`;
325
+ }
326
+ }
327
+ }
328
+ // ═══════════════════════════════════════════════════════════════
329
+ // Helpers
330
+ // ═══════════════════════════════════════════════════════════════
331
+ estimateComplexity(items) {
332
+ const total = items.length;
333
+ const highComplexity = items.filter((i) => i.complexity === 'high').length;
334
+ const p0Count = items.filter((i) => i.priority === 'P0').length;
335
+ if (total > 20 || highComplexity > 5 || p0Count > 8)
336
+ return 'high';
337
+ if (total > 10 || highComplexity > 2 || p0Count > 4)
338
+ return 'medium';
339
+ return 'low';
340
+ }
341
+ }
342
+ //# sourceMappingURL=orchestrator-planner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator-planner.js","sourceRoot":"","sources":["../src/orchestrator-planner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @fileoverview Orchestrator phase verification.
3
+ *
4
+ * Runs verification checks after each phase completes:
5
+ * - Test commands (shell commands via session)
6
+ * - AI review (ask Claude to evaluate phase results)
7
+ *
8
+ * Three verification modes:
9
+ * - strict: ALL test commands must pass AND AI review must approve
10
+ * - moderate: Test commands must pass, AI review is advisory
11
+ * - lenient: At least one test command passes, AI review skipped
12
+ *
13
+ * Key exports:
14
+ * - `OrchestratorVerifier` class — phase verification engine
15
+ *
16
+ * @dependencies types (OrchestratorPhase, VerificationResult, VerificationCheck, OrchestratorConfig)
17
+ * @consumedby orchestrator-loop
18
+ *
19
+ * @module orchestrator-verifier
20
+ */
21
+ import type { Session } from './session.js';
22
+ import type { OrchestratorPhase, OrchestratorConfig, VerificationResult } from './types.js';
23
+ export declare class OrchestratorVerifier {
24
+ private config;
25
+ constructor(config: OrchestratorConfig);
26
+ /**
27
+ * Run all verification checks for a completed phase.
28
+ *
29
+ * @param phase - The phase to verify
30
+ * @param session - Session to use for running commands/reviews
31
+ * @returns Verification result with pass/fail and suggestions
32
+ */
33
+ verifyPhase(phase: OrchestratorPhase, session: Session): Promise<VerificationResult>;
34
+ private runTestCommands;
35
+ private runSingleTestCommand;
36
+ private aiReview;
37
+ private buildVerificationPrompt;
38
+ private evaluateChecks;
39
+ private generateSuggestions;
40
+ /**
41
+ * Send a prompt to a session and wait for a marker phrase in the output.
42
+ *
43
+ * @param session - Session to send to
44
+ * @param input - Prompt/command to send
45
+ * @param marker - Primary marker to watch for
46
+ * @param timeoutMs - Maximum wait time
47
+ * @param altMarker - Alternative marker (for pass/fail detection)
48
+ * @returns Captured output containing the marker
49
+ */
50
+ private sendAndWaitForMarker;
51
+ }
52
+ //# sourceMappingURL=orchestrator-verifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator-verifier.d.ts","sourceRoot":"","sources":["../src/orchestrator-verifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAqB,MAAM,YAAY,CAAC;AAsB/G,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAqB;gBAEvB,MAAM,EAAE,kBAAkB;IAItC;;;;;;OAMG;IACG,WAAW,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;YA2C5E,eAAe;YAoBf,oBAAoB;YAoBpB,QAAQ;IA8BtB,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,mBAAmB;IAsB3B;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;CA+C7B"}