@polpo-ai/core 0.15.144 → 0.16.1
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/README.md +30 -0
- package/dist/__tests__/custom-tool-runner.test.d.ts +2 -0
- package/dist/__tests__/custom-tool-runner.test.d.ts.map +1 -0
- package/dist/__tests__/custom-tool-runner.test.js +121 -0
- package/dist/__tests__/custom-tool-runner.test.js.map +1 -0
- package/dist/__tests__/mcp-runner-client.test.d.ts +2 -0
- package/dist/__tests__/mcp-runner-client.test.d.ts.map +1 -0
- package/dist/__tests__/mcp-runner-client.test.js +144 -0
- package/dist/__tests__/mcp-runner-client.test.js.map +1 -0
- package/dist/__tests__/mission-execution.test.d.ts +2 -0
- package/dist/__tests__/mission-execution.test.d.ts.map +1 -0
- package/dist/__tests__/mission-execution.test.js +68 -0
- package/dist/__tests__/mission-execution.test.js.map +1 -0
- package/dist/__tests__/run-state-monitor.test.d.ts +2 -0
- package/dist/__tests__/run-state-monitor.test.d.ts.map +1 -0
- package/dist/__tests__/run-state-monitor.test.js +59 -0
- package/dist/__tests__/run-state-monitor.test.js.map +1 -0
- package/dist/__tests__/runtime-metadata.test.d.ts +2 -0
- package/dist/__tests__/runtime-metadata.test.d.ts.map +1 -0
- package/dist/__tests__/runtime-metadata.test.js +17 -0
- package/dist/__tests__/runtime-metadata.test.js.map +1 -0
- package/dist/__tests__/task-execution-router.test.js +1 -1
- package/dist/__tests__/task-execution-router.test.js.map +1 -1
- package/dist/__tests__/task-runner-agent-lifetime.test.d.ts +2 -0
- package/dist/__tests__/task-runner-agent-lifetime.test.d.ts.map +1 -0
- package/dist/__tests__/task-runner-agent-lifetime.test.js +136 -0
- package/dist/__tests__/task-runner-agent-lifetime.test.js.map +1 -0
- package/dist/adapter.d.ts +18 -0
- package/dist/adapter.d.ts.map +1 -1
- package/dist/agent-manager.d.ts +3 -0
- package/dist/agent-manager.d.ts.map +1 -1
- package/dist/agent-manager.js +28 -2
- package/dist/agent-manager.js.map +1 -1
- package/dist/agent-store.d.ts +70 -1
- package/dist/agent-store.d.ts.map +1 -1
- package/dist/agent-store.js +103 -1
- package/dist/agent-store.js.map +1 -1
- package/dist/approval-manager.d.ts +24 -4
- package/dist/approval-manager.d.ts.map +1 -1
- package/dist/approval-manager.js +160 -112
- package/dist/approval-manager.js.map +1 -1
- package/dist/approval-manager.test.d.ts +2 -0
- package/dist/approval-manager.test.d.ts.map +1 -0
- package/dist/approval-manager.test.js +116 -0
- package/dist/approval-manager.test.js.map +1 -0
- package/dist/assessment-orchestrator.d.ts +12 -1
- package/dist/assessment-orchestrator.d.ts.map +1 -1
- package/dist/assessment-orchestrator.js +181 -83
- package/dist/assessment-orchestrator.js.map +1 -1
- package/dist/chat-interactions.d.ts +23 -3
- package/dist/chat-interactions.d.ts.map +1 -1
- package/dist/chat-interactions.js +50 -2
- package/dist/chat-interactions.js.map +1 -1
- package/dist/chat-interactions.test.js +39 -2
- package/dist/chat-interactions.test.js.map +1 -1
- package/dist/custom-tool-runner.d.ts +56 -0
- package/dist/custom-tool-runner.d.ts.map +1 -0
- package/dist/custom-tool-runner.js +197 -0
- package/dist/custom-tool-runner.js.map +1 -0
- package/dist/escalation-manager.d.ts +2 -0
- package/dist/escalation-manager.d.ts.map +1 -1
- package/dist/escalation-manager.js +79 -25
- package/dist/escalation-manager.js.map +1 -1
- package/dist/events.d.ts +4 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +6 -0
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +19 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp-capability.d.ts +40 -0
- package/dist/mcp-capability.d.ts.map +1 -0
- package/dist/mcp-capability.js +2 -0
- package/dist/mcp-capability.js.map +1 -0
- package/dist/mcp-runner.d.ts +45 -0
- package/dist/mcp-runner.d.ts.map +1 -0
- package/dist/mcp-runner.js +238 -0
- package/dist/mcp-runner.js.map +1 -0
- package/dist/mission-cancellation.d.ts +14 -0
- package/dist/mission-cancellation.d.ts.map +1 -0
- package/dist/mission-cancellation.js +43 -0
- package/dist/mission-cancellation.js.map +1 -0
- package/dist/mission-execution.d.ts +103 -0
- package/dist/mission-execution.d.ts.map +1 -0
- package/dist/mission-execution.js +196 -0
- package/dist/mission-execution.js.map +1 -0
- package/dist/mission-executor.d.ts +18 -16
- package/dist/mission-executor.d.ts.map +1 -1
- package/dist/mission-executor.js +339 -203
- package/dist/mission-executor.js.map +1 -1
- package/dist/mission-gating.d.ts +11 -15
- package/dist/mission-gating.d.ts.map +1 -1
- package/dist/mission-gating.js +25 -33
- package/dist/mission-gating.js.map +1 -1
- package/dist/mission-inspection.d.ts +29 -0
- package/dist/mission-inspection.d.ts.map +1 -0
- package/dist/mission-inspection.js +99 -0
- package/dist/mission-inspection.js.map +1 -0
- package/dist/mission-store.d.ts +7 -0
- package/dist/mission-store.d.ts.map +1 -1
- package/dist/mission-store.js +8 -0
- package/dist/mission-store.js.map +1 -1
- package/dist/orchestrator-context.d.ts +3 -0
- package/dist/orchestrator-context.d.ts.map +1 -1
- package/dist/orchestrator-engine.d.ts +39 -39
- package/dist/orchestrator-engine.d.ts.map +1 -1
- package/dist/orchestrator-engine.js +124 -24
- package/dist/orchestrator-engine.js.map +1 -1
- package/dist/run-state-monitor.d.ts +14 -0
- package/dist/run-state-monitor.d.ts.map +1 -0
- package/dist/run-state-monitor.js +63 -0
- package/dist/run-state-monitor.js.map +1 -0
- package/dist/run-store.d.ts +15 -0
- package/dist/run-store.d.ts.map +1 -1
- package/dist/runner-capability.d.ts +43 -0
- package/dist/runner-capability.d.ts.map +1 -0
- package/dist/runner-capability.js +55 -0
- package/dist/runner-capability.js.map +1 -0
- package/dist/runtime-metadata.d.ts +5 -0
- package/dist/runtime-metadata.d.ts.map +1 -0
- package/dist/runtime-metadata.js +21 -0
- package/dist/runtime-metadata.js.map +1 -0
- package/dist/scheduler.d.ts +2 -1
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +16 -6
- package/dist/scheduler.js.map +1 -1
- package/dist/schemas.d.ts +8 -6
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +10 -0
- package/dist/schemas.js.map +1 -1
- package/dist/spawner.d.ts +12 -0
- package/dist/spawner.d.ts.map +1 -1
- package/dist/steering.d.ts +4 -1
- package/dist/steering.d.ts.map +1 -1
- package/dist/steering.js.map +1 -1
- package/dist/task-approval-coordinator.d.ts +29 -0
- package/dist/task-approval-coordinator.d.ts.map +1 -0
- package/dist/task-approval-coordinator.js +216 -0
- package/dist/task-approval-coordinator.js.map +1 -0
- package/dist/task-dispatch.d.ts +40 -0
- package/dist/task-dispatch.d.ts.map +1 -0
- package/dist/task-dispatch.js +136 -0
- package/dist/task-dispatch.js.map +1 -0
- package/dist/task-execution.d.ts +146 -0
- package/dist/task-execution.d.ts.map +1 -0
- package/dist/task-execution.js +357 -0
- package/dist/task-execution.js.map +1 -0
- package/dist/task-manager.d.ts +31 -22
- package/dist/task-manager.d.ts.map +1 -1
- package/dist/task-manager.js +74 -7
- package/dist/task-manager.js.map +1 -1
- package/dist/task-runner.d.ts +30 -3
- package/dist/task-runner.d.ts.map +1 -1
- package/dist/task-runner.js +429 -90
- package/dist/task-runner.js.map +1 -1
- package/dist/task-store.d.ts +9 -3
- package/dist/task-store.d.ts.map +1 -1
- package/dist/tool-invocation.d.ts +4 -0
- package/dist/tool-invocation.d.ts.map +1 -1
- package/dist/tool-invocation.js +8 -1
- package/dist/tool-invocation.js.map +1 -1
- package/dist/tool-invocation.test.d.ts +2 -0
- package/dist/tool-invocation.test.d.ts.map +1 -0
- package/dist/tool-invocation.test.js +40 -0
- package/dist/tool-invocation.test.js.map +1 -0
- package/dist/types/agent.d.ts +4 -0
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/agent.js.map +1 -1
- package/dist/types/config.d.ts +3 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js.map +1 -1
- package/dist/types/mission.d.ts +23 -1
- package/dist/types/mission.d.ts.map +1 -1
- package/dist/types/task.d.ts +10 -0
- package/dist/types/task.d.ts.map +1 -1
- package/package.json +17 -1
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { TickWaiter } from "./tick-waiter.js";
|
|
14
14
|
import { resolveMissionStore, resolveMissionForTask } from "./mission-store.js";
|
|
15
|
+
import { MissionExecutionError } from "./mission-execution.js";
|
|
16
|
+
import { isConditionalTaskExecutionStore, taskDependencyPreconditions, taskExecutionReference, TaskExecutionError } from "./task-execution.js";
|
|
15
17
|
import { agentMemoryScope } from "./memory-store.js";
|
|
16
18
|
// ── Utility ──────────────────────────────────────────────────────────────
|
|
17
19
|
const POLL_INTERVAL = 5000; // 5s safety net — event wakes are the primary trigger
|
|
@@ -50,6 +52,10 @@ export class OrchestratorEngine {
|
|
|
50
52
|
escalationMgr;
|
|
51
53
|
deadlockResolver;
|
|
52
54
|
stopped = false;
|
|
55
|
+
closed = false;
|
|
56
|
+
activeRun;
|
|
57
|
+
activeTicks = new Set();
|
|
58
|
+
background = new Set();
|
|
53
59
|
waiter = new TickWaiter();
|
|
54
60
|
constructor(deps) {
|
|
55
61
|
this.ctx = deps.ctx;
|
|
@@ -57,20 +63,32 @@ export class OrchestratorEngine {
|
|
|
57
63
|
this.agentMgr = deps.agentManager;
|
|
58
64
|
this.missionExec = deps.missionExecutor;
|
|
59
65
|
this.runner = deps.taskRunner;
|
|
66
|
+
this.runner.setMissionExecutionPreparer?.(task => this.prepareMissionTask(task));
|
|
60
67
|
this.assessor = deps.assessmentOrchestrator;
|
|
61
|
-
this.
|
|
68
|
+
this.setApprovalManager(deps.approvalManager);
|
|
62
69
|
this.scheduler = deps.scheduler;
|
|
63
70
|
this.slaMonitor = deps.slaMonitor;
|
|
64
71
|
this.qualityController = deps.qualityController;
|
|
65
72
|
this.escalationMgr = deps.escalationManager;
|
|
66
73
|
this.deadlockResolver = deps.deadlockResolver;
|
|
67
74
|
}
|
|
75
|
+
async prepareMissionTask(task) {
|
|
76
|
+
if (!task.missionExecutionId)
|
|
77
|
+
return;
|
|
78
|
+
if (!this.missionExec.prepareTaskExecution)
|
|
79
|
+
throw new MissionExecutionError("mission_execution_unsupported", "Mission execution recovery is unavailable");
|
|
80
|
+
await this.missionExec.prepareTaskExecution(task);
|
|
81
|
+
}
|
|
68
82
|
// ── Mutable setters (for hot-reload) ─────────────────────────────────
|
|
69
83
|
setScheduler(scheduler) { this.scheduler = scheduler; }
|
|
70
84
|
setSLAMonitor(slaMonitor) { this.slaMonitor = slaMonitor; }
|
|
71
85
|
setQualityController(qualityController) { this.qualityController = qualityController; }
|
|
72
86
|
setEscalationManager(escalationManager) { this.escalationMgr = escalationManager; }
|
|
73
|
-
setApprovalManager(approvalManager) {
|
|
87
|
+
setApprovalManager(approvalManager) {
|
|
88
|
+
this.approvalMgr = approvalManager;
|
|
89
|
+
this.runner.setApprovalManager?.(approvalManager);
|
|
90
|
+
this.assessor.setApprovalManager?.(approvalManager);
|
|
91
|
+
}
|
|
74
92
|
setDeadlockResolver(deadlockResolver) { this.deadlockResolver = deadlockResolver; }
|
|
75
93
|
// ── Core tick loop ───────────────────────────────────────────────────
|
|
76
94
|
/**
|
|
@@ -81,11 +99,23 @@ export class OrchestratorEngine {
|
|
|
81
99
|
* @param onBeforeLoop - Shell hook called before the loop starts (e.g. to install process handlers)
|
|
82
100
|
* @param onAfterLoop - Shell hook called after the loop exits (e.g. to clean up process handlers)
|
|
83
101
|
*/
|
|
84
|
-
|
|
102
|
+
run(interactive, onBeforeLoop, onAfterLoop) {
|
|
103
|
+
if (this.closed)
|
|
104
|
+
return Promise.reject(new Error("Orchestrator is closed"));
|
|
105
|
+
if (this.activeRun)
|
|
106
|
+
return this.activeRun;
|
|
107
|
+
const run = this.runLoop(interactive, onBeforeLoop, onAfterLoop);
|
|
108
|
+
this.activeRun = run;
|
|
109
|
+
void run.then(() => { this.activeRun = undefined; }, () => { this.activeRun = undefined; });
|
|
110
|
+
return run;
|
|
111
|
+
}
|
|
112
|
+
async runLoop(interactive, onBeforeLoop, onAfterLoop) {
|
|
85
113
|
this.ctx.emitter.emit("orchestrator:started", {
|
|
86
114
|
project: this.ctx.config.project,
|
|
87
115
|
agents: (await this.agentMgr.getAgents()).map((a) => a.name),
|
|
88
116
|
});
|
|
117
|
+
if (this.closed)
|
|
118
|
+
return;
|
|
89
119
|
this.stopped = false;
|
|
90
120
|
onBeforeLoop?.();
|
|
91
121
|
// Event-driven wakes: react to new work immediately; the poll interval
|
|
@@ -124,11 +154,19 @@ export class OrchestratorEngine {
|
|
|
124
154
|
/**
|
|
125
155
|
* Single tick of the supervisor loop. Returns true when all work is done.
|
|
126
156
|
*/
|
|
127
|
-
|
|
157
|
+
tick() {
|
|
158
|
+
if (this.closed)
|
|
159
|
+
return Promise.reject(new Error("Orchestrator is closed"));
|
|
160
|
+
const tick = this.tickOnce();
|
|
161
|
+
this.activeTicks.add(tick);
|
|
162
|
+
void tick.then(() => this.activeTicks.delete(tick), () => this.activeTicks.delete(tick));
|
|
163
|
+
return tick;
|
|
164
|
+
}
|
|
165
|
+
async tickOnce() {
|
|
128
166
|
// Scheduler checks FIRST — must run before early-return guards because
|
|
129
167
|
// scheduled/recurring missions have zero tasks until triggered, and the
|
|
130
168
|
// scheduler is what creates them via executeMission.
|
|
131
|
-
this.scheduler?.check();
|
|
169
|
+
await this.scheduler?.check();
|
|
132
170
|
const tasks = await this.ctx.taskStore.listTasks();
|
|
133
171
|
if (tasks.length === 0)
|
|
134
172
|
return !this.isStopped();
|
|
@@ -148,16 +186,27 @@ export class OrchestratorEngine {
|
|
|
148
186
|
return true;
|
|
149
187
|
}
|
|
150
188
|
// 1. Collect results from finished runners
|
|
151
|
-
await this.runner.collectResults((id, res) =>
|
|
189
|
+
await this.runner.collectResults((id, res, execution) => execution
|
|
190
|
+
? this.assessor.handleResult(id, res, execution) : this.assessor.handleResult(id, res));
|
|
152
191
|
// 2. Enforce health checks (timeouts + stale detection)
|
|
153
192
|
await this.runner.enforceHealthChecks();
|
|
154
193
|
// 2b. SLA deadline checks
|
|
155
194
|
this.slaMonitor?.check();
|
|
156
195
|
// 3. Spawn agents for ready tasks (skip tasks from cancelled/completed/paused missions)
|
|
157
196
|
const readyList = [];
|
|
197
|
+
let missionPreparationBlocked = false;
|
|
158
198
|
for (const task of pending) {
|
|
199
|
+
try {
|
|
200
|
+
await this.prepareMissionTask(task);
|
|
201
|
+
}
|
|
202
|
+
catch (error) {
|
|
203
|
+
missionPreparationBlocked = true;
|
|
204
|
+
this.ctx.emitter.emit("log", { level: "error", message: `Mission preparation blocked task ${task.id}: ${error instanceof Error ? error.message : "unavailable"}` });
|
|
205
|
+
continue;
|
|
206
|
+
}
|
|
159
207
|
let isReady = true;
|
|
160
208
|
if (task.group) {
|
|
209
|
+
const executionGroup = task.missionExecutionId ?? task.group;
|
|
161
210
|
// Resolve mission via direct ID (preferred) or group name (legacy fallback)
|
|
162
211
|
const mission = await resolveMissionForTask(resolveMissionStore(this.ctx), task);
|
|
163
212
|
if (mission && (mission.status === "cancelled" || mission.status === "completed" || mission.status === "paused")) {
|
|
@@ -165,27 +214,27 @@ export class OrchestratorEngine {
|
|
|
165
214
|
}
|
|
166
215
|
// Check quality gates — task may be blocked by a gate even if deps are done
|
|
167
216
|
if (isReady && this.qualityController) {
|
|
168
|
-
const gates = this.missionExec.getQualityGates(
|
|
217
|
+
const gates = this.missionExec.getQualityGates(executionGroup);
|
|
169
218
|
if (gates.length > 0) {
|
|
170
|
-
const blocking = this.qualityController.getBlockingGate(mission?.id ?? task.group, task.title, task.id, gates, tasks);
|
|
219
|
+
const blocking = this.qualityController.getBlockingGate(task.missionExecutionId ?? mission?.id ?? task.group, task.title, task.id, gates, task.missionExecutionId ? tasks.filter(candidate => candidate.missionExecutionId === task.missionExecutionId) : tasks);
|
|
171
220
|
if (blocking)
|
|
172
221
|
isReady = false; // Blocked by quality gate
|
|
173
222
|
}
|
|
174
223
|
}
|
|
175
224
|
// Check checkpoints — task may be blocked by a checkpoint awaiting human resume
|
|
176
225
|
if (isReady) {
|
|
177
|
-
const checkpoints = this.missionExec.getCheckpoints(
|
|
226
|
+
const checkpoints = this.missionExec.getCheckpoints(executionGroup);
|
|
178
227
|
if (checkpoints.length > 0) {
|
|
179
|
-
const blockingCp = await this.missionExec.getBlockingCheckpoint(
|
|
228
|
+
const blockingCp = await this.missionExec.getBlockingCheckpoint(executionGroup, task.title, task.id, task.missionExecutionId ? tasks.filter(candidate => candidate.missionExecutionId === task.missionExecutionId) : tasks);
|
|
180
229
|
if (blockingCp)
|
|
181
230
|
isReady = false; // Blocked by checkpoint
|
|
182
231
|
}
|
|
183
232
|
}
|
|
184
233
|
// Check delays — task may be blocked by a timed delay
|
|
185
234
|
if (isReady) {
|
|
186
|
-
const delays = this.missionExec.getDelays(
|
|
235
|
+
const delays = this.missionExec.getDelays(executionGroup);
|
|
187
236
|
if (delays.length > 0) {
|
|
188
|
-
const blockingDelay = await this.missionExec.getBlockingDelay(
|
|
237
|
+
const blockingDelay = await this.missionExec.getBlockingDelay(executionGroup, task.title, task.id, task.missionExecutionId ? tasks.filter(candidate => candidate.missionExecutionId === task.missionExecutionId) : tasks);
|
|
189
238
|
if (blockingDelay)
|
|
190
239
|
isReady = false; // Blocked by delay
|
|
191
240
|
}
|
|
@@ -205,7 +254,7 @@ export class OrchestratorEngine {
|
|
|
205
254
|
// Don't consider it a deadlock if tasks are awaiting approval, blocked by checkpoints, or waiting on delays
|
|
206
255
|
const hasActiveCheckpoints = this.missionExec.getActiveCheckpoints().length > 0;
|
|
207
256
|
const hasActiveDelays = this.missionExec.getActiveDelays().length > 0;
|
|
208
|
-
if (ready.length === 0 && inProgress.length === 0 && pending.length > 0 && awaitingApproval.length === 0 && !hasActiveCheckpoints && !hasActiveDelays) {
|
|
257
|
+
if (ready.length === 0 && inProgress.length === 0 && pending.length > 0 && awaitingApproval.length === 0 && !hasActiveCheckpoints && !hasActiveDelays && !missionPreparationBlocked) {
|
|
209
258
|
if (this.deadlockResolver) {
|
|
210
259
|
// Async resolution already in progress — wait for next tick
|
|
211
260
|
if (this.deadlockResolver.isResolving())
|
|
@@ -217,21 +266,34 @@ export class OrchestratorEngine {
|
|
|
217
266
|
resolvableCount: analysis.resolvable.length,
|
|
218
267
|
});
|
|
219
268
|
// Build the facade that the deadlock resolver needs
|
|
220
|
-
const facade = this.
|
|
269
|
+
const facade = this.getDeadlockFacade();
|
|
221
270
|
// Async LLM resolution (same pattern as question detection)
|
|
222
|
-
this.deadlockResolver.resolveDeadlock(analysis, facade).catch(async (err) => {
|
|
271
|
+
const resolution = this.deadlockResolver.resolveDeadlock(analysis, facade).catch(async (err) => {
|
|
223
272
|
this.ctx.emitter.emit("log", { level: "error", message: `Deadlock resolution failed: ${err.message}` });
|
|
224
|
-
for (const
|
|
225
|
-
|
|
273
|
+
for (const task of pending) {
|
|
274
|
+
try {
|
|
275
|
+
await this.forceFailCapturedTask(task, tasks);
|
|
276
|
+
}
|
|
277
|
+
catch {
|
|
278
|
+
// The background fallback must not become an unhandled
|
|
279
|
+
// rejection, nor retry cancellation against a newer owner.
|
|
280
|
+
this.ctx.emitter.emit("log", { level: "error", message: `Deadlock cancellation could not be persisted for task ${task.id}` });
|
|
281
|
+
}
|
|
282
|
+
}
|
|
226
283
|
});
|
|
284
|
+
this.background.add(resolution);
|
|
285
|
+
void resolution.then(() => this.background.delete(resolution), () => this.background.delete(resolution));
|
|
227
286
|
return false; // Don't terminate loop — resolution pending
|
|
228
287
|
}
|
|
229
288
|
}
|
|
230
289
|
// Only missing deps (unresolvable) → force-fail all
|
|
231
290
|
this.ctx.emitter.emit("orchestrator:deadlock", { taskIds: pending.map(t => t.id) });
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
291
|
+
let allFailed = true;
|
|
292
|
+
for (const task of pending) {
|
|
293
|
+
if (!(await this.forceFailCapturedTask(task, tasks)))
|
|
294
|
+
allFailed = false;
|
|
295
|
+
}
|
|
296
|
+
return allFailed;
|
|
235
297
|
}
|
|
236
298
|
// Concurrency-aware spawn loop
|
|
237
299
|
const activeRuns = await this.ctx.runStore.getActiveRuns();
|
|
@@ -262,6 +324,8 @@ export class OrchestratorEngine {
|
|
|
262
324
|
continue;
|
|
263
325
|
}
|
|
264
326
|
}
|
|
327
|
+
if (this.stopped)
|
|
328
|
+
break;
|
|
265
329
|
await this.runner.spawnForTask(task);
|
|
266
330
|
totalActive++;
|
|
267
331
|
agentActiveCounts.set(agentName, (agentActiveCounts.get(agentName) ?? 0) + 1);
|
|
@@ -285,13 +349,14 @@ export class OrchestratorEngine {
|
|
|
285
349
|
return false;
|
|
286
350
|
}
|
|
287
351
|
/** Build the minimal facade that the deadlock resolver needs. */
|
|
288
|
-
|
|
352
|
+
getDeadlockFacade() {
|
|
289
353
|
return {
|
|
290
354
|
getConfig: () => this.getConfig(),
|
|
291
355
|
getMemory: () => this.getMemory(),
|
|
292
356
|
getStore: () => this.getStore(),
|
|
293
357
|
emit: (event, payload) => this.ctx.emitter.emit(event, payload),
|
|
294
|
-
forceFailTask: (taskId) => this.forceFailTask(taskId),
|
|
358
|
+
forceFailTask: (taskId, expected) => this.forceFailTask(taskId, expected),
|
|
359
|
+
applyTaskExecutionDecision: (expected, mutation, preconditions) => this.taskMgr.applyTaskExecutionDecision(expected, mutation, preconditions),
|
|
295
360
|
createTask: (opts) => this.createTask(opts),
|
|
296
361
|
};
|
|
297
362
|
}
|
|
@@ -302,6 +367,13 @@ export class OrchestratorEngine {
|
|
|
302
367
|
this.waiter.wake();
|
|
303
368
|
}
|
|
304
369
|
isStopped() { return this.stopped; }
|
|
370
|
+
/** Terminal admission stop and drain of supervisor-owned work. */
|
|
371
|
+
async close() {
|
|
372
|
+
this.closed = true;
|
|
373
|
+
this.stop();
|
|
374
|
+
await Promise.allSettled([...this.activeTicks, ...(this.activeRun ? [this.activeRun] : [])]);
|
|
375
|
+
await Promise.allSettled([...this.background]);
|
|
376
|
+
}
|
|
305
377
|
// ── Task Management (delegates to TaskManager) ──────────────────────
|
|
306
378
|
async createTask(opts) { return this.taskMgr.createTask(opts); }
|
|
307
379
|
async updateTaskDescription(taskId, description) { return this.taskMgr.updateTaskDescription(taskId, description); }
|
|
@@ -321,8 +393,32 @@ export class OrchestratorEngine {
|
|
|
321
393
|
this.scheduler?.unregisterMission(mission.id);
|
|
322
394
|
return count;
|
|
323
395
|
}
|
|
396
|
+
async abortMission(missionId, options) {
|
|
397
|
+
if (!this.missionExec.abortMission)
|
|
398
|
+
throw new MissionExecutionError("mission_execution_unsupported", "Mission cancellation is unavailable");
|
|
399
|
+
const result = await this.missionExec.abortMission(missionId, options);
|
|
400
|
+
// The durable cancelled status fences scheduled admission. Removing a local
|
|
401
|
+
// entry after this await could instead remove a newer accepted execution's
|
|
402
|
+
// scheduling, even when the ScheduleEntry object itself has not changed.
|
|
403
|
+
return { aborted: result.aborted, ...(result.executionId ? { executionId: result.executionId } : {}) };
|
|
404
|
+
}
|
|
324
405
|
async clearTasks(filter) { return this.taskMgr.clearTasks(filter); }
|
|
325
|
-
async forceFailTask(taskId) { return this.taskMgr.forceFailTask(taskId); }
|
|
406
|
+
async forceFailTask(taskId, expected) { return this.taskMgr.forceFailTask(taskId, expected); }
|
|
407
|
+
async forceFailCapturedTask(task, tasks) {
|
|
408
|
+
if (!isConditionalTaskExecutionStore(this.ctx.taskStore)) {
|
|
409
|
+
this.ctx.emitter.emit("log", { level: "error", message: "Deadlock recovery requires atomic dependency checks" });
|
|
410
|
+
return false;
|
|
411
|
+
}
|
|
412
|
+
try {
|
|
413
|
+
await this.taskMgr.applyTaskExecutionDecision(taskExecutionReference(task), { type: "cancel", reason: "Deadlock could not be resolved" }, taskDependencyPreconditions(task, tasks));
|
|
414
|
+
return true;
|
|
415
|
+
}
|
|
416
|
+
catch (error) {
|
|
417
|
+
if (error instanceof TaskExecutionError && error.code === "task_execution_conflict")
|
|
418
|
+
return false;
|
|
419
|
+
throw error;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
326
422
|
// ── Approval Management ─────────────────────────────────────────────
|
|
327
423
|
async approveRequest(requestId, resolvedBy, note) {
|
|
328
424
|
return (await this.approvalMgr?.approve(requestId, resolvedBy, note)) ?? null;
|
|
@@ -362,6 +458,8 @@ export class OrchestratorEngine {
|
|
|
362
458
|
async addAgent(agent, teamName) { return this.agentMgr.addAgent(agent, teamName); }
|
|
363
459
|
async removeAgent(name) { return this.agentMgr.removeAgent(name); }
|
|
364
460
|
async updateAgent(name, updates) { return this.agentMgr.updateAgent(name, updates); }
|
|
461
|
+
async getAgentSnapshot(name) { return this.agentMgr.getAgentSnapshot(name); }
|
|
462
|
+
async compareAndSwapAgent(name, mutation) { return this.agentMgr.compareAndSwapAgent(name, mutation); }
|
|
365
463
|
async findAgentTeam(name) { return this.agentMgr.findAgentTeam(name); }
|
|
366
464
|
async addVolatileAgent(agent, group) { return this.agentMgr.addVolatileAgent(agent, group); }
|
|
367
465
|
async cleanupVolatileAgents(group) { return this.agentMgr.cleanupVolatileAgents(group); }
|
|
@@ -468,13 +566,15 @@ export class OrchestratorEngine {
|
|
|
468
566
|
// ── Mission Resume / Execute ───────────────────────────────────────
|
|
469
567
|
async getResumableMissions() { return this.missionExec.getResumableMissions(); }
|
|
470
568
|
async resumeMission(missionId, opts) { return this.missionExec.resumeMission(missionId, opts); }
|
|
471
|
-
async executeMission(missionId) { return this.missionExec.executeMission(missionId); }
|
|
569
|
+
async executeMission(missionId, options) { return this.missionExec.executeMission(missionId, options); }
|
|
472
570
|
// ── Checkpoints ────────────────────────────────────────────────────
|
|
473
571
|
getActiveCheckpoints() { return this.missionExec.getActiveCheckpoints(); }
|
|
474
572
|
async resumeCheckpoint(group, checkpointName) {
|
|
475
573
|
return this.missionExec.resumeCheckpoint(group, checkpointName);
|
|
476
574
|
}
|
|
477
575
|
async resumeCheckpointByMissionId(missionId, checkpointName) {
|
|
576
|
+
if (this.missionExec.resumeCheckpointByMissionId)
|
|
577
|
+
return this.missionExec.resumeCheckpointByMissionId(missionId, checkpointName);
|
|
478
578
|
const mission = await this.missionExec.getMission(missionId);
|
|
479
579
|
if (!mission)
|
|
480
580
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator-engine.js","sourceRoot":"","sources":["../src/orchestrator-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orchestrator-engine.js","sourceRoot":"","sources":["../src/orchestrator-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { RunStore } from "./run-store.js";
|
|
2
|
+
export type RunStateStopReason = "run_terminal" | "run_missing" | "run_unavailable";
|
|
3
|
+
/** Observe the durable authority for one Run. This signal requests local owner
|
|
4
|
+
* shutdown; observing a terminal row does not prove a host has stopped. */
|
|
5
|
+
export declare function watchRunState(input: {
|
|
6
|
+
runId: string;
|
|
7
|
+
runStore: Pick<RunStore, "getRun">;
|
|
8
|
+
pollIntervalMs?: number;
|
|
9
|
+
readTimeoutMs?: number;
|
|
10
|
+
}): {
|
|
11
|
+
signal: AbortSignal;
|
|
12
|
+
dispose(): void;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=run-state-monitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-state-monitor.d.ts","sourceRoot":"","sources":["../src/run-state-monitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,aAAa,GAAG,iBAAiB,CAAC;AAEpF;2EAC2E;AAC3E,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,OAAO,IAAI,IAAI,CAAA;CAAE,CAmD3C"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/** Observe the durable authority for one Run. This signal requests local owner
|
|
2
|
+
* shutdown; observing a terminal row does not prove a host has stopped. */
|
|
3
|
+
export function watchRunState(input) {
|
|
4
|
+
const interval = input.pollIntervalMs ?? 1000;
|
|
5
|
+
const readTimeout = input.readTimeoutMs ?? 5000;
|
|
6
|
+
for (const duration of [interval, readTimeout]) {
|
|
7
|
+
if (!Number.isSafeInteger(duration) || duration < 1 || duration > 30_000) {
|
|
8
|
+
throw new Error("Run state observation requires a bounded positive duration");
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
const controller = new AbortController();
|
|
12
|
+
let disposed = false;
|
|
13
|
+
let timer;
|
|
14
|
+
let deadline;
|
|
15
|
+
const active = () => !disposed && !controller.signal.aborted;
|
|
16
|
+
const stop = (reason) => {
|
|
17
|
+
if (active())
|
|
18
|
+
controller.abort(reason);
|
|
19
|
+
};
|
|
20
|
+
const unref = (handle) => {
|
|
21
|
+
if (typeof handle === "object" && "unref" in handle)
|
|
22
|
+
handle.unref();
|
|
23
|
+
};
|
|
24
|
+
const check = async () => {
|
|
25
|
+
if (!active())
|
|
26
|
+
return;
|
|
27
|
+
deadline = setTimeout(() => stop("run_unavailable"), readTimeout);
|
|
28
|
+
unref(deadline);
|
|
29
|
+
try {
|
|
30
|
+
const run = await input.runStore.getRun(input.runId);
|
|
31
|
+
if (!active())
|
|
32
|
+
return;
|
|
33
|
+
if (!run)
|
|
34
|
+
stop("run_missing");
|
|
35
|
+
else if (run.status !== "running")
|
|
36
|
+
stop("run_terminal");
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
stop("run_unavailable");
|
|
40
|
+
}
|
|
41
|
+
finally {
|
|
42
|
+
clearTimeout(deadline);
|
|
43
|
+
deadline = undefined;
|
|
44
|
+
// Schedule only after this read settles: slow persistence never creates
|
|
45
|
+
// overlapping lookups or an unbounded queue of cancellation checks.
|
|
46
|
+
if (active()) {
|
|
47
|
+
timer = setTimeout(check, interval);
|
|
48
|
+
unref(timer);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
timer = setTimeout(check, interval);
|
|
53
|
+
unref(timer);
|
|
54
|
+
return {
|
|
55
|
+
signal: controller.signal,
|
|
56
|
+
dispose() {
|
|
57
|
+
disposed = true;
|
|
58
|
+
clearTimeout(timer);
|
|
59
|
+
clearTimeout(deadline);
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=run-state-monitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-state-monitor.js","sourceRoot":"","sources":["../src/run-state-monitor.ts"],"names":[],"mappings":"AAIA;2EAC2E;AAC3E,MAAM,UAAU,aAAa,CAAC,KAK7B;IACC,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC;IAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC;IAChD,KAAK,MAAM,QAAQ,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,KAAgD,CAAC;IACrD,IAAI,QAAmD,CAAC;IACxD,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7D,MAAM,IAAI,GAAG,CAAC,MAA0B,EAAE,EAAE;QAC1C,IAAI,MAAM,EAAE;YAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,MAAqC,EAAE,EAAE;QACtD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,MAAM;YAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACtE,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,IAAI,CAAC,MAAM,EAAE;YAAE,OAAO;QACtB,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,WAAW,CAAC,CAAC;QAClE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,EAAE;gBAAE,OAAO;YACtB,IAAI,CAAC,GAAG;gBAAE,IAAI,CAAC,aAAa,CAAC,CAAC;iBACzB,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1B,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,QAAQ,CAAC,CAAC;YACvB,QAAQ,GAAG,SAAS,CAAC;YACrB,wEAAwE;YACxE,oEAAoE;YACpE,IAAI,MAAM,EAAE,EAAE,CAAC;gBACb,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACpC,KAAK,CAAC,KAAK,CAAC,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpC,KAAK,CAAC,KAAK,CAAC,CAAC;IACb,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,OAAO;YACL,QAAQ,GAAG,IAAI,CAAC;YAChB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,YAAY,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/run-store.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export type RunStatus = "running" | "completed" | "failed" | "killed";
|
|
|
5
5
|
export interface RunRecord {
|
|
6
6
|
id: string;
|
|
7
7
|
taskId: string;
|
|
8
|
+
/** Immutable generation assigned by atomic Task execution claim. */
|
|
9
|
+
taskExecutionRevision?: number;
|
|
8
10
|
pid: number;
|
|
9
11
|
agentName: string;
|
|
10
12
|
sessionId?: string;
|
|
@@ -43,7 +45,19 @@ export interface RunRecord {
|
|
|
43
45
|
collectedAt?: string;
|
|
44
46
|
}
|
|
45
47
|
export interface RunStore {
|
|
48
|
+
/** Register/update an active run. Existing terminal records are immutable to
|
|
49
|
+
* this operation; retries require a new run ID. The check must be atomic. */
|
|
46
50
|
upsertRun(run: RunRecord): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Atomically update the configuration of an existing running Run. Returns
|
|
53
|
+
* false for missing or terminal records and never inserts a record. Updates
|
|
54
|
+
* only config, configPath, updatedAt and executionMode when provided by config;
|
|
55
|
+
* claim identity, activity, start time, checkpoints and results are preserved.
|
|
56
|
+
* Optional for compatibility with third-party stores. Hosts requiring this
|
|
57
|
+
* update-only fence must reject an unsupported store, never emulate it with
|
|
58
|
+
* a read followed by upsertRun.
|
|
59
|
+
*/
|
|
60
|
+
updateRunConfig?(runId: string, config: RunnerConfig, configPath: string): Promise<boolean>;
|
|
47
61
|
updateActivity(runId: string, activity: AgentActivity): Promise<void>;
|
|
48
62
|
/** Store auto-collected outcomes on the run record (called before completeRun). */
|
|
49
63
|
updateOutcomes(runId: string, outcomes: TaskOutcome[]): Promise<void>;
|
|
@@ -56,6 +70,7 @@ export interface RunStore {
|
|
|
56
70
|
updateResumeState?(runId: string, state: LoopResumeState): Promise<void>;
|
|
57
71
|
/** Update host-assigned spawn metadata without overwriting status or result. */
|
|
58
72
|
updateSpawnInfo?(runId: string, pid: number, configPath: string): Promise<void>;
|
|
73
|
+
/** Atomically finish a running record. The first terminal status/result wins. */
|
|
59
74
|
completeRun(runId: string, status: RunStatus, result: TaskResult): Promise<void>;
|
|
60
75
|
/** Acknowledge a terminal result while retaining its Run history. */
|
|
61
76
|
markRunCollected?(runId: string): Promise<void>;
|
package/dist/run-store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-store.d.ts","sourceRoot":"","sources":["../src/run-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtE,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;IACnC,wFAAwF;IACxF,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,mFAAmF;IACnF,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE;;;;;OAKG;IACH,iBAAiB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,gFAAgF;IAChF,eAAe,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,qEAAqE;IACrE,gBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD;;;OAGG;IACH,WAAW,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IACtD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAC/D;;;OAGG;IACH,kBAAkB,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7E,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACtC,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACxC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC/B"}
|
|
1
|
+
{"version":3,"file":"run-store.d.ts","sourceRoot":"","sources":["../src/run-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const RUNNER_CAPABILITY_BOOTSTRAP_ARGUMENT = "--capabilities-stdin";
|
|
3
|
+
export declare const RUNNER_CAPABILITY_BOOTSTRAP_VERSION = 3;
|
|
4
|
+
export declare const RUNNER_CAPABILITY_BOOTSTRAP_READY = "POLPO_RUNNER_CAPABILITIES_READY_V3";
|
|
5
|
+
export declare const MAX_RUNNER_CAPABILITY_BOOTSTRAP_BYTES: number;
|
|
6
|
+
export declare const RUNNER_CAPABILITY_BOOTSTRAP_TIMEOUT_MS = 30000;
|
|
7
|
+
/** One host-to-runner frame. Data, MCP and custom-tool protocols stay separate.
|
|
8
|
+
* Never persist this payload in RunnerConfig or expose it to the model. */
|
|
9
|
+
export declare const RunnerCapabilityBootstrapPayloadSchema: z.ZodObject<{
|
|
10
|
+
version: z.ZodLiteral<3>;
|
|
11
|
+
agentName: z.ZodString;
|
|
12
|
+
agentIdentity: z.ZodOptional<z.ZodPipe<z.ZodUnknown, z.ZodTransform<import("./agent-store.js").AgentIdentity, unknown>>>;
|
|
13
|
+
runId: z.ZodString;
|
|
14
|
+
sandboxId: z.ZodString;
|
|
15
|
+
mcp: z.ZodOptional<z.ZodObject<{
|
|
16
|
+
version: z.ZodLiteral<2>;
|
|
17
|
+
token: z.ZodString;
|
|
18
|
+
sandboxId: z.ZodString;
|
|
19
|
+
agentName: z.ZodString;
|
|
20
|
+
agentIdentity: z.ZodPipe<z.ZodUnknown, z.ZodTransform<import("./agent-store.js").AgentIdentity, unknown>>;
|
|
21
|
+
runId: z.ZodString;
|
|
22
|
+
expiresAt: z.ZodISODateTime;
|
|
23
|
+
url: z.ZodString;
|
|
24
|
+
}, z.core.$strict>>;
|
|
25
|
+
customTools: z.ZodOptional<z.ZodObject<{
|
|
26
|
+
version: z.ZodLiteral<1>;
|
|
27
|
+
token: z.ZodString;
|
|
28
|
+
sandboxId: z.ZodString;
|
|
29
|
+
agentName: z.ZodString;
|
|
30
|
+
agentIdentity: z.ZodPipe<z.ZodUnknown, z.ZodTransform<import("./agent-store.js").AgentIdentity, unknown>>;
|
|
31
|
+
runId: z.ZodString;
|
|
32
|
+
expiresAt: z.ZodISODateTime;
|
|
33
|
+
url: z.ZodString;
|
|
34
|
+
}, z.core.$strict>>;
|
|
35
|
+
data: z.ZodOptional<z.ZodObject<{
|
|
36
|
+
url: z.ZodString;
|
|
37
|
+
token: z.ZodString;
|
|
38
|
+
agentName: z.ZodString;
|
|
39
|
+
sandboxId: z.ZodString;
|
|
40
|
+
}, z.core.$strict>>;
|
|
41
|
+
}, z.core.$strict>;
|
|
42
|
+
export type RunnerCapabilityBootstrapPayload = z.infer<typeof RunnerCapabilityBootstrapPayloadSchema>;
|
|
43
|
+
//# sourceMappingURL=runner-capability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner-capability.d.ts","sourceRoot":"","sources":["../src/runner-capability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,oCAAoC,yBAAyB,CAAC;AAC3E,eAAO,MAAM,mCAAmC,IAAI,CAAC;AACrD,eAAO,MAAM,iCAAiC,uCAAuC,CAAC;AACtF,eAAO,MAAM,qCAAqC,QAAY,CAAC;AAC/D,eAAO,MAAM,sCAAsC,QAAS,CAAC;AAW7D;2EAC2E;AAC3E,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA8BjD,CAAC;AACH,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sCAAsC,CAAC,CAAC"}
|