@polpo-ai/core 0.2.4 → 0.3.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.
- package/LICENSE +21 -0
- package/dist/assessment-orchestrator.d.ts +124 -0
- package/dist/assessment-orchestrator.d.ts.map +1 -0
- package/dist/assessment-orchestrator.js +790 -0
- package/dist/assessment-orchestrator.js.map +1 -0
- package/dist/assessment-prompts.d.ts +45 -0
- package/dist/assessment-prompts.d.ts.map +1 -0
- package/dist/assessment-prompts.js +205 -0
- package/dist/assessment-prompts.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/mission-executor.d.ts +253 -0
- package/dist/mission-executor.d.ts.map +1 -0
- package/dist/mission-executor.js +1053 -0
- package/dist/mission-executor.js.map +1 -0
- package/dist/orchestrator-context.d.ts +11 -5
- package/dist/orchestrator-context.d.ts.map +1 -1
- package/dist/orchestrator-engine.d.ts +500 -0
- package/dist/orchestrator-engine.d.ts.map +1 -0
- package/dist/orchestrator-engine.js +454 -0
- package/dist/orchestrator-engine.js.map +1 -0
- package/dist/question-detector.d.ts +31 -0
- package/dist/question-detector.d.ts.map +1 -0
- package/dist/question-detector.js +65 -0
- package/dist/question-detector.js.map +1 -0
- package/dist/spawner.d.ts +43 -0
- package/dist/spawner.d.ts.map +1 -0
- package/dist/spawner.js +2 -0
- package/dist/spawner.js.map +1 -0
- package/dist/task-runner.d.ts +43 -0
- package/dist/task-runner.d.ts.map +1 -0
- package/dist/task-runner.js +487 -0
- package/dist/task-runner.js.map +1 -0
- package/package.json +34 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator-engine.d.ts","sourceRoot":"","sources":["../src/orchestrator-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,454 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OrchestratorEngine — pure orchestration logic extracted from the root Orchestrator.
|
|
3
|
+
*
|
|
4
|
+
* Contains:
|
|
5
|
+
* - tick() loop + run() polling
|
|
6
|
+
* - Result collection + assessment delegation
|
|
7
|
+
* - Task, Agent, Mission, Memory, Approval, Checkpoint, Delay delegation facades
|
|
8
|
+
* - Store accessors and status
|
|
9
|
+
*
|
|
10
|
+
* ZERO Node.js imports. All runtime-specific behavior is injected via
|
|
11
|
+
* OrchestratorContext and the port interfaces defined below.
|
|
12
|
+
*/
|
|
13
|
+
import { agentMemoryScope } from "./memory-store.js";
|
|
14
|
+
// ── Utility ──────────────────────────────────────────────────────────────
|
|
15
|
+
function sleep(ms) {
|
|
16
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
17
|
+
}
|
|
18
|
+
const POLL_INTERVAL = 5000; // 5s safety net (push notification is primary)
|
|
19
|
+
// ── OrchestratorEngine ──────────────────────────────────────────────────
|
|
20
|
+
/**
|
|
21
|
+
* Pure orchestration engine — no Node.js dependencies.
|
|
22
|
+
*
|
|
23
|
+
* The root Orchestrator creates an instance of this class and delegates
|
|
24
|
+
* all pure-logic methods to it, keeping Node.js-specific init/setup/shutdown
|
|
25
|
+
* in the shell layer.
|
|
26
|
+
*/
|
|
27
|
+
export class OrchestratorEngine {
|
|
28
|
+
ctx;
|
|
29
|
+
taskMgr;
|
|
30
|
+
agentMgr;
|
|
31
|
+
missionExec;
|
|
32
|
+
runner;
|
|
33
|
+
assessor;
|
|
34
|
+
approvalMgr;
|
|
35
|
+
scheduler;
|
|
36
|
+
slaMonitor;
|
|
37
|
+
qualityController;
|
|
38
|
+
escalationMgr;
|
|
39
|
+
deadlockResolver;
|
|
40
|
+
stopped = false;
|
|
41
|
+
constructor(deps) {
|
|
42
|
+
this.ctx = deps.ctx;
|
|
43
|
+
this.taskMgr = deps.taskManager;
|
|
44
|
+
this.agentMgr = deps.agentManager;
|
|
45
|
+
this.missionExec = deps.missionExecutor;
|
|
46
|
+
this.runner = deps.taskRunner;
|
|
47
|
+
this.assessor = deps.assessmentOrchestrator;
|
|
48
|
+
this.approvalMgr = deps.approvalManager;
|
|
49
|
+
this.scheduler = deps.scheduler;
|
|
50
|
+
this.slaMonitor = deps.slaMonitor;
|
|
51
|
+
this.qualityController = deps.qualityController;
|
|
52
|
+
this.escalationMgr = deps.escalationManager;
|
|
53
|
+
this.deadlockResolver = deps.deadlockResolver;
|
|
54
|
+
}
|
|
55
|
+
// ── Mutable setters (for hot-reload) ─────────────────────────────────
|
|
56
|
+
setScheduler(scheduler) { this.scheduler = scheduler; }
|
|
57
|
+
setSLAMonitor(slaMonitor) { this.slaMonitor = slaMonitor; }
|
|
58
|
+
setQualityController(qualityController) { this.qualityController = qualityController; }
|
|
59
|
+
setEscalationManager(escalationManager) { this.escalationMgr = escalationManager; }
|
|
60
|
+
setApprovalManager(approvalManager) { this.approvalMgr = approvalManager; }
|
|
61
|
+
setDeadlockResolver(deadlockResolver) { this.deadlockResolver = deadlockResolver; }
|
|
62
|
+
// ── Core tick loop ───────────────────────────────────────────────────
|
|
63
|
+
/**
|
|
64
|
+
* Main supervisor loop. Runs until all tasks are done/failed.
|
|
65
|
+
* In interactive mode, keeps running and waits for new tasks.
|
|
66
|
+
*
|
|
67
|
+
* @param interactive - Whether to keep running after all tasks complete
|
|
68
|
+
* @param onBeforeLoop - Shell hook called before the loop starts (e.g. to install process handlers)
|
|
69
|
+
* @param onAfterLoop - Shell hook called after the loop exits (e.g. to clean up process handlers)
|
|
70
|
+
*/
|
|
71
|
+
async run(interactive, onBeforeLoop, onAfterLoop) {
|
|
72
|
+
this.ctx.emitter.emit("orchestrator:started", {
|
|
73
|
+
org: this.ctx.config.org,
|
|
74
|
+
agents: (await this.agentMgr.getAgents()).map((a) => a.name),
|
|
75
|
+
});
|
|
76
|
+
this.stopped = false;
|
|
77
|
+
onBeforeLoop?.();
|
|
78
|
+
// Supervisor loop
|
|
79
|
+
while (!this.stopped) {
|
|
80
|
+
try {
|
|
81
|
+
const allDone = await this.tick();
|
|
82
|
+
if (allDone && !interactive)
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
87
|
+
this.ctx.emitter.emit("log", { level: "error", message: `[supervisor] Error in tick: ${message}` });
|
|
88
|
+
}
|
|
89
|
+
await sleep(POLL_INTERVAL);
|
|
90
|
+
}
|
|
91
|
+
onAfterLoop?.();
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Single tick of the supervisor loop. Returns true when all work is done.
|
|
95
|
+
*/
|
|
96
|
+
async tick() {
|
|
97
|
+
// Scheduler checks FIRST — must run before early-return guards because
|
|
98
|
+
// scheduled/recurring missions have zero tasks until triggered, and the
|
|
99
|
+
// scheduler is what creates them via executeMission.
|
|
100
|
+
this.scheduler?.check();
|
|
101
|
+
const tasks = await this.ctx.registry.getAllTasks();
|
|
102
|
+
if (tasks.length === 0)
|
|
103
|
+
return !this.isStopped();
|
|
104
|
+
const pending = tasks.filter(t => t.status === "pending");
|
|
105
|
+
const awaitingApproval = tasks.filter(t => t.status === "awaiting_approval");
|
|
106
|
+
const inProgress = tasks.filter(t => t.status === "in_progress" || t.status === "assigned" || t.status === "review");
|
|
107
|
+
// Check if all active tasks are terminal (done or failed)
|
|
108
|
+
// draft tasks are excluded — they don't participate in orchestration
|
|
109
|
+
// awaiting_approval tasks are NOT terminal — they're waiting for human action
|
|
110
|
+
const activeTasks = tasks.filter(t => t.status !== "draft");
|
|
111
|
+
const terminal = activeTasks.filter(t => t.status === "done" || t.status === "failed");
|
|
112
|
+
if (activeTasks.length > 0 && terminal.length === activeTasks.length) {
|
|
113
|
+
// Must run cleanup BEFORE returning — assessment transitions happen async
|
|
114
|
+
// between ticks, so this may be the first tick that sees all tasks terminal.
|
|
115
|
+
await this.missionExec.cleanupCompletedGroups(tasks);
|
|
116
|
+
await this.runner.syncProcessesFromRunStore();
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
119
|
+
// 1. Collect results from finished runners
|
|
120
|
+
await this.runner.collectResults((id, res) => this.assessor.handleResult(id, res));
|
|
121
|
+
// 2. Enforce health checks (timeouts + stale detection)
|
|
122
|
+
await this.runner.enforceHealthChecks();
|
|
123
|
+
// 2b. SLA deadline checks
|
|
124
|
+
this.slaMonitor?.check();
|
|
125
|
+
// 3. Spawn agents for ready tasks (skip tasks from cancelled/completed/paused missions)
|
|
126
|
+
const readyList = [];
|
|
127
|
+
for (const task of pending) {
|
|
128
|
+
let isReady = true;
|
|
129
|
+
if (task.group) {
|
|
130
|
+
// Resolve mission via direct ID (preferred) or group name (legacy fallback)
|
|
131
|
+
const mission = task.missionId
|
|
132
|
+
? await this.ctx.registry.getMission?.(task.missionId)
|
|
133
|
+
: await this.ctx.registry.getMissionByName?.(task.group);
|
|
134
|
+
if (mission && (mission.status === "cancelled" || mission.status === "completed" || mission.status === "paused")) {
|
|
135
|
+
isReady = false;
|
|
136
|
+
}
|
|
137
|
+
// Check quality gates — task may be blocked by a gate even if deps are done
|
|
138
|
+
if (isReady && this.qualityController) {
|
|
139
|
+
const gates = this.missionExec.getQualityGates(task.group);
|
|
140
|
+
if (gates.length > 0) {
|
|
141
|
+
const blocking = this.qualityController.getBlockingGate(mission?.id ?? task.group, task.title, task.id, gates, tasks);
|
|
142
|
+
if (blocking)
|
|
143
|
+
isReady = false; // Blocked by quality gate
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// Check checkpoints — task may be blocked by a checkpoint awaiting human resume
|
|
147
|
+
if (isReady) {
|
|
148
|
+
const checkpoints = this.missionExec.getCheckpoints(task.group);
|
|
149
|
+
if (checkpoints.length > 0) {
|
|
150
|
+
const blockingCp = await this.missionExec.getBlockingCheckpoint(task.group, task.title, task.id, tasks);
|
|
151
|
+
if (blockingCp)
|
|
152
|
+
isReady = false; // Blocked by checkpoint
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// Check delays — task may be blocked by a timed delay
|
|
156
|
+
if (isReady) {
|
|
157
|
+
const delays = this.missionExec.getDelays(task.group);
|
|
158
|
+
if (delays.length > 0) {
|
|
159
|
+
const blockingDelay = await this.missionExec.getBlockingDelay(task.group, task.title, task.id, tasks);
|
|
160
|
+
if (blockingDelay)
|
|
161
|
+
isReady = false; // Blocked by delay
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if (isReady) {
|
|
166
|
+
isReady = task.dependsOn.every(depId => {
|
|
167
|
+
const dep = tasks.find(t => t.id === depId);
|
|
168
|
+
return dep && dep.status === "done";
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
if (isReady)
|
|
172
|
+
readyList.push(task);
|
|
173
|
+
}
|
|
174
|
+
const ready = readyList;
|
|
175
|
+
// Check for deadlock: no tasks ready, none running, but some pending
|
|
176
|
+
// Don't consider it a deadlock if tasks are awaiting approval, blocked by checkpoints, or waiting on delays
|
|
177
|
+
const hasActiveCheckpoints = this.missionExec.getActiveCheckpoints().length > 0;
|
|
178
|
+
const hasActiveDelays = this.missionExec.getActiveDelays().length > 0;
|
|
179
|
+
if (ready.length === 0 && inProgress.length === 0 && pending.length > 0 && awaitingApproval.length === 0 && !hasActiveCheckpoints && !hasActiveDelays) {
|
|
180
|
+
if (this.deadlockResolver) {
|
|
181
|
+
// Async resolution already in progress — wait for next tick
|
|
182
|
+
if (this.deadlockResolver.isResolving())
|
|
183
|
+
return false;
|
|
184
|
+
const analysis = this.deadlockResolver.analyzeBlockedTasks(pending, tasks);
|
|
185
|
+
if (analysis.resolvable.length > 0) {
|
|
186
|
+
this.ctx.emitter.emit("deadlock:detected", {
|
|
187
|
+
taskIds: pending.map(t => t.id),
|
|
188
|
+
resolvableCount: analysis.resolvable.length,
|
|
189
|
+
});
|
|
190
|
+
// Build the facade that the deadlock resolver needs
|
|
191
|
+
const facade = this.buildDeadlockFacade();
|
|
192
|
+
// Async LLM resolution (same pattern as question detection)
|
|
193
|
+
this.deadlockResolver.resolveDeadlock(analysis, facade).catch(async (err) => {
|
|
194
|
+
this.ctx.emitter.emit("log", { level: "error", message: `Deadlock resolution failed: ${err.message}` });
|
|
195
|
+
for (const t of pending)
|
|
196
|
+
await this.forceFailTask(t.id);
|
|
197
|
+
});
|
|
198
|
+
return false; // Don't terminate loop — resolution pending
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
// Only missing deps (unresolvable) → force-fail all
|
|
202
|
+
this.ctx.emitter.emit("orchestrator:deadlock", { taskIds: pending.map(t => t.id) });
|
|
203
|
+
for (const t of pending)
|
|
204
|
+
await this.forceFailTask(t.id);
|
|
205
|
+
return true;
|
|
206
|
+
}
|
|
207
|
+
// Concurrency-aware spawn loop
|
|
208
|
+
const activeRuns = await this.ctx.runStore.getActiveRuns();
|
|
209
|
+
const globalMax = this.ctx.config.settings.maxConcurrency ?? Infinity;
|
|
210
|
+
let totalActive = activeRuns.length;
|
|
211
|
+
// Per-agent active counts
|
|
212
|
+
const agentActiveCounts = new Map();
|
|
213
|
+
for (const run of activeRuns) {
|
|
214
|
+
agentActiveCounts.set(run.agentName, (agentActiveCounts.get(run.agentName) ?? 0) + 1);
|
|
215
|
+
}
|
|
216
|
+
let queued = 0;
|
|
217
|
+
for (const task of ready) {
|
|
218
|
+
// Global concurrency limit
|
|
219
|
+
if (totalActive >= globalMax) {
|
|
220
|
+
queued += ready.length - ready.indexOf(task);
|
|
221
|
+
break;
|
|
222
|
+
}
|
|
223
|
+
// Skip if already running
|
|
224
|
+
const existingRun = await this.ctx.runStore.getRunByTaskId(task.id);
|
|
225
|
+
if (existingRun && existingRun.status === "running")
|
|
226
|
+
continue;
|
|
227
|
+
// Per-agent concurrency limit
|
|
228
|
+
const agentName = task.assignTo;
|
|
229
|
+
const agentConfig = await this.agentMgr.findAgent(agentName);
|
|
230
|
+
if (agentConfig?.maxConcurrency) {
|
|
231
|
+
if ((agentActiveCounts.get(agentName) ?? 0) >= agentConfig.maxConcurrency) {
|
|
232
|
+
queued++;
|
|
233
|
+
continue;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
await this.runner.spawnForTask(task);
|
|
237
|
+
totalActive++;
|
|
238
|
+
agentActiveCounts.set(agentName, (agentActiveCounts.get(agentName) ?? 0) + 1);
|
|
239
|
+
}
|
|
240
|
+
// Emit tick stats
|
|
241
|
+
const done = tasks.filter(t => t.status === "done").length;
|
|
242
|
+
const failed = tasks.filter(t => t.status === "failed").length;
|
|
243
|
+
this.ctx.emitter.emit("orchestrator:tick", {
|
|
244
|
+
pending: pending.length,
|
|
245
|
+
running: inProgress.length,
|
|
246
|
+
done,
|
|
247
|
+
failed,
|
|
248
|
+
queued,
|
|
249
|
+
});
|
|
250
|
+
// Clean up volatile agents for completed mission groups.
|
|
251
|
+
// Re-read tasks fresh — assessment callbacks (async) may have transitioned
|
|
252
|
+
// tasks to done/failed since the snapshot at the top of tick().
|
|
253
|
+
await this.missionExec.cleanupCompletedGroups(await this.ctx.registry.getAllTasks());
|
|
254
|
+
// Sync process list from RunStore for backward compat
|
|
255
|
+
await this.runner.syncProcessesFromRunStore();
|
|
256
|
+
return false;
|
|
257
|
+
}
|
|
258
|
+
/** Build the minimal facade that the deadlock resolver needs. */
|
|
259
|
+
buildDeadlockFacade() {
|
|
260
|
+
return {
|
|
261
|
+
getConfig: () => this.getConfig(),
|
|
262
|
+
getMemory: () => this.getMemory(),
|
|
263
|
+
getStore: () => this.getStore(),
|
|
264
|
+
emit: (event, payload) => this.ctx.emitter.emit(event, payload),
|
|
265
|
+
forceFailTask: (taskId) => this.forceFailTask(taskId),
|
|
266
|
+
addTask: (opts) => this.addTask(opts),
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
// ── Stop control ────────────────────────────────────────────────────
|
|
270
|
+
stop() { this.stopped = true; }
|
|
271
|
+
isStopped() { return this.stopped; }
|
|
272
|
+
// ── Task Management (delegates to TaskManager) ──────────────────────
|
|
273
|
+
async addTask(opts) { return this.taskMgr.addTask(opts); }
|
|
274
|
+
async updateTaskDescription(taskId, description) { return this.taskMgr.updateTaskDescription(taskId, description); }
|
|
275
|
+
async updateTaskAssignment(taskId, agentName) { return this.taskMgr.updateTaskAssignment(taskId, agentName); }
|
|
276
|
+
async updateTaskExpectations(taskId, expectations) { return this.taskMgr.updateTaskExpectations(taskId, expectations); }
|
|
277
|
+
async retryTask(taskId) { return this.taskMgr.retryTask(taskId); }
|
|
278
|
+
reassessTask(taskId) { return this.taskMgr.reassessTask(taskId); }
|
|
279
|
+
async killTask(taskId) { return this.taskMgr.killTask(taskId); }
|
|
280
|
+
async deleteTask(taskId) { return this.ctx.registry.removeTask(taskId); }
|
|
281
|
+
async abortGroup(group) {
|
|
282
|
+
const count = await this.taskMgr.abortGroup(group);
|
|
283
|
+
// Clean up any schedule tied to this mission group — resolve via task.missionId first
|
|
284
|
+
const groupTasks = (await this.ctx.registry.getAllTasks()).filter(t => t.group === group);
|
|
285
|
+
const mid = groupTasks.find(t => t.missionId)?.missionId;
|
|
286
|
+
const mission = mid ? await this.ctx.registry.getMission?.(mid) : await this.ctx.registry.getMissionByName?.(group);
|
|
287
|
+
if (mission)
|
|
288
|
+
this.scheduler?.unregisterMission(mission.id);
|
|
289
|
+
return count;
|
|
290
|
+
}
|
|
291
|
+
async clearTasks(filter) { return this.taskMgr.clearTasks(filter); }
|
|
292
|
+
async forceFailTask(taskId) { return this.taskMgr.forceFailTask(taskId); }
|
|
293
|
+
// ── Approval Management ─────────────────────────────────────────────
|
|
294
|
+
async approveRequest(requestId, resolvedBy, note) {
|
|
295
|
+
return (await this.approvalMgr?.approve(requestId, resolvedBy, note)) ?? null;
|
|
296
|
+
}
|
|
297
|
+
async rejectRequest(requestId, feedback, resolvedBy) {
|
|
298
|
+
return (await this.approvalMgr?.reject(requestId, feedback, resolvedBy)) ?? null;
|
|
299
|
+
}
|
|
300
|
+
async canRejectRequest(requestId) {
|
|
301
|
+
return (await this.approvalMgr?.canReject(requestId)) ?? { allowed: false, rejectionCount: 0, maxRejections: 0 };
|
|
302
|
+
}
|
|
303
|
+
async getPendingApprovals() {
|
|
304
|
+
return (await this.approvalMgr?.getPending()) ?? [];
|
|
305
|
+
}
|
|
306
|
+
async getAllApprovals(status) {
|
|
307
|
+
return (await this.approvalMgr?.getAll(status)) ?? [];
|
|
308
|
+
}
|
|
309
|
+
async getApprovalRequest(id) {
|
|
310
|
+
return this.approvalMgr?.getRequest(id);
|
|
311
|
+
}
|
|
312
|
+
// ── Store Accessors ─────────────────────────────────────────────────
|
|
313
|
+
getStore() { return this.ctx.registry; }
|
|
314
|
+
getRunStore() { return this.ctx.runStore; }
|
|
315
|
+
getMemoryStore() { return this.ctx.memoryStore; }
|
|
316
|
+
getConfig() { return this.ctx.config; }
|
|
317
|
+
getLogStore() { return this.ctx.logStore; }
|
|
318
|
+
getSessionStore() { return this.ctx.sessionStore; }
|
|
319
|
+
getTeamStore() { return this.ctx.teamStore; }
|
|
320
|
+
getAgentStore() { return this.ctx.agentStore; }
|
|
321
|
+
// ── Agent Management (delegates to AgentManager) ────────────────────
|
|
322
|
+
async getAgents() { return this.agentMgr.getAgents(); }
|
|
323
|
+
async getTeams() { return this.agentMgr.getTeams(); }
|
|
324
|
+
async getTeam(name) { return this.agentMgr.getTeam(name); }
|
|
325
|
+
async addTeam(team) { return this.agentMgr.addTeam(team); }
|
|
326
|
+
async removeTeam(name) { return this.agentMgr.removeTeam(name); }
|
|
327
|
+
async renameTeam(oldName, newName) { return this.agentMgr.renameTeam(oldName, newName); }
|
|
328
|
+
async addAgent(agent, teamName) { return this.agentMgr.addAgent(agent, teamName); }
|
|
329
|
+
async removeAgent(name) { return this.agentMgr.removeAgent(name); }
|
|
330
|
+
async updateAgent(name, updates) { return this.agentMgr.updateAgent(name, updates); }
|
|
331
|
+
async findAgentTeam(name) { return this.agentMgr.findAgentTeam(name); }
|
|
332
|
+
async addVolatileAgent(agent, group) { return this.agentMgr.addVolatileAgent(agent, group); }
|
|
333
|
+
async cleanupVolatileAgents(group) { return this.agentMgr.cleanupVolatileAgents(group); }
|
|
334
|
+
// ── Mission Management (delegates to MissionExecutor) ───────────────
|
|
335
|
+
async saveMission(opts) { return this.missionExec.saveMission(opts); }
|
|
336
|
+
async getMission(missionId) { return this.missionExec.getMission(missionId); }
|
|
337
|
+
async getMissionByName(name) { return this.missionExec.getMissionByName(name); }
|
|
338
|
+
async getAllMissions() { return this.missionExec.getAllMissions(); }
|
|
339
|
+
async updateMission(missionId, updates) { return this.missionExec.updateMission(missionId, updates); }
|
|
340
|
+
async deleteMission(missionId) {
|
|
341
|
+
const result = await this.missionExec.deleteMission(missionId);
|
|
342
|
+
if (result)
|
|
343
|
+
this.scheduler?.unregisterMission(missionId);
|
|
344
|
+
return result;
|
|
345
|
+
}
|
|
346
|
+
// ── Atomic Mission Data Operations (delegates to MissionExecutor) ───
|
|
347
|
+
async addMissionTask(missionId, task) {
|
|
348
|
+
return this.missionExec.addMissionTask(missionId, task);
|
|
349
|
+
}
|
|
350
|
+
async updateMissionTask(missionId, taskTitle, updates) {
|
|
351
|
+
return this.missionExec.updateMissionTask(missionId, taskTitle, updates);
|
|
352
|
+
}
|
|
353
|
+
async removeMissionTask(missionId, taskTitle) {
|
|
354
|
+
return this.missionExec.removeMissionTask(missionId, taskTitle);
|
|
355
|
+
}
|
|
356
|
+
async reorderMissionTasks(missionId, titles) {
|
|
357
|
+
return this.missionExec.reorderMissionTasks(missionId, titles);
|
|
358
|
+
}
|
|
359
|
+
async addMissionCheckpoint(missionId, cp) {
|
|
360
|
+
return this.missionExec.addMissionCheckpoint(missionId, cp);
|
|
361
|
+
}
|
|
362
|
+
async updateMissionCheckpoint(missionId, name, updates) {
|
|
363
|
+
return this.missionExec.updateMissionCheckpoint(missionId, name, updates);
|
|
364
|
+
}
|
|
365
|
+
async removeMissionCheckpoint(missionId, name) {
|
|
366
|
+
return this.missionExec.removeMissionCheckpoint(missionId, name);
|
|
367
|
+
}
|
|
368
|
+
async addMissionQualityGate(missionId, gate) {
|
|
369
|
+
return this.missionExec.addMissionQualityGate(missionId, gate);
|
|
370
|
+
}
|
|
371
|
+
async updateMissionQualityGate(missionId, name, updates) {
|
|
372
|
+
return this.missionExec.updateMissionQualityGate(missionId, name, updates);
|
|
373
|
+
}
|
|
374
|
+
async removeMissionQualityGate(missionId, name) {
|
|
375
|
+
return this.missionExec.removeMissionQualityGate(missionId, name);
|
|
376
|
+
}
|
|
377
|
+
async addMissionDelay(missionId, delay) {
|
|
378
|
+
return this.missionExec.addMissionDelay(missionId, delay);
|
|
379
|
+
}
|
|
380
|
+
async updateMissionDelay(missionId, name, updates) {
|
|
381
|
+
return this.missionExec.updateMissionDelay(missionId, name, updates);
|
|
382
|
+
}
|
|
383
|
+
async removeMissionDelay(missionId, name) {
|
|
384
|
+
return this.missionExec.removeMissionDelay(missionId, name);
|
|
385
|
+
}
|
|
386
|
+
async addMissionTeamMember(missionId, member) {
|
|
387
|
+
return this.missionExec.addMissionTeamMember(missionId, member);
|
|
388
|
+
}
|
|
389
|
+
async updateMissionTeamMember(missionId, memberName, updates) {
|
|
390
|
+
return this.missionExec.updateMissionTeamMember(missionId, memberName, updates);
|
|
391
|
+
}
|
|
392
|
+
async removeMissionTeamMember(missionId, memberName) {
|
|
393
|
+
return this.missionExec.removeMissionTeamMember(missionId, memberName);
|
|
394
|
+
}
|
|
395
|
+
async updateMissionNotifications(missionId, notifications) {
|
|
396
|
+
return this.missionExec.updateMissionNotifications(missionId, notifications);
|
|
397
|
+
}
|
|
398
|
+
// ── Shared Memory ──────────────────────────────────────────────────
|
|
399
|
+
async hasMemory() {
|
|
400
|
+
return (await this.ctx.memoryStore?.exists()) ?? false;
|
|
401
|
+
}
|
|
402
|
+
async getMemory() {
|
|
403
|
+
return (await this.ctx.memoryStore?.get()) ?? "";
|
|
404
|
+
}
|
|
405
|
+
async saveMemory(content) {
|
|
406
|
+
await this.ctx.memoryStore?.save(content);
|
|
407
|
+
}
|
|
408
|
+
async appendMemory(line) {
|
|
409
|
+
await this.ctx.memoryStore?.append(line);
|
|
410
|
+
}
|
|
411
|
+
async updateMemory(oldText, newText) {
|
|
412
|
+
if (!this.ctx.memoryStore)
|
|
413
|
+
return "No memory store configured.";
|
|
414
|
+
return this.ctx.memoryStore.update(oldText, newText);
|
|
415
|
+
}
|
|
416
|
+
// ── Agent Memory ───────────────────────────────────────────────────
|
|
417
|
+
async hasAgentMemory(agentName) {
|
|
418
|
+
return (await this.ctx.memoryStore?.exists(agentMemoryScope(agentName))) ?? false;
|
|
419
|
+
}
|
|
420
|
+
async getAgentMemory(agentName) {
|
|
421
|
+
return (await this.ctx.memoryStore?.get(agentMemoryScope(agentName))) ?? "";
|
|
422
|
+
}
|
|
423
|
+
async saveAgentMemory(agentName, content) {
|
|
424
|
+
await this.ctx.memoryStore?.save(content, agentMemoryScope(agentName));
|
|
425
|
+
}
|
|
426
|
+
async appendAgentMemory(agentName, line) {
|
|
427
|
+
await this.ctx.memoryStore?.append(line, agentMemoryScope(agentName));
|
|
428
|
+
}
|
|
429
|
+
async updateAgentMemory(agentName, oldText, newText) {
|
|
430
|
+
if (!this.ctx.memoryStore)
|
|
431
|
+
return "No memory store configured.";
|
|
432
|
+
return this.ctx.memoryStore.update(oldText, newText, agentMemoryScope(agentName));
|
|
433
|
+
}
|
|
434
|
+
// ── Mission Resume / Execute ───────────────────────────────────────
|
|
435
|
+
async getResumableMissions() { return this.missionExec.getResumableMissions(); }
|
|
436
|
+
async resumeMission(missionId, opts) { return this.missionExec.resumeMission(missionId, opts); }
|
|
437
|
+
async executeMission(missionId) { return this.missionExec.executeMission(missionId); }
|
|
438
|
+
// ── Checkpoints ────────────────────────────────────────────────────
|
|
439
|
+
getActiveCheckpoints() { return this.missionExec.getActiveCheckpoints(); }
|
|
440
|
+
async resumeCheckpoint(group, checkpointName) {
|
|
441
|
+
return this.missionExec.resumeCheckpoint(group, checkpointName);
|
|
442
|
+
}
|
|
443
|
+
async resumeCheckpointByMissionId(missionId, checkpointName) {
|
|
444
|
+
const mission = await this.missionExec.getMission(missionId);
|
|
445
|
+
if (!mission)
|
|
446
|
+
return false;
|
|
447
|
+
return this.missionExec.resumeCheckpoint(mission.name, checkpointName);
|
|
448
|
+
}
|
|
449
|
+
// ── Delays ─────────────────────────────────────────────────────────
|
|
450
|
+
getActiveDelays() { return this.missionExec.getActiveDelays(); }
|
|
451
|
+
// ── Recovery ───────────────────────────────────────────────────────
|
|
452
|
+
async recoverOrphanedTasks() { return this.runner.recoverOrphanedTasks(); }
|
|
453
|
+
}
|
|
454
|
+
//# sourceMappingURL=orchestrator-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator-engine.js","sourceRoot":"","sources":["../src/orchestrator-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Question detection: identifies when an agent asks a question instead of completing work.
|
|
3
|
+
* Hybrid approach: cheap sync heuristic pre-filter + async LLM classifier.
|
|
4
|
+
*
|
|
5
|
+
* Pure core version — no Node.js dependencies.
|
|
6
|
+
* The LLM classifier receives queryLLM as a parameter (injected from OrchestratorContext).
|
|
7
|
+
*/
|
|
8
|
+
import type { TaskResult, AgentActivity, ModelConfig } from "./types.js";
|
|
9
|
+
/**
|
|
10
|
+
* Sync heuristic pre-filter: cheap check for likely question outputs.
|
|
11
|
+
* Returns true if the output looks like a question (short, ends with ?, low tool usage).
|
|
12
|
+
*/
|
|
13
|
+
export declare function looksLikeQuestion(result: TaskResult, activity?: AgentActivity): boolean;
|
|
14
|
+
/** Minimal query function type matching the queryLLM port on OrchestratorContext. */
|
|
15
|
+
type QueryLLMFn = (prompt: string, model?: string | ModelConfig) => Promise<{
|
|
16
|
+
text: string;
|
|
17
|
+
}>;
|
|
18
|
+
/**
|
|
19
|
+
* Async LLM classifier: confirms whether the output is truly a question.
|
|
20
|
+
* Only called after heuristic pre-filter passes.
|
|
21
|
+
*
|
|
22
|
+
* @param stdout - The agent's stdout output.
|
|
23
|
+
* @param queryLLM - LLM query function (injected from ctx.queryLLM).
|
|
24
|
+
* @param model - Optional model config for the LLM call.
|
|
25
|
+
*/
|
|
26
|
+
export declare function classifyAsQuestion(stdout: string, queryLLM: QueryLLMFn, model?: string | ModelConfig): Promise<{
|
|
27
|
+
isQuestion: boolean;
|
|
28
|
+
question: string;
|
|
29
|
+
}>;
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=question-detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"question-detector.d.ts","sourceRoot":"","sources":["../src/question-detector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAmBvF;AAED,qFAAqF;AACrF,KAAK,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,KAAK,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE9F;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,UAAU,EACpB,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,GAC3B,OAAO,CAAC;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAuBpD"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Question detection: identifies when an agent asks a question instead of completing work.
|
|
3
|
+
* Hybrid approach: cheap sync heuristic pre-filter + async LLM classifier.
|
|
4
|
+
*
|
|
5
|
+
* Pure core version — no Node.js dependencies.
|
|
6
|
+
* The LLM classifier receives queryLLM as a parameter (injected from OrchestratorContext).
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Sync heuristic pre-filter: cheap check for likely question outputs.
|
|
10
|
+
* Returns true if the output looks like a question (short, ends with ?, low tool usage).
|
|
11
|
+
*/
|
|
12
|
+
export function looksLikeQuestion(result, activity) {
|
|
13
|
+
const text = result.stdout.trim();
|
|
14
|
+
// No output or long output → probably real work
|
|
15
|
+
if (!text || text.length > 2000)
|
|
16
|
+
return false;
|
|
17
|
+
// Must contain "?" in the last 3 non-empty lines
|
|
18
|
+
const lines = text.split("\n").filter(l => l.trim());
|
|
19
|
+
const tail = lines.slice(-3).join(" ");
|
|
20
|
+
if (!tail.includes("?"))
|
|
21
|
+
return false;
|
|
22
|
+
// If we have activity data, check for real work indicators
|
|
23
|
+
if (activity) {
|
|
24
|
+
// Many tool calls → agent did significant work
|
|
25
|
+
if (activity.toolCalls >= 5)
|
|
26
|
+
return false;
|
|
27
|
+
// Files created or edited → agent produced output
|
|
28
|
+
if (activity.filesCreated.length > 0 || activity.filesEdited.length > 0)
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Async LLM classifier: confirms whether the output is truly a question.
|
|
35
|
+
* Only called after heuristic pre-filter passes.
|
|
36
|
+
*
|
|
37
|
+
* @param stdout - The agent's stdout output.
|
|
38
|
+
* @param queryLLM - LLM query function (injected from ctx.queryLLM).
|
|
39
|
+
* @param model - Optional model config for the LLM call.
|
|
40
|
+
*/
|
|
41
|
+
export async function classifyAsQuestion(stdout, queryLLM, model) {
|
|
42
|
+
const prompt = [
|
|
43
|
+
`Analyze this AI coding agent output. Did the agent COMPLETE the assigned task, or is it asking a question / requesting clarification instead of working?`,
|
|
44
|
+
``,
|
|
45
|
+
`Agent output:`,
|
|
46
|
+
`"""`,
|
|
47
|
+
stdout.slice(-1500),
|
|
48
|
+
`"""`,
|
|
49
|
+
``,
|
|
50
|
+
`Respond with ONLY a JSON object (no markdown fences):`,
|
|
51
|
+
`{"isQuestion": true, "question": "the extracted question"}`,
|
|
52
|
+
`or`,
|
|
53
|
+
`{"isQuestion": false, "question": ""}`,
|
|
54
|
+
].join("\n");
|
|
55
|
+
const response = (await queryLLM(prompt, model)).text;
|
|
56
|
+
try {
|
|
57
|
+
const cleaned = response.replace(/```json?\n?/g, "").replace(/```/g, "").trim();
|
|
58
|
+
const parsed = JSON.parse(cleaned);
|
|
59
|
+
return { isQuestion: !!parsed.isQuestion, question: parsed.question || "" };
|
|
60
|
+
}
|
|
61
|
+
catch { /* malformed JSON — assume not a question */
|
|
62
|
+
return { isQuestion: false, question: "" };
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=question-detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"question-detector.js","sourceRoot":"","sources":["../src/question-detector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAkB,EAAE,QAAwB;IAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAClC,gDAAgD;IAChD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI;QAAE,OAAO,KAAK,CAAC;IAE9C,iDAAiD;IACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAEtC,2DAA2D;IAC3D,IAAI,QAAQ,EAAE,CAAC;QACb,+CAA+C;QAC/C,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1C,kDAAkD;QAClD,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IACxF,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAKD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAc,EACd,QAAoB,EACpB,KAA4B;IAE5B,MAAM,MAAM,GAAG;QACb,0JAA0J;QAC1J,EAAE;QACF,eAAe;QACf,KAAK;QACL,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;QACnB,KAAK;QACL,EAAE;QACF,uDAAuD;QACvD,4DAA4D;QAC5D,IAAI;QACJ,uCAAuC;KACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAChF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC,CAAC,4CAA4C;QACpD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC7C,CAAC;AACH,CAAC"}
|