@action-llama/action-llama 0.28.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/dist/agents/prompt.d.ts.map +1 -1
  2. package/dist/agents/prompt.js +11 -49
  3. package/dist/agents/prompt.js.map +1 -1
  4. package/dist/agents/scheduler-tools.d.ts +7 -0
  5. package/dist/agents/scheduler-tools.d.ts.map +1 -1
  6. package/dist/agents/scheduler-tools.js +99 -1
  7. package/dist/agents/scheduler-tools.js.map +1 -1
  8. package/dist/agents/status-reporter.d.ts +1 -1
  9. package/dist/agents/status-reporter.js +1 -1
  10. package/dist/agents/transport-runner.d.ts +28 -0
  11. package/dist/agents/transport-runner.d.ts.map +1 -1
  12. package/dist/agents/transport-runner.js +192 -54
  13. package/dist/agents/transport-runner.js.map +1 -1
  14. package/dist/build-info.json +1 -1
  15. package/dist/cli/commands/logs.d.ts.map +1 -1
  16. package/dist/cli/commands/logs.js +51 -339
  17. package/dist/cli/commands/logs.js.map +1 -1
  18. package/dist/control/routes/dashboard-api.d.ts.map +1 -1
  19. package/dist/control/routes/dashboard-api.js +2 -1
  20. package/dist/control/routes/dashboard-api.js.map +1 -1
  21. package/dist/control/session-store.js +1 -1
  22. package/dist/control/session-store.js.map +1 -1
  23. package/dist/docker/image.d.ts +33 -0
  24. package/dist/docker/image.d.ts.map +1 -0
  25. package/dist/docker/image.js +103 -0
  26. package/dist/docker/image.js.map +1 -0
  27. package/dist/docker/local-runtime.js +1 -1
  28. package/dist/docker/local-runtime.js.map +1 -1
  29. package/dist/docker/ssh-docker-runtime.js +1 -1
  30. package/dist/docker/ssh-docker-runtime.js.map +1 -1
  31. package/dist/execution/execution.d.ts +4 -1
  32. package/dist/execution/execution.d.ts.map +1 -1
  33. package/dist/execution/execution.js +9 -0
  34. package/dist/execution/execution.js.map +1 -1
  35. package/dist/execution/lifecycle/agent-lifecycle.d.ts +7 -0
  36. package/dist/execution/lifecycle/agent-lifecycle.d.ts.map +1 -1
  37. package/dist/execution/lifecycle/agent-lifecycle.js +65 -5
  38. package/dist/execution/lifecycle/agent-lifecycle.js.map +1 -1
  39. package/dist/execution/lifecycle/index.d.ts +2 -2
  40. package/dist/execution/lifecycle/index.d.ts.map +1 -1
  41. package/dist/execution/lifecycle/index.js +4 -2
  42. package/dist/execution/lifecycle/index.js.map +1 -1
  43. package/dist/execution/lifecycle/instance-lifecycle.d.ts +24 -0
  44. package/dist/execution/lifecycle/instance-lifecycle.d.ts.map +1 -1
  45. package/dist/execution/lifecycle/instance-lifecycle.js +41 -3
  46. package/dist/execution/lifecycle/instance-lifecycle.js.map +1 -1
  47. package/dist/execution/runner-setup.d.ts +3 -0
  48. package/dist/execution/runner-setup.d.ts.map +1 -1
  49. package/dist/execution/runner-setup.js +2 -1
  50. package/dist/execution/runner-setup.js.map +1 -1
  51. package/dist/execution/waiting-registry.d.ts +84 -0
  52. package/dist/execution/waiting-registry.d.ts.map +1 -0
  53. package/dist/execution/waiting-registry.js +185 -0
  54. package/dist/execution/waiting-registry.js.map +1 -0
  55. package/dist/frontend/assets/index-Bij4b7-g.js +16 -0
  56. package/dist/frontend/assets/index-Bij4b7-g.js.map +1 -0
  57. package/dist/frontend/assets/index-D11bfFWQ.css +2 -0
  58. package/dist/frontend/index.html +2 -2
  59. package/dist/scheduler/index.d.ts.map +1 -1
  60. package/dist/scheduler/index.js +21 -3
  61. package/dist/scheduler/index.js.map +1 -1
  62. package/dist/scheduler/types.d.ts +1 -1
  63. package/dist/scheduler/types.d.ts.map +1 -1
  64. package/dist/shared/config/types.d.ts +2 -0
  65. package/dist/shared/config/types.d.ts.map +1 -1
  66. package/dist/shared/constants.d.ts +2 -0
  67. package/dist/shared/constants.d.ts.map +1 -1
  68. package/dist/shared/constants.js +2 -0
  69. package/dist/shared/constants.js.map +1 -1
  70. package/dist/transport/docker-exec.d.ts +2 -2
  71. package/dist/transport/docker-exec.d.ts.map +1 -1
  72. package/dist/transport/docker-exec.js +22 -110
  73. package/dist/transport/docker-exec.js.map +1 -1
  74. package/dist/transport/host-user.js +1 -1
  75. package/dist/transport/host-user.js.map +1 -1
  76. package/dist/transport/memory.d.ts +1 -0
  77. package/dist/transport/memory.d.ts.map +1 -1
  78. package/dist/transport/memory.js +3 -0
  79. package/dist/transport/memory.js.map +1 -1
  80. package/dist/transport/ssh.js +1 -1
  81. package/dist/transport/ssh.js.map +1 -1
  82. package/dist/transport/transport.d.ts +2 -0
  83. package/dist/transport/transport.d.ts.map +1 -1
  84. package/dist/transport/transport.js.map +1 -1
  85. package/dist/tui/App.d.ts.map +1 -1
  86. package/dist/tui/App.js +5 -4
  87. package/dist/tui/App.js.map +1 -1
  88. package/dist/tui/status-tracker.d.ts +11 -2
  89. package/dist/tui/status-tracker.d.ts.map +1 -1
  90. package/dist/tui/status-tracker.js +44 -0
  91. package/dist/tui/status-tracker.js.map +1 -1
  92. package/package.json +7 -2
  93. package/dist/agents/bash-prefix.d.ts +0 -9
  94. package/dist/agents/bash-prefix.d.ts.map +0 -1
  95. package/dist/agents/bash-prefix.js +0 -25
  96. package/dist/agents/bash-prefix.js.map +0 -1
  97. package/dist/frontend/assets/index-DnSu-8Kw.js +0 -16
  98. package/dist/frontend/assets/index-DnSu-8Kw.js.map +0 -1
  99. package/dist/frontend/assets/index-Z0IOXEax.css +0 -2
  100. package/docker/bin/_http-exit +0 -35
  101. package/docker/bin/al-exit +0 -4
  102. package/docker/bin/al-export +0 -50
  103. package/docker/bin/al-rerun +0 -8
  104. package/docker/bin/al-return +0 -14
  105. package/docker/bin/al-shutdown +0 -5
  106. package/docker/bin/al-status +0 -9
  107. package/docker/bin/al-subagent +0 -13
  108. package/docker/bin/al-subagent-check +0 -10
  109. package/docker/bin/al-subagent-wait +0 -37
  110. package/docker/bin/rlock +0 -12
  111. package/docker/bin/rlock-heartbeat +0 -12
  112. package/docker/bin/runlock +0 -12
@@ -20,6 +20,7 @@ export class AgentLifecycle extends BaseStateMachine {
20
20
  this.info = {
21
21
  name: agentName,
22
22
  runningInstanceCount: 0,
23
+ waitingInstanceCount: 0,
23
24
  totalInstanceCount: 0,
24
25
  lastRunAt: null,
25
26
  lastBuildAt: null,
@@ -105,6 +106,12 @@ export class AgentLifecycle extends BaseStateMachine {
105
106
  instance.on("instance:kill", () => {
106
107
  this._handleInstanceEnd(instance, "killed");
107
108
  });
109
+ instance.on("instance:wait", () => {
110
+ this._handleInstanceWait(instance);
111
+ });
112
+ instance.on("instance:resume", () => {
113
+ this._handleInstanceResume(instance);
114
+ });
108
115
  }
109
116
  /**
110
117
  * Remove an instance from tracking
@@ -117,11 +124,15 @@ export class AgentLifecycle extends BaseStateMachine {
117
124
  // Remove all listeners
118
125
  instance.removeAllListeners();
119
126
  this.instances.delete(instanceId);
120
- // Update running count if it was running
127
+ // Update counts if it was running or waiting
121
128
  if (instance.isRunning()) {
122
129
  this.info.runningInstanceCount = Math.max(0, this.info.runningInstanceCount - 1);
123
130
  this._updateStateFromInstanceCount();
124
131
  }
132
+ else if (instance.isWaiting()) {
133
+ this.info.waitingInstanceCount = Math.max(0, this.info.waitingInstanceCount - 1);
134
+ this._updateStateFromInstanceCount();
135
+ }
125
136
  return true;
126
137
  }
127
138
  /**
@@ -196,10 +207,16 @@ export class AgentLifecycle extends BaseStateMachine {
196
207
  }
197
208
  }
198
209
  _handleInstanceEnd(instance, reason) {
199
- this.info.runningInstanceCount = Math.max(0, this.info.runningInstanceCount - 1);
210
+ // A waiting instance that ends needs waitingCount decremented, not runningCount
211
+ if (instance.isWaiting?.() || (reason === 'killed' && this.info.waitingInstanceCount > 0 && this.info.runningInstanceCount === 0)) {
212
+ this.info.waitingInstanceCount = Math.max(0, this.info.waitingInstanceCount - 1);
213
+ }
214
+ else {
215
+ this.info.runningInstanceCount = Math.max(0, this.info.runningInstanceCount - 1);
216
+ }
200
217
  // Only transition states if not in error or building state
201
- if (this.currentState === "running") {
202
- const targetState = this.info.runningInstanceCount > 0 ? "running" : "idle";
218
+ if (this.currentState === "running" || this.currentState === "waiting") {
219
+ const targetState = this._computeAgentState();
203
220
  this.transition(targetState, "agent:instance-end", {
204
221
  agentName: this.info.name,
205
222
  instanceId: instance.instanceId,
@@ -220,12 +237,55 @@ export class AgentLifecycle extends BaseStateMachine {
220
237
  });
221
238
  }
222
239
  }
240
+ _handleInstanceWait(_instance) {
241
+ this.info.runningInstanceCount = Math.max(0, this.info.runningInstanceCount - 1);
242
+ this.info.waitingInstanceCount++;
243
+ if (this.currentState === "running") {
244
+ const targetState = this._computeAgentState();
245
+ if (targetState !== this.currentState) {
246
+ this.transition(targetState, "agent:instance-wait", { agentName: this.info.name });
247
+ }
248
+ else {
249
+ this.emit("agent:instance-wait", {
250
+ agentName: this.info.name,
251
+ fromState: this.currentState,
252
+ toState: this.currentState,
253
+ timestamp: new Date(),
254
+ });
255
+ }
256
+ }
257
+ }
258
+ _handleInstanceResume(_instance) {
259
+ this.info.waitingInstanceCount = Math.max(0, this.info.waitingInstanceCount - 1);
260
+ this.info.runningInstanceCount++;
261
+ if (this.currentState === "waiting") {
262
+ this.transition("running", "agent:instance-resume", { agentName: this.info.name });
263
+ }
264
+ else {
265
+ this.emit("agent:instance-resume", {
266
+ agentName: this.info.name,
267
+ fromState: this.currentState,
268
+ toState: this.currentState,
269
+ timestamp: new Date(),
270
+ });
271
+ }
272
+ }
273
+ /**
274
+ * Compute the appropriate agent state from instance counts.
275
+ */
276
+ _computeAgentState() {
277
+ if (this.info.runningInstanceCount > 0)
278
+ return "running";
279
+ if (this.info.waitingInstanceCount > 0)
280
+ return "waiting";
281
+ return "idle";
282
+ }
223
283
  _updateStateFromInstanceCount() {
224
284
  // Only update if we're not in building or error state
225
285
  if (this.currentState === "building" || this.currentState === "error") {
226
286
  return;
227
287
  }
228
- const targetState = this.info.runningInstanceCount > 0 ? "running" : "idle";
288
+ const targetState = this._computeAgentState();
229
289
  if (targetState !== this.currentState) {
230
290
  this.forceTransition(targetState, "agent:auto-transition", {
231
291
  agentName: this.info.name,
@@ -1 +1 @@
1
- {"version":3,"file":"agent-lifecycle.js","sourceRoot":"","sources":["../../../src/execution/lifecycle/agent-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-lifecycle.js","sourceRoot":"","sources":["../../../src/execution/lifecycle/agent-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from "events";
2
- export type InstanceState = "queued" | "running" | "completed" | "error" | "killed";
3
- export type AgentState = "idle" | "running" | "building" | "error";
2
+ export type InstanceState = "queued" | "running" | "waiting" | "completed" | "error" | "killed";
3
+ export type AgentState = "idle" | "running" | "waiting" | "building" | "error";
4
4
  export interface StateTransitionEvent<T extends string> {
5
5
  fromState: T;
6
6
  toState: T;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/execution/lifecycle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAGpF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAGnE,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM;IACpD,SAAS,EAAE,CAAC,CAAC;IACb,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB,CAAC,aAAa,CAAC;IAClF,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB,CAAC,UAAU,CAAC;IAC5E,SAAS,EAAE,MAAM,CAAC;CACnB;AAkBD;;;GAGG;AACH,8BAAsB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,YAAY;IAC3E,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1B,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAE/B,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAM7D;;OAEG;IACH,QAAQ,IAAI,CAAC;IAIb;;OAEG;IACH,eAAe,CAAC,WAAW,EAAE,CAAC,GAAG,OAAO;IAKxC;;;;;OAKG;IACH,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,EACpD,WAAW,EAAE,CAAC,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC,GACxD,IAAI;IAsBP;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,EACzD,WAAW,EAAE,CAAC,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC,GACxD,IAAI;CAcR;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,CAAC,CAEpF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAE3E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAErE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAE/D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/execution/lifecycle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAGhG,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAG/E,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM;IACpD,SAAS,EAAE,CAAC,CAAC;IACb,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB,CAAC,aAAa,CAAC;IAClF,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB,CAAC,UAAU,CAAC;IAC5E,SAAS,EAAE,MAAM,CAAC;CACnB;AAoBD;;;GAGG;AACH,8BAAsB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,YAAY;IAC3E,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1B,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAE/B,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAM7D;;OAEG;IACH,QAAQ,IAAI,CAAC;IAIb;;OAEG;IACH,eAAe,CAAC,WAAW,EAAE,CAAC,GAAG,OAAO;IAKxC;;;;;OAKG;IACH,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,EACpD,WAAW,EAAE,CAAC,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC,GACxD,IAAI;IAsBP;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,EACzD,WAAW,EAAE,CAAC,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,IAAI,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC,GACxD,IAAI;CAcR;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,CAAC,CAEpF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAE3E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAErE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAE/D"}
@@ -2,14 +2,16 @@ import { EventEmitter } from "events";
2
2
  // Validation for valid state transitions
3
3
  const VALID_INSTANCE_TRANSITIONS = {
4
4
  queued: ["running", "killed"], // can start running or be killed while queued
5
- running: ["completed", "error", "killed"], // can complete, error, or be killed
5
+ running: ["waiting", "completed", "error", "killed"], // can wait, complete, error, or be killed
6
+ waiting: ["running", "error", "killed"], // can resume, timeout (error), or be killed
6
7
  completed: [], // terminal state
7
8
  error: [], // terminal state
8
9
  killed: [], // terminal state
9
10
  };
10
11
  const VALID_AGENT_TRANSITIONS = {
11
12
  idle: ["running", "building", "error"], // can start running, start building, or error
12
- running: ["idle", "running", "error"], // can return to idle, stay running (multiple instances), or error
13
+ running: ["idle", "running", "waiting", "error"], // can return to idle, stay running, wait, or error
14
+ waiting: ["idle", "running", "waiting", "error"], // can resume, timeout, or be killed
13
15
  building: ["idle", "running", "error"], // build can complete (idle/running) or fail (error)
14
16
  error: ["idle", "building", "running"], // can recover to any other state
15
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/execution/lifecycle/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/execution/lifecycle/index.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,12 @@ export interface InstanceErrorEvent extends InstanceTransitionEvent {
17
17
  error: string;
18
18
  durationMs: number;
19
19
  }
20
+ export interface InstanceWaitEvent extends InstanceTransitionEvent {
21
+ filter: Record<string, unknown>;
22
+ }
23
+ export interface InstanceResumeEvent extends InstanceTransitionEvent {
24
+ triggerPayload?: unknown;
25
+ }
20
26
  export interface InstanceKillEvent extends InstanceTransitionEvent {
21
27
  reason?: string;
22
28
  durationMs?: number;
@@ -27,9 +33,13 @@ export interface InstanceKillEvent extends InstanceTransitionEvent {
27
33
  * State transitions:
28
34
  * - queued → running (via start())
29
35
  * - queued → killed (via kill())
36
+ * - running → waiting (via wait())
30
37
  * - running → completed (via complete())
31
38
  * - running → error (via fail())
32
39
  * - running → killed (via kill())
40
+ * - waiting → running (via resume())
41
+ * - waiting → error (timeout)
42
+ * - waiting → killed (via kill())
33
43
  */
34
44
  export declare class InstanceLifecycle extends BaseStateMachine<InstanceState> {
35
45
  private info;
@@ -62,6 +72,16 @@ export declare class InstanceLifecycle extends BaseStateMachine<InstanceState> {
62
72
  * Transition from running to completed
63
73
  */
64
74
  complete(): void;
75
+ /**
76
+ * Transition from running to waiting (agent called wait_for_trigger)
77
+ * @param filter The wait filter describing what trigger to wait for
78
+ */
79
+ wait(filter: Record<string, unknown>): void;
80
+ /**
81
+ * Transition from waiting back to running (trigger matched)
82
+ * @param triggerPayload The payload from the matched trigger
83
+ */
84
+ resume(triggerPayload?: unknown): void;
65
85
  /**
66
86
  * Transition from running to error
67
87
  * @param error Error message or reason for failure
@@ -80,6 +100,10 @@ export declare class InstanceLifecycle extends BaseStateMachine<InstanceState> {
80
100
  * Check if the instance is currently running
81
101
  */
82
102
  isRunning(): boolean;
103
+ /**
104
+ * Check if the instance is waiting for a trigger
105
+ */
106
+ isWaiting(): boolean;
83
107
  /**
84
108
  * Check if the instance is queued
85
109
  */
@@ -1 +1 @@
1
- {"version":3,"file":"instance-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/execution/lifecycle/instance-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAE7B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;IACpE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAkB,SAAQ,uBAAuB;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB,CAAC,aAAa,CAAC;IACpE,OAAO,CAAC,IAAI,CAAe;gBAEf,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAWlE;;OAEG;IACH,OAAO,IAAI,QAAQ,CAAC,YAAY,CAAC;IAIjC;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,IAAI,CAG9B;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;IAab;;OAEG;IACH,QAAQ,IAAI,IAAI;IAmBhB;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBzB;;;OAGG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IA6B3B;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,QAAQ,IAAI,OAAO;CAGpB"}
1
+ {"version":3,"file":"instance-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/execution/lifecycle/instance-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAE7B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;IACpE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAkB,SAAQ,uBAAuB;IAChE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAkB,SAAQ,uBAAuB;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB,CAAC,aAAa,CAAC;IACpE,OAAO,CAAC,IAAI,CAAe;gBAEf,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAWlE;;OAEG;IACH,OAAO,IAAI,QAAQ,CAAC,YAAY,CAAC;IAIjC;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,IAAI,CAG9B;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;IAab;;OAEG;IACH,QAAQ,IAAI,IAAI;IAmBhB;;;OAGG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAgB3C;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI;IAgBtC;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBzB;;;OAGG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IA6B3B;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,QAAQ,IAAI,OAAO;CAGpB"}
@@ -5,9 +5,13 @@ import { BaseStateMachine, getValidInstanceTransitions, } from "./index.js";
5
5
  * State transitions:
6
6
  * - queued → running (via start())
7
7
  * - queued → killed (via kill())
8
+ * - running → waiting (via wait())
8
9
  * - running → completed (via complete())
9
10
  * - running → error (via fail())
10
11
  * - running → killed (via kill())
12
+ * - waiting → running (via resume())
13
+ * - waiting → error (timeout)
14
+ * - waiting → killed (via kill())
11
15
  */
12
16
  export class InstanceLifecycle extends BaseStateMachine {
13
17
  info;
@@ -79,13 +83,41 @@ export class InstanceLifecycle extends BaseStateMachine {
79
83
  durationMs,
80
84
  });
81
85
  }
86
+ /**
87
+ * Transition from running to waiting (agent called wait_for_trigger)
88
+ * @param filter The wait filter describing what trigger to wait for
89
+ */
90
+ wait(filter) {
91
+ if (this.currentState !== "running") {
92
+ throw new Error(`Cannot wait in state '${this.currentState}'. Must be 'running'.`);
93
+ }
94
+ this.transition("waiting", "instance:wait", {
95
+ instanceId: this.info.instanceId,
96
+ agentName: this.info.agentName,
97
+ filter,
98
+ });
99
+ }
100
+ /**
101
+ * Transition from waiting back to running (trigger matched)
102
+ * @param triggerPayload The payload from the matched trigger
103
+ */
104
+ resume(triggerPayload) {
105
+ if (this.currentState !== "waiting") {
106
+ throw new Error(`Cannot resume instance in state '${this.currentState}'. Must be 'waiting'.`);
107
+ }
108
+ this.transition("running", "instance:resume", {
109
+ instanceId: this.info.instanceId,
110
+ agentName: this.info.agentName,
111
+ triggerPayload,
112
+ });
113
+ }
82
114
  /**
83
115
  * Transition from running to error
84
116
  * @param error Error message or reason for failure
85
117
  */
86
118
  fail(error) {
87
- if (this.currentState !== "running") {
88
- throw new Error(`Cannot fail instance in state '${this.currentState}'. Must be 'running'.`);
119
+ if (this.currentState !== "running" && this.currentState !== "waiting") {
120
+ throw new Error(`Cannot fail instance in state '${this.currentState}'. Must be 'running' or 'waiting'.`);
89
121
  }
90
122
  this.info.endedAt = new Date();
91
123
  this.info.error = error;
@@ -102,7 +134,7 @@ export class InstanceLifecycle extends BaseStateMachine {
102
134
  * @param reason Optional reason for killing
103
135
  */
104
136
  kill(reason) {
105
- const validKillStates = ["queued", "running"];
137
+ const validKillStates = ["queued", "running", "waiting"];
106
138
  if (!validKillStates.includes(this.currentState)) {
107
139
  throw new Error(`Cannot kill instance in terminal state '${this.currentState}'. ` +
108
140
  `Can only kill from: ${validKillStates.join(', ')}`);
@@ -132,6 +164,12 @@ export class InstanceLifecycle extends BaseStateMachine {
132
164
  isRunning() {
133
165
  return this.currentState === "running";
134
166
  }
167
+ /**
168
+ * Check if the instance is waiting for a trigger
169
+ */
170
+ isWaiting() {
171
+ return this.currentState === "waiting";
172
+ }
135
173
  /**
136
174
  * Check if the instance is queued
137
175
  */
@@ -1 +1 @@
1
- {"version":3,"file":"instance-lifecycle.js","sourceRoot":"","sources":["../../../src/execution/lifecycle/instance-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instance-lifecycle.js","sourceRoot":"","sources":["../../../src/execution/lifecycle/instance-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import type { Logger } from "../shared/logger.js";
10
10
  import { createLogger, createFileOnlyLogger } from "../shared/logger.js";
11
11
  import { RunnerPool, type PoolRunner } from "./runner-pool.js";
12
12
  import type { SchedulerToolsOpts } from "../agents/scheduler-tools.js";
13
+ import type { WaitingRegistry } from "./waiting-registry.js";
13
14
  export interface RunnerSetupResult {
14
15
  runnerPools: Record<string, RunnerPool>;
15
16
  createRunner: (agentConfig: AgentConfig) => PoolRunner;
@@ -26,6 +27,8 @@ export interface RunnerSetupOpts {
26
27
  logger: Logger;
27
28
  /** Scheduler tools dependencies for lock/call/status tools. */
28
29
  schedulerToolsDeps?: Omit<SchedulerToolsOpts, "agentName" | "instanceId" | "depth" | "onReturnValue">;
30
+ /** Waiting registry for wait/resume support. */
31
+ waitingRegistry?: WaitingRegistry;
29
32
  }
30
33
  export declare function createRunnerPools(opts: RunnerSetupOpts): Promise<RunnerSetupResult>;
31
34
  //# sourceMappingURL=runner-setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner-setup.d.ts","sourceRoot":"","sources":["../../src/execution/runner-setup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,YAAY,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,UAAU,CAAC;IACvD,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,EAAE,OAAO,YAAY,GAAG,OAAO,oBAAoB,CAAC;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,YAAY,GAAG,OAAO,GAAG,eAAe,CAAC,CAAC;CACvG;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA2CzF"}
1
+ {"version":3,"file":"runner-setup.d.ts","sourceRoot":"","sources":["../../src/execution/runner-setup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,YAAY,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,UAAU,CAAC;IACvD,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,EAAE,OAAO,YAAY,GAAG,OAAO,oBAAoB,CAAC;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,YAAY,GAAG,OAAO,GAAG,eAAe,CAAC,CAAC;IACtG,gDAAgD;IAChD,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA4CzF"}
@@ -9,7 +9,7 @@ import { enforceProjectScaleCap } from "../scheduler/policies/index.js";
9
9
  import { TransportAgentRunner } from "../agents/transport-runner.js";
10
10
  import { ModelCircuitBreaker } from "../agents/model-fallback.js";
11
11
  export async function createRunnerPools(opts) {
12
- const { globalConfig, agentConfigs, baseImage, statusTracker, mkLogger, projectPath, logger, schedulerToolsDeps, } = opts;
12
+ const { globalConfig, agentConfigs, baseImage, statusTracker, mkLogger, projectPath, logger, schedulerToolsDeps, waitingRegistry, } = opts;
13
13
  const circuitBreaker = new ModelCircuitBreaker();
14
14
  const createRunner = (agentConfig) => {
15
15
  return new TransportAgentRunner({
@@ -21,6 +21,7 @@ export async function createRunnerPools(opts) {
21
21
  baseImage,
22
22
  projectPath,
23
23
  schedulerToolsDeps,
24
+ waitingRegistry,
24
25
  });
25
26
  };
26
27
  // Enforce project-wide scale limit via policy module
@@ -1 +1 @@
1
- {"version":3,"file":"runner-setup.js","sourceRoot":"","sources":["../../src/execution/runner-setup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,UAAU,EAAmB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAiC,MAAM,+BAA+B,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAsBlE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAqB;IAC3D,MAAM,EACJ,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EACvD,kBAAkB,GACnB,GAAG,IAAI,CAAC;IAET,MAAM,cAAc,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAEjD,MAAM,YAAY,GAAG,CAAC,WAAwB,EAAc,EAAE;QAC5D,OAAO,IAAI,oBAAoB,CAAC;YAC9B,YAAY;YACZ,WAAW;YACX,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC;YAC/C,cAAc;YACd,aAAa;YACb,SAAS;YACT,WAAW;YACX,kBAAkB;SACnB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,qDAAqD;IACrD,MAAM,YAAY,GAAG,YAAY,CAAC,iBAAiB,IAAI,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,sBAAsB,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAEnF,MAAM,WAAW,GAA+B,EAAE,CAAC;IACnD,MAAM,YAAY,GAA2B,EAAE,CAAC;IAEhD,KAAK,MAAM,WAAW,IAAI,eAAe,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,YAAY,CAAC;QAChD,MAAM,OAAO,GAAiB,EAAE,CAAC;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;QACxD,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"runner-setup.js","sourceRoot":"","sources":["../../src/execution/runner-setup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,UAAU,EAAmB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAiC,MAAM,+BAA+B,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAyBlE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAqB;IAC3D,MAAM,EACJ,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EACvD,kBAAkB,EAAE,eAAe,GACpC,GAAG,IAAI,CAAC;IAET,MAAM,cAAc,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAEjD,MAAM,YAAY,GAAG,CAAC,WAAwB,EAAc,EAAE;QAC5D,OAAO,IAAI,oBAAoB,CAAC;YAC9B,YAAY;YACZ,WAAW;YACX,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC;YAC/C,cAAc;YACd,aAAa;YACb,SAAS;YACT,WAAW;YACX,kBAAkB;YAClB,eAAe;SAChB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,qDAAqD;IACrD,MAAM,YAAY,GAAG,YAAY,CAAC,iBAAiB,IAAI,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,sBAAsB,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAEnF,MAAM,WAAW,GAA+B,EAAE,CAAC;IACnD,MAAM,YAAY,GAA2B,EAAE,CAAC;IAEhD,KAAK,MAAM,WAAW,IAAI,eAAe,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,YAAY,CAAC;QAChD,MAAM,OAAO,GAAiB,EAAE,CAAC;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;QACxD,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AACrD,CAAC"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * WaitingRegistry — tracks agent instances that are suspended mid-conversation,
3
+ * waiting for a specific trigger (webhook or agent-trigger) to resume.
4
+ *
5
+ * Instances are matched FIFO within each agent. The registry is the single source
6
+ * of truth for all waiting instances and handles matching, timeout cleanup, and
7
+ * persistence to the KV store for restart recovery.
8
+ */
9
+ import type { WebhookContext } from "../webhooks/types.js";
10
+ import type { PersistenceStore } from "../shared/persistence/index.js";
11
+ export type WaitFilter = {
12
+ type: "webhook";
13
+ source?: string;
14
+ event?: string;
15
+ match?: Record<string, string>;
16
+ } | {
17
+ type: "agent-trigger";
18
+ sourceAgent?: string;
19
+ };
20
+ export interface WaitingInstance {
21
+ instanceId: string;
22
+ agentName: string;
23
+ filter: WaitFilter;
24
+ deadline: number;
25
+ registeredAt: number;
26
+ runId: string;
27
+ runtimeType: string;
28
+ cwd: string;
29
+ resolve?: (payload: any) => void;
30
+ reject?: (err: Error) => void;
31
+ timeoutTimer?: ReturnType<typeof setTimeout>;
32
+ }
33
+ /**
34
+ * Check if a dot-path key matches a value in an object.
35
+ * e.g. matchDotPath({ a: { b: "c" } }, "a.b", "c") → true
36
+ */
37
+ export declare function matchDotPath(obj: any, key: string, value: string): boolean;
38
+ export declare class WaitingRegistry {
39
+ private entries;
40
+ /**
41
+ * Register a waiting instance. Starts its timeout timer.
42
+ */
43
+ register(entry: WaitingInstance): void;
44
+ /**
45
+ * Find and remove a matching waiting instance for a webhook trigger (FIFO).
46
+ * Returns null if no match found.
47
+ */
48
+ matchWebhook(agentName: string, context: WebhookContext): WaitingInstance | null;
49
+ /**
50
+ * Find and remove a matching waiting instance for an agent trigger (FIFO).
51
+ * Returns null if no match found.
52
+ */
53
+ matchAgentTrigger(agentName: string, sourceAgent: string): WaitingInstance | null;
54
+ /**
55
+ * Remove a waiting instance by ID (for timeout/kill).
56
+ */
57
+ remove(instanceId: string): WaitingInstance | null;
58
+ /**
59
+ * Get all waiting instances for a specific agent.
60
+ */
61
+ getByAgent(agentName: string): WaitingInstance[];
62
+ /**
63
+ * Get all waiting instances.
64
+ */
65
+ getAll(): WaitingInstance[];
66
+ /**
67
+ * Get the total number of waiting instances.
68
+ */
69
+ count(): number;
70
+ /**
71
+ * Persist all waiting instances to the KV store.
72
+ */
73
+ persist(store: PersistenceStore): Promise<void>;
74
+ /**
75
+ * Rehydrate waiting instances from the KV store.
76
+ * Returns a new registry with loaded entries (no in-memory resolve/reject callbacks).
77
+ */
78
+ static rehydrate(store: PersistenceStore): Promise<WaitingRegistry>;
79
+ /**
80
+ * Remove an entry and clean up its timeout timer.
81
+ */
82
+ private _removeAndCleanup;
83
+ }
84
+ //# sourceMappingURL=waiting-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waiting-registry.d.ts","sourceRoot":"","sources":["../../src/execution/waiting-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAIvE,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACpF;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAIpD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IAEZ,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;CAC9C;AAgBD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAQ1E;AAMD,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAsC;IAErD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAoBtC;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,eAAe,GAAG,IAAI;IAkChF;;;OAGG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAiBjF;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAIlD;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE;IAIhD;;OAEG;IACH,MAAM,IAAI,eAAe,EAAE;IAI3B;;OAEG;IACH,KAAK,IAAI,MAAM;IAIf;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrD;;;OAGG;WACU,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IA6BzE;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAW1B"}