@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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mission-executor.js","sourceRoot":"","sources":["../src/mission-executor.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ import type { TeamStore } from "./team-store.js";
20
20
  import type { AgentStore } from "./agent-store.js";
21
21
  import type { PolpoConfig, PolpoFileConfig, Task, AssessmentResult, ReviewContext, ReasoningLevel, ModelConfig } from "./types.js";
22
22
  import type { HookRegistry } from "./hooks.js";
23
+ import type { Spawner } from "./spawner.js";
23
24
  /** Progress event for individual assessment checks. */
24
25
  export interface CheckProgressEvent {
25
26
  index: number;
@@ -53,6 +54,7 @@ export interface OrchestratorContext {
53
54
  readonly agentWorkDir: string;
54
55
  readonly polpoDir: string;
55
56
  readonly assessFn: AssessFn;
57
+ readonly spawner: Spawner;
56
58
  /** Kill an OS process by PID (Node shell: process.kill). */
57
59
  readonly killProcess?: (pid: number, signal?: string) => void;
58
60
  /** Load polpo.json config from disk. */
@@ -70,11 +72,15 @@ export interface OrchestratorContext {
70
72
  summary: string;
71
73
  toolsSummary?: string;
72
74
  };
73
- /** Validate that provider API keys are configured. */
74
- readonly validateProviderKeys?: (config: PolpoConfig) => {
75
- valid: boolean;
76
- missing: string[];
77
- };
75
+ /** Validate that provider API keys are configured for the given model specs. */
76
+ readonly validateProviderKeys?: (modelSpecs: string[]) => {
77
+ provider: string;
78
+ modelSpec: string;
79
+ }[];
80
+ /** Read raw JSONL content for a run log (used by TaskRunner timeout diagnosis). */
81
+ readonly readRunLog?: (runId: string) => string | null;
82
+ /** UDS path for push-notifying the orchestrator on runner completion. */
83
+ readonly notifySocketPath?: string;
78
84
  /** Approval request store (when storage is "postgres", injected by shell). */
79
85
  readonly approvalStore?: ApprovalStore;
80
86
  /** Notification record store (when storage is "postgres", injected by shell). */
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator-context.d.ts","sourceRoot":"","sources":["../src/orchestrator-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator-context.d.ts","sourceRoot":"","sources":["../src/orchestrator-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,500 @@
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 type { OrchestratorContext } from "./orchestrator-context.js";
14
+ import type { TaskManager } from "./task-manager.js";
15
+ import type { AgentManager } from "./agent-manager.js";
16
+ import type { ApprovalManager } from "./approval-manager.js";
17
+ import type { Scheduler } from "./scheduler.js";
18
+ import type { SLAMonitor } from "./sla-monitor.js";
19
+ import type { QualityController } from "./quality-controller.js";
20
+ import type { EscalationManager } from "./escalation-manager.js";
21
+ import type { TaskStore } from "./task-store.js";
22
+ import type { RunStore } from "./run-store.js";
23
+ import type { MemoryStore } from "./memory-store.js";
24
+ import type { LogStore } from "./log-store.js";
25
+ import type { SessionStore } from "./session-store.js";
26
+ import type { TeamStore } from "./team-store.js";
27
+ import type { AgentStore } from "./agent-store.js";
28
+ import type { PolpoConfig, AgentConfig, Task, TaskResult, TaskExpectation, ExpectedOutcome, Team, Mission, MissionStatus, MissionCheckpoint, MissionDelay, MissionQualityGate, RetryPolicy, ScopedNotificationRules, ApprovalRequest, ApprovalStatus } from "./types.js";
29
+ /**
30
+ * Port for task spawning, result collection, and health monitoring.
31
+ * Implemented by TaskRunner in the shell layer.
32
+ */
33
+ export interface TaskRunnerPort {
34
+ collectResults(onResult: (taskId: string, result: TaskResult) => void): Promise<void>;
35
+ enforceHealthChecks(): Promise<void>;
36
+ spawnForTask(task: Task): Promise<void>;
37
+ syncProcessesFromRunStore(): Promise<void>;
38
+ recoverOrphanedTasks(): Promise<number>;
39
+ }
40
+ /**
41
+ * Port for the assessment pipeline.
42
+ * Implemented by AssessmentOrchestrator in the shell layer.
43
+ */
44
+ export interface AssessmentOrchestratorPort {
45
+ handleResult(taskId: string, result: TaskResult): void;
46
+ retryOrFail(taskId: string, task: Task, result: TaskResult): Promise<void>;
47
+ }
48
+ /**
49
+ * Port for mission lifecycle management.
50
+ * Implemented by MissionExecutor in the shell layer.
51
+ */
52
+ export interface MissionExecutorPort {
53
+ readonly ready: Promise<void>;
54
+ saveMission(opts: {
55
+ data: string;
56
+ prompt?: string;
57
+ name?: string;
58
+ status?: MissionStatus;
59
+ notifications?: ScopedNotificationRules;
60
+ }): Promise<Mission>;
61
+ getMission(missionId: string): Promise<Mission | undefined>;
62
+ getMissionByName(name: string): Promise<Mission | undefined>;
63
+ getAllMissions(): Promise<Mission[]>;
64
+ updateMission(missionId: string, updates: Partial<Omit<Mission, "id">>): Promise<Mission>;
65
+ deleteMission(missionId: string): Promise<boolean>;
66
+ executeMission(missionId: string): Promise<{
67
+ tasks: Task[];
68
+ group: string;
69
+ }>;
70
+ resumeMission(missionId: string, opts?: {
71
+ retryFailed?: boolean;
72
+ }): Promise<{
73
+ retried: number;
74
+ pending: number;
75
+ }>;
76
+ getResumableMissions(): Promise<Mission[]>;
77
+ cleanupCompletedGroups(tasks: Task[]): Promise<void>;
78
+ getQualityGates(group: string): MissionQualityGate[];
79
+ getCheckpoints(group: string): MissionCheckpoint[];
80
+ getBlockingCheckpoint(group: string, taskTitle: string, taskId: string, allTasks: Task[]): Promise<{
81
+ checkpoint: MissionCheckpoint;
82
+ reachedAt: string;
83
+ } | undefined>;
84
+ getDelays(group: string): MissionDelay[];
85
+ getBlockingDelay(group: string, taskTitle: string, taskId: string, allTasks: Task[]): Promise<{
86
+ delay: MissionDelay;
87
+ startedAt: string;
88
+ expiresAt: string;
89
+ } | undefined>;
90
+ getActiveCheckpoints(): Array<{
91
+ group: string;
92
+ checkpointName: string;
93
+ checkpoint: MissionCheckpoint;
94
+ reachedAt: string;
95
+ }>;
96
+ getActiveDelays(): Array<{
97
+ group: string;
98
+ delayName: string;
99
+ delay: MissionDelay;
100
+ startedAt: string;
101
+ expiresAt: string;
102
+ }>;
103
+ resumeCheckpoint(group: string, checkpointName: string): Promise<boolean>;
104
+ addMissionTask(missionId: string, task: {
105
+ title: string;
106
+ description: string;
107
+ assignTo?: string;
108
+ dependsOn?: string[];
109
+ expectations?: unknown[];
110
+ expectedOutcomes?: unknown[];
111
+ maxDuration?: number;
112
+ retryPolicy?: {
113
+ escalateAfter?: number;
114
+ fallbackAgent?: string;
115
+ };
116
+ notifications?: unknown;
117
+ }): Promise<Mission>;
118
+ updateMissionTask(missionId: string, taskTitle: string, updates: {
119
+ title?: string;
120
+ description?: string;
121
+ assignTo?: string;
122
+ dependsOn?: string[];
123
+ expectations?: unknown[];
124
+ expectedOutcomes?: unknown[];
125
+ maxDuration?: number;
126
+ retryPolicy?: {
127
+ escalateAfter?: number;
128
+ fallbackAgent?: string;
129
+ };
130
+ notifications?: unknown;
131
+ }): Promise<Mission>;
132
+ removeMissionTask(missionId: string, taskTitle: string): Promise<Mission>;
133
+ reorderMissionTasks(missionId: string, titles: string[]): Promise<Mission>;
134
+ addMissionCheckpoint(missionId: string, cp: {
135
+ name: string;
136
+ afterTasks: string[];
137
+ blocksTasks: string[];
138
+ notifyChannels?: string[];
139
+ message?: string;
140
+ }): Promise<Mission>;
141
+ updateMissionCheckpoint(missionId: string, name: string, updates: {
142
+ name?: string;
143
+ afterTasks?: string[];
144
+ blocksTasks?: string[];
145
+ notifyChannels?: string[];
146
+ message?: string;
147
+ }): Promise<Mission>;
148
+ removeMissionCheckpoint(missionId: string, name: string): Promise<Mission>;
149
+ addMissionQualityGate(missionId: string, gate: {
150
+ name: string;
151
+ afterTasks: string[];
152
+ blocksTasks: string[];
153
+ minScore?: number;
154
+ requireAllPassed?: boolean;
155
+ condition?: string;
156
+ notifyChannels?: string[];
157
+ }): Promise<Mission>;
158
+ updateMissionQualityGate(missionId: string, name: string, updates: {
159
+ name?: string;
160
+ afterTasks?: string[];
161
+ blocksTasks?: string[];
162
+ minScore?: number;
163
+ requireAllPassed?: boolean;
164
+ condition?: string;
165
+ notifyChannels?: string[];
166
+ }): Promise<Mission>;
167
+ removeMissionQualityGate(missionId: string, name: string): Promise<Mission>;
168
+ addMissionDelay(missionId: string, delay: {
169
+ name: string;
170
+ afterTasks: string[];
171
+ blocksTasks: string[];
172
+ duration: string;
173
+ notifyChannels?: string[];
174
+ message?: string;
175
+ }): Promise<Mission>;
176
+ updateMissionDelay(missionId: string, name: string, updates: {
177
+ name?: string;
178
+ afterTasks?: string[];
179
+ blocksTasks?: string[];
180
+ duration?: string;
181
+ notifyChannels?: string[];
182
+ message?: string;
183
+ }): Promise<Mission>;
184
+ removeMissionDelay(missionId: string, name: string): Promise<Mission>;
185
+ addMissionTeamMember(missionId: string, member: {
186
+ name: string;
187
+ role?: string;
188
+ model?: string;
189
+ [key: string]: unknown;
190
+ }): Promise<Mission>;
191
+ updateMissionTeamMember(missionId: string, memberName: string, updates: {
192
+ name?: string;
193
+ role?: string;
194
+ model?: string;
195
+ [key: string]: unknown;
196
+ }): Promise<Mission>;
197
+ removeMissionTeamMember(missionId: string, memberName: string): Promise<Mission>;
198
+ updateMissionNotifications(missionId: string, notifications: ScopedNotificationRules | null): Promise<Mission>;
199
+ }
200
+ /**
201
+ * Port for deadlock analysis and resolution.
202
+ * Implemented by the deadlock-resolver module in the shell layer.
203
+ */
204
+ export interface DeadlockResolverPort {
205
+ isResolving(): boolean;
206
+ analyzeBlockedTasks(pending: Task[], allTasks: Task[]): {
207
+ resolvable: unknown[];
208
+ unresolvable: unknown[];
209
+ };
210
+ resolveDeadlock(analysis: {
211
+ resolvable: unknown[];
212
+ unresolvable: unknown[];
213
+ }, facade: DeadlockFacade): Promise<void>;
214
+ }
215
+ /**
216
+ * Minimal facade the deadlock resolver needs from the engine.
217
+ * The shell's resolveDeadlock() originally took an Orchestrator —
218
+ * this interface provides the same surface.
219
+ */
220
+ export interface DeadlockFacade {
221
+ getConfig(): PolpoConfig | null;
222
+ getMemory(): Promise<string>;
223
+ getStore(): TaskStore;
224
+ emit(event: string, payload: unknown): boolean;
225
+ forceFailTask(taskId: string): Promise<void>;
226
+ addTask(opts: {
227
+ title: string;
228
+ description: string;
229
+ assignTo: string;
230
+ expectations?: TaskExpectation[];
231
+ expectedOutcomes?: ExpectedOutcome[];
232
+ dependsOn?: string[];
233
+ group?: string;
234
+ }): Promise<Task>;
235
+ }
236
+ /**
237
+ * Port for the task watcher manager.
238
+ * Implemented by TaskWatcherManager in the shell layer.
239
+ */
240
+ export interface TaskWatcherManagerPort {
241
+ }
242
+ export interface OrchestratorEngineDeps {
243
+ ctx: OrchestratorContext;
244
+ taskManager: TaskManager;
245
+ agentManager: AgentManager;
246
+ missionExecutor: MissionExecutorPort;
247
+ taskRunner: TaskRunnerPort;
248
+ assessmentOrchestrator: AssessmentOrchestratorPort;
249
+ approvalManager?: ApprovalManager;
250
+ scheduler?: Scheduler;
251
+ slaMonitor?: SLAMonitor;
252
+ qualityController?: QualityController;
253
+ escalationManager?: EscalationManager;
254
+ deadlockResolver?: DeadlockResolverPort;
255
+ }
256
+ /**
257
+ * Pure orchestration engine — no Node.js dependencies.
258
+ *
259
+ * The root Orchestrator creates an instance of this class and delegates
260
+ * all pure-logic methods to it, keeping Node.js-specific init/setup/shutdown
261
+ * in the shell layer.
262
+ */
263
+ export declare class OrchestratorEngine {
264
+ private ctx;
265
+ private taskMgr;
266
+ private agentMgr;
267
+ private missionExec;
268
+ private runner;
269
+ private assessor;
270
+ private approvalMgr?;
271
+ private scheduler?;
272
+ private slaMonitor?;
273
+ private qualityController?;
274
+ private escalationMgr?;
275
+ private deadlockResolver?;
276
+ private stopped;
277
+ constructor(deps: OrchestratorEngineDeps);
278
+ setScheduler(scheduler: Scheduler | undefined): void;
279
+ setSLAMonitor(slaMonitor: SLAMonitor | undefined): void;
280
+ setQualityController(qualityController: QualityController | undefined): void;
281
+ setEscalationManager(escalationManager: EscalationManager | undefined): void;
282
+ setApprovalManager(approvalManager: ApprovalManager | undefined): void;
283
+ setDeadlockResolver(deadlockResolver: DeadlockResolverPort | undefined): void;
284
+ /**
285
+ * Main supervisor loop. Runs until all tasks are done/failed.
286
+ * In interactive mode, keeps running and waits for new tasks.
287
+ *
288
+ * @param interactive - Whether to keep running after all tasks complete
289
+ * @param onBeforeLoop - Shell hook called before the loop starts (e.g. to install process handlers)
290
+ * @param onAfterLoop - Shell hook called after the loop exits (e.g. to clean up process handlers)
291
+ */
292
+ run(interactive: boolean, onBeforeLoop?: () => void, onAfterLoop?: () => void): Promise<void>;
293
+ /**
294
+ * Single tick of the supervisor loop. Returns true when all work is done.
295
+ */
296
+ tick(): Promise<boolean>;
297
+ /** Build the minimal facade that the deadlock resolver needs. */
298
+ private buildDeadlockFacade;
299
+ stop(): void;
300
+ isStopped(): boolean;
301
+ addTask(opts: {
302
+ title: string;
303
+ description: string;
304
+ assignTo: string;
305
+ expectations?: TaskExpectation[];
306
+ expectedOutcomes?: ExpectedOutcome[];
307
+ dependsOn?: string[];
308
+ group?: string;
309
+ maxDuration?: number;
310
+ retryPolicy?: RetryPolicy;
311
+ notifications?: ScopedNotificationRules;
312
+ sideEffects?: boolean;
313
+ draft?: boolean;
314
+ }): Promise<Task>;
315
+ updateTaskDescription(taskId: string, description: string): Promise<void>;
316
+ updateTaskAssignment(taskId: string, agentName: string): Promise<void>;
317
+ updateTaskExpectations(taskId: string, expectations: TaskExpectation[]): Promise<void>;
318
+ retryTask(taskId: string): Promise<void>;
319
+ reassessTask(taskId: string): Promise<void>;
320
+ killTask(taskId: string): Promise<boolean>;
321
+ deleteTask(taskId: string): Promise<boolean>;
322
+ abortGroup(group: string): Promise<number>;
323
+ clearTasks(filter: (task: Task) => boolean): Promise<number>;
324
+ forceFailTask(taskId: string): Promise<void>;
325
+ approveRequest(requestId: string, resolvedBy?: string, note?: string): Promise<ApprovalRequest | null>;
326
+ rejectRequest(requestId: string, feedback: string, resolvedBy?: string): Promise<ApprovalRequest | null>;
327
+ canRejectRequest(requestId: string): Promise<{
328
+ allowed: boolean;
329
+ rejectionCount: number;
330
+ maxRejections: number;
331
+ }>;
332
+ getPendingApprovals(): Promise<ApprovalRequest[]>;
333
+ getAllApprovals(status?: ApprovalStatus): Promise<ApprovalRequest[]>;
334
+ getApprovalRequest(id: string): Promise<ApprovalRequest | undefined>;
335
+ getStore(): TaskStore;
336
+ getRunStore(): RunStore;
337
+ getMemoryStore(): MemoryStore;
338
+ getConfig(): PolpoConfig | null;
339
+ getLogStore(): LogStore | undefined;
340
+ getSessionStore(): SessionStore | undefined;
341
+ getTeamStore(): TeamStore;
342
+ getAgentStore(): AgentStore;
343
+ getAgents(): Promise<AgentConfig[]>;
344
+ getTeams(): Promise<Team[]>;
345
+ getTeam(name?: string): Promise<Team | undefined>;
346
+ addTeam(team: Team): Promise<void>;
347
+ removeTeam(name: string): Promise<boolean>;
348
+ renameTeam(oldName: string, newName: string): Promise<void>;
349
+ addAgent(agent: AgentConfig, teamName?: string): Promise<void>;
350
+ removeAgent(name: string): Promise<boolean>;
351
+ updateAgent(name: string, updates: Partial<Omit<AgentConfig, "name">>): Promise<AgentConfig>;
352
+ findAgentTeam(name: string): Promise<Team | undefined>;
353
+ addVolatileAgent(agent: AgentConfig, group: string): Promise<void>;
354
+ cleanupVolatileAgents(group: string): Promise<number>;
355
+ saveMission(opts: {
356
+ data: string;
357
+ prompt?: string;
358
+ name?: string;
359
+ status?: MissionStatus;
360
+ notifications?: ScopedNotificationRules;
361
+ }): Promise<Mission>;
362
+ getMission(missionId: string): Promise<Mission | undefined>;
363
+ getMissionByName(name: string): Promise<Mission | undefined>;
364
+ getAllMissions(): Promise<Mission[]>;
365
+ updateMission(missionId: string, updates: Partial<Omit<Mission, "id">>): Promise<Mission>;
366
+ deleteMission(missionId: string): Promise<boolean>;
367
+ addMissionTask(missionId: string, task: {
368
+ title: string;
369
+ description: string;
370
+ assignTo?: string;
371
+ dependsOn?: string[];
372
+ expectations?: unknown[];
373
+ expectedOutcomes?: unknown[];
374
+ maxDuration?: number;
375
+ retryPolicy?: {
376
+ escalateAfter?: number;
377
+ fallbackAgent?: string;
378
+ };
379
+ notifications?: unknown;
380
+ }): Promise<Mission>;
381
+ updateMissionTask(missionId: string, taskTitle: string, updates: {
382
+ title?: string;
383
+ description?: string;
384
+ assignTo?: string;
385
+ dependsOn?: string[];
386
+ expectations?: unknown[];
387
+ expectedOutcomes?: unknown[];
388
+ maxDuration?: number;
389
+ retryPolicy?: {
390
+ escalateAfter?: number;
391
+ fallbackAgent?: string;
392
+ };
393
+ notifications?: unknown;
394
+ }): Promise<Mission>;
395
+ removeMissionTask(missionId: string, taskTitle: string): Promise<Mission>;
396
+ reorderMissionTasks(missionId: string, titles: string[]): Promise<Mission>;
397
+ addMissionCheckpoint(missionId: string, cp: {
398
+ name: string;
399
+ afterTasks: string[];
400
+ blocksTasks: string[];
401
+ notifyChannels?: string[];
402
+ message?: string;
403
+ }): Promise<Mission>;
404
+ updateMissionCheckpoint(missionId: string, name: string, updates: {
405
+ name?: string;
406
+ afterTasks?: string[];
407
+ blocksTasks?: string[];
408
+ notifyChannels?: string[];
409
+ message?: string;
410
+ }): Promise<Mission>;
411
+ removeMissionCheckpoint(missionId: string, name: string): Promise<Mission>;
412
+ addMissionQualityGate(missionId: string, gate: {
413
+ name: string;
414
+ afterTasks: string[];
415
+ blocksTasks: string[];
416
+ minScore?: number;
417
+ requireAllPassed?: boolean;
418
+ condition?: string;
419
+ notifyChannels?: string[];
420
+ }): Promise<Mission>;
421
+ updateMissionQualityGate(missionId: string, name: string, updates: {
422
+ name?: string;
423
+ afterTasks?: string[];
424
+ blocksTasks?: string[];
425
+ minScore?: number;
426
+ requireAllPassed?: boolean;
427
+ condition?: string;
428
+ notifyChannels?: string[];
429
+ }): Promise<Mission>;
430
+ removeMissionQualityGate(missionId: string, name: string): Promise<Mission>;
431
+ addMissionDelay(missionId: string, delay: {
432
+ name: string;
433
+ afterTasks: string[];
434
+ blocksTasks: string[];
435
+ duration: string;
436
+ notifyChannels?: string[];
437
+ message?: string;
438
+ }): Promise<Mission>;
439
+ updateMissionDelay(missionId: string, name: string, updates: {
440
+ name?: string;
441
+ afterTasks?: string[];
442
+ blocksTasks?: string[];
443
+ duration?: string;
444
+ notifyChannels?: string[];
445
+ message?: string;
446
+ }): Promise<Mission>;
447
+ removeMissionDelay(missionId: string, name: string): Promise<Mission>;
448
+ addMissionTeamMember(missionId: string, member: {
449
+ name: string;
450
+ role?: string;
451
+ model?: string;
452
+ [key: string]: unknown;
453
+ }): Promise<Mission>;
454
+ updateMissionTeamMember(missionId: string, memberName: string, updates: {
455
+ name?: string;
456
+ role?: string;
457
+ model?: string;
458
+ [key: string]: unknown;
459
+ }): Promise<Mission>;
460
+ removeMissionTeamMember(missionId: string, memberName: string): Promise<Mission>;
461
+ updateMissionNotifications(missionId: string, notifications: ScopedNotificationRules | null): Promise<Mission>;
462
+ hasMemory(): Promise<boolean>;
463
+ getMemory(): Promise<string>;
464
+ saveMemory(content: string): Promise<void>;
465
+ appendMemory(line: string): Promise<void>;
466
+ updateMemory(oldText: string, newText: string): Promise<true | string>;
467
+ hasAgentMemory(agentName: string): Promise<boolean>;
468
+ getAgentMemory(agentName: string): Promise<string>;
469
+ saveAgentMemory(agentName: string, content: string): Promise<void>;
470
+ appendAgentMemory(agentName: string, line: string): Promise<void>;
471
+ updateAgentMemory(agentName: string, oldText: string, newText: string): Promise<true | string>;
472
+ getResumableMissions(): Promise<Mission[]>;
473
+ resumeMission(missionId: string, opts?: {
474
+ retryFailed?: boolean;
475
+ }): Promise<{
476
+ retried: number;
477
+ pending: number;
478
+ }>;
479
+ executeMission(missionId: string): Promise<{
480
+ tasks: Task[];
481
+ group: string;
482
+ }>;
483
+ getActiveCheckpoints(): {
484
+ group: string;
485
+ checkpointName: string;
486
+ checkpoint: MissionCheckpoint;
487
+ reachedAt: string;
488
+ }[];
489
+ resumeCheckpoint(group: string, checkpointName: string): Promise<boolean>;
490
+ resumeCheckpointByMissionId(missionId: string, checkpointName: string): Promise<boolean>;
491
+ getActiveDelays(): {
492
+ group: string;
493
+ delayName: string;
494
+ delay: MissionDelay;
495
+ startedAt: string;
496
+ expiresAt: string;
497
+ }[];
498
+ recoverOrphanedTasks(): Promise<number>;
499
+ }
500
+ //# sourceMappingURL=orchestrator-engine.d.ts.map