visionclaw 0.1.219-dev.codex-issue-2805-worker-runtime.3 → 0.1.219-dev.fix-2971-upgrade-explicit-tag.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.
Files changed (85) hide show
  1. package/dist/agent/browser-launcher.d.ts +19 -1
  2. package/dist/agent/browser-launcher.d.ts.map +1 -1
  3. package/dist/agent/browser-launcher.js +40 -0
  4. package/dist/agent/browser-launcher.js.map +1 -1
  5. package/dist/agent/command-handlers.js +2 -2
  6. package/dist/agent/command-handlers.js.map +1 -1
  7. package/dist/agent/engines/claude/session.d.ts +6 -0
  8. package/dist/agent/engines/claude/session.d.ts.map +1 -1
  9. package/dist/agent/engines/claude/session.js +34 -2
  10. package/dist/agent/engines/claude/session.js.map +1 -1
  11. package/dist/agent/engines/pi/tools.d.ts.map +1 -1
  12. package/dist/agent/engines/pi/tools.js +2 -1
  13. package/dist/agent/engines/pi/tools.js.map +1 -1
  14. package/dist/agent/fund-league-hold.d.ts.map +1 -1
  15. package/dist/agent/fund-league-hold.js +5 -1
  16. package/dist/agent/fund-league-hold.js.map +1 -1
  17. package/dist/agent/interrupt-handler.d.ts.map +1 -1
  18. package/dist/agent/interrupt-handler.js +4 -1
  19. package/dist/agent/interrupt-handler.js.map +1 -1
  20. package/dist/agent/lifecycle-trace.d.ts +3 -2
  21. package/dist/agent/lifecycle-trace.d.ts.map +1 -1
  22. package/dist/agent/lifecycle-trace.js +4 -9
  23. package/dist/agent/lifecycle-trace.js.map +1 -1
  24. package/dist/agent/lifecycle-transitions.d.ts +42 -0
  25. package/dist/agent/lifecycle-transitions.d.ts.map +1 -1
  26. package/dist/agent/lifecycle-transitions.js +62 -6
  27. package/dist/agent/lifecycle-transitions.js.map +1 -1
  28. package/dist/agent/loop.d.ts.map +1 -1
  29. package/dist/agent/loop.js +39 -23
  30. package/dist/agent/loop.js.map +1 -1
  31. package/dist/agent/runtime-context.d.ts +2 -0
  32. package/dist/agent/runtime-context.d.ts.map +1 -1
  33. package/dist/agent/runtime-context.js +4 -0
  34. package/dist/agent/runtime-context.js.map +1 -1
  35. package/dist/agent/service-gate.d.ts.map +1 -1
  36. package/dist/agent/service-gate.js +4 -1
  37. package/dist/agent/service-gate.js.map +1 -1
  38. package/dist/agent/state.d.ts +14 -0
  39. package/dist/agent/state.d.ts.map +1 -1
  40. package/dist/agent/state.js +13 -5
  41. package/dist/agent/state.js.map +1 -1
  42. package/dist/agent/status.d.ts.map +1 -1
  43. package/dist/agent/status.js +4 -1
  44. package/dist/agent/status.js.map +1 -1
  45. package/dist/agent/wake-cycle-runner.d.ts +11 -0
  46. package/dist/agent/wake-cycle-runner.d.ts.map +1 -1
  47. package/dist/agent/wake-cycle-runner.js +42 -9
  48. package/dist/agent/wake-cycle-runner.js.map +1 -1
  49. package/dist/obs/tunnel.d.ts +9 -1
  50. package/dist/obs/tunnel.d.ts.map +1 -1
  51. package/dist/obs/tunnel.js +121 -54
  52. package/dist/obs/tunnel.js.map +1 -1
  53. package/dist/stt-client.d.ts +10 -0
  54. package/dist/stt-client.d.ts.map +1 -1
  55. package/dist/stt-client.js +64 -31
  56. package/dist/stt-client.js.map +1 -1
  57. package/dist/threads/process-group.js +7 -2
  58. package/dist/threads/process-group.js.map +1 -1
  59. package/dist/tools/browser-health.d.ts +2 -0
  60. package/dist/tools/browser-health.d.ts.map +1 -0
  61. package/dist/tools/browser-health.js +18 -0
  62. package/dist/tools/browser-health.js.map +1 -0
  63. package/dist/tools/browser-set-engine.js +1 -1
  64. package/dist/tools/browser-set-engine.js.map +1 -1
  65. package/dist/tools/delegation.d.ts +7 -0
  66. package/dist/tools/delegation.d.ts.map +1 -1
  67. package/dist/tools/delegation.js +19 -2
  68. package/dist/tools/delegation.js.map +1 -1
  69. package/dist/tools/fund-league.d.ts +4 -0
  70. package/dist/tools/fund-league.d.ts.map +1 -1
  71. package/dist/tools/fund-league.js +1 -1
  72. package/dist/tools/fund-league.js.map +1 -1
  73. package/dist/tools/index.d.ts.map +1 -1
  74. package/dist/tools/index.js +2 -0
  75. package/dist/tools/index.js.map +1 -1
  76. package/dist/tools/upgrade.d.ts +1 -0
  77. package/dist/tools/upgrade.d.ts.map +1 -1
  78. package/dist/tools/upgrade.js +25 -8
  79. package/dist/tools/upgrade.js.map +1 -1
  80. package/dist/utils/restart.d.ts +6 -0
  81. package/dist/utils/restart.d.ts.map +1 -1
  82. package/dist/utils/restart.js +7 -1
  83. package/dist/utils/restart.js.map +1 -1
  84. package/dist-agent/bundle.cjs +2 -2
  85. package/package.json +1 -1
@@ -39,6 +39,7 @@ export type ForegroundPhase = "Idle" | "Running" | "Recovering" | "Stopping";
39
39
  * only after that release.
40
40
  */
41
41
  export declare function endForegroundWake(input: {
42
+ readonly state?: LifecyclePublication;
42
43
  readonly from: Exclude<ForegroundPhase, "Idle" | "Stopping">;
43
44
  readonly cleanup: () => void;
44
45
  readonly release: () => void;
@@ -79,13 +80,54 @@ export declare function nextRecoveryPhase(input: {
79
80
  readonly bucket: RecoveryBucket;
80
81
  readonly spent: number;
81
82
  }): "Recovering" | "Stopping";
83
+ /**
84
+ * The published lifecycle plus whether the host entry is held without an
85
+ * engine receipt. `entryHeld` is not a sixth state: Gated still requires the
86
+ * receipt, and a closed entry without one stays Idle but cannot take work.
87
+ */
88
+ export interface PublishedLifecycle {
89
+ readonly lifecycle: LifecycleState;
90
+ readonly entryHeld: boolean;
91
+ }
92
+ /** What a caller may store. Scheduling and the dashboard read it back. */
93
+ export interface LifecyclePublication {
94
+ lifecycle?: LifecycleState;
95
+ entryHeld?: boolean;
96
+ }
97
+ /**
98
+ * Move the published lifecycle. The transition table is checked against the
99
+ * state already stored, so a caller cannot skip Stopping or enter Gated from
100
+ * a running wake. Staying in the same state is not an edge.
101
+ *
102
+ * `barrierConfirmed` distinguishes Gated from a closed entry. Without the
103
+ * receipt the entry is held and the published state stays Idle.
104
+ */
105
+ export declare function publishLifecycle(target: LifecyclePublication, next: LifecycleState, barrierConfirmed?: boolean): PublishedLifecycle;
106
+ /**
107
+ * Whether the thread loop may start new foreground work.
108
+ *
109
+ * Only a published Idle admits work, and Idle is not enough when the entry
110
+ * is held. Claude never confirms the barrier, so its service gate and
111
+ * fund-league hold stay refused until the entry reopens.
112
+ */
113
+ export declare function canAdmitForegroundWork(state: LifecyclePublication): boolean;
114
+ /**
115
+ * A mid-turn interrupt belongs to the wake that is already Running. Stopping,
116
+ * Recovering, and a closed entry do not drain queued chat into that turn.
117
+ */
118
+ export declare function canDrainRunningTurn(state: LifecyclePublication & {
119
+ busy?: boolean;
120
+ gated?: boolean;
121
+ }): boolean;
82
122
  /**
83
123
  * How a host entry may close. A foreground run must stop before the entry is
84
124
  * marked closed. An idle loop may close directly. Neither path confirms the
85
125
  * engine barrier: that still needs an engine receipt, which this does not have.
86
126
  */
87
127
  export declare function closeHostEntry(input: {
128
+ readonly state: LifecyclePublication;
88
129
  readonly busy: boolean;
130
+ readonly barrierConfirmed?: boolean;
89
131
  readonly requestStop: () => void;
90
132
  readonly markClosed: () => void;
91
133
  }): "Idle" | "Stopping";
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-transitions.d.ts","sourceRoot":"","sources":["../../src/agent/lifecycle-transitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,cAAc,EAAE,CAAC,CAM7F,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,EAAE,SAAS,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,EAMjG,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,GAAG,OAAO,CAExF;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,GAAG,IAAI,CAGxF;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,UAAU,CAAC;AAE7E;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC;IAC7D,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CACrD,GAAG,eAAe,CAQlB;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB,2HASnB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAS3E,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,GAAG,YAAY,GAAG,UAAU,CAU5B;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;CACjC,GAAG,MAAM,GAAG,UAAU,CAWtB"}
1
+ {"version":3,"file":"lifecycle-transitions.d.ts","sourceRoot":"","sources":["../../src/agent/lifecycle-transitions.ts"],"names":[],"mappings":"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"}
@@ -43,10 +43,19 @@ export function assertLifecycleTransition(from, to) {
43
43
  * only after that release.
44
44
  */
45
45
  export function endForegroundWake(input) {
46
- assertLifecycleTransition(input.from, "Stopping");
46
+ // A wake the loop already returned to Idle has nothing left to stop.
47
+ // Stopping is only entered from the run that still holds the slot.
48
+ const phase = input.state?.lifecycle;
49
+ if ((phase === "Running" || phase === "Recovering") && input.state)
50
+ publishLifecycle(input.state, "Stopping");
51
+ else if (!input.state)
52
+ assertLifecycleTransition(input.from, "Stopping");
47
53
  input.onPhase?.("Stopping");
48
54
  input.cleanup();
49
- assertLifecycleTransition("Stopping", "Idle");
55
+ if (input.state?.lifecycle === "Stopping")
56
+ publishLifecycle(input.state, "Idle");
57
+ else if (!input.state)
58
+ assertLifecycleTransition("Stopping", "Idle");
50
59
  input.release();
51
60
  input.onPhase?.("Idle");
52
61
  return "Idle";
@@ -112,20 +121,67 @@ export function nextRecoveryPhase(input) {
112
121
  assertLifecycleTransition("Recovering", "Stopping");
113
122
  return "Stopping";
114
123
  }
124
+ /**
125
+ * Move the published lifecycle. The transition table is checked against the
126
+ * state already stored, so a caller cannot skip Stopping or enter Gated from
127
+ * a running wake. Staying in the same state is not an edge.
128
+ *
129
+ * `barrierConfirmed` distinguishes Gated from a closed entry. Without the
130
+ * receipt the entry is held and the published state stays Idle.
131
+ */
132
+ export function publishLifecycle(target, next, barrierConfirmed = false) {
133
+ // Gated without a receipt is not Gated. The legal edge is still checked,
134
+ // then the published state stays Idle with the entry held.
135
+ const published = next === "Gated" && !barrierConfirmed ? "Idle" : next;
136
+ const current = target.lifecycle ?? "Idle";
137
+ if (current !== next)
138
+ assertLifecycleTransition(current, next);
139
+ if (current !== published)
140
+ assertLifecycleTransition(current, published);
141
+ target.lifecycle = published;
142
+ target.entryHeld = next === "Gated" && !barrierConfirmed;
143
+ return { lifecycle: target.lifecycle, entryHeld: target.entryHeld };
144
+ }
145
+ /**
146
+ * Whether the thread loop may start new foreground work.
147
+ *
148
+ * Only a published Idle admits work, and Idle is not enough when the entry
149
+ * is held. Claude never confirms the barrier, so its service gate and
150
+ * fund-league hold stay refused until the entry reopens.
151
+ */
152
+ export function canAdmitForegroundWork(state) {
153
+ return (state.lifecycle ?? "Idle") === "Idle" && !state.entryHeld;
154
+ }
155
+ /**
156
+ * A mid-turn interrupt belongs to the wake that is already Running. Stopping,
157
+ * Recovering, and a closed entry do not drain queued chat into that turn.
158
+ */
159
+ export function canDrainRunningTurn(state) {
160
+ // A state that was never published still answers with the slot it holds.
161
+ // Once published, only Running with an open entry drains a mid-turn batch.
162
+ if (state.lifecycle === undefined)
163
+ return state.busy === true && state.gated !== true;
164
+ return state.lifecycle === "Running" && !state.entryHeld;
165
+ }
115
166
  /**
116
167
  * How a host entry may close. A foreground run must stop before the entry is
117
168
  * marked closed. An idle loop may close directly. Neither path confirms the
118
169
  * engine barrier: that still needs an engine receipt, which this does not have.
119
170
  */
120
171
  export function closeHostEntry(input) {
121
- if (input.busy) {
122
- assertLifecycleTransition("Running", "Stopping");
172
+ const barrierConfirmed = input.barrierConfirmed === true;
173
+ // `busy` still says a run holds the slot after Stopping has been published.
174
+ // Stopping again would be an illegal edge, so only Running or Recovering
175
+ // takes that step. Idle closes directly.
176
+ const running = input.state.lifecycle === "Running" || input.state.lifecycle === "Recovering";
177
+ if (input.busy && running) {
178
+ publishLifecycle(input.state, "Stopping");
123
179
  input.requestStop();
124
- assertLifecycleTransition("Stopping", "Gated");
180
+ publishLifecycle(input.state, "Gated", barrierConfirmed);
125
181
  input.markClosed();
126
182
  return "Stopping";
127
183
  }
128
- assertLifecycleTransition("Idle", "Gated");
184
+ publishLifecycle(input.state, "Gated", barrierConfirmed);
129
185
  input.markClosed();
130
186
  return "Idle";
131
187
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-transitions.js","sourceRoot":"","sources":["../../src/agent/lifecycle-transitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle-transitions.js","sourceRoot":"","sources":["../../src/agent/lifecycle-transitions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,EAA+D,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAG1I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAsBpD,OAAO,EAAkB,KAAK,UAAU,EAA6G,MAAM,YAAY,CAAC;AA4BxK,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC9B,MAAM,sBAAsB,CAAC;AAK9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAYtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAmChE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAS3C;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B;+DAC2D;IAC3D,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,uBAAuB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,cAAc,EAAE,cAAc,CAAC;QAAC,YAAY,EAAE,YAAY,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3I;;;;OAIG;IACH,UAAU,CAAC,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,YAAY,CAAC;QACpB,yEAAyE;QACzE,SAAS,CAAC,EAAE,eAAe,CAAC;KAC7B,CAAC;CACH,GACA,OAAO,CAAC,IAAI,CAAC,CA8lDf"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,EAA+D,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAG1I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAuBpD,OAAO,EAAkB,KAAK,UAAU,EAA6G,MAAM,YAAY,CAAC;AA4BxK,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC9B,MAAM,sBAAsB,CAAC;AAK9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAYtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAmChE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAS3C;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B;+DAC2D;IAC3D,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,uBAAuB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,cAAc,EAAE,cAAc,CAAC;QAAC,YAAY,EAAE,YAAY,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3I;;;;OAIG;IACH,UAAU,CAAC,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,YAAY,CAAC;QACpB,yEAAyE;QACzE,SAAS,CAAC,EAAE,eAAe,CAAC;KAC7B,CAAC;CACH,GACA,OAAO,CAAC,IAAI,CAAC,CA6mDf"}
@@ -13,9 +13,9 @@
13
13
  * - ChannelManager: messaging channel adapters
14
14
  */
15
15
  import { createDefaultExternalContextRegistry, ExternalContextRegistry } from "./external-context/registry.js";
16
- import { createHash, randomUUID } from "node:crypto";
17
- import { beginLifecycleRun, createLifecycleRunId, deriveShadowLifecycleState, endLifecycleRun, traceLifecycle, traceShadowLifecycle } from "./lifecycle-trace.js";
18
- import { closeHostEntry, endForegroundWake } from "./lifecycle-transitions.js";
16
+ import { randomUUID } from "node:crypto";
17
+ import { beginLifecycleRun, createLifecycleRunId, endLifecycleRun, traceLifecycle, traceShadowLifecycle } from "./lifecycle-trace.js";
18
+ import { canAdmitForegroundWork, closeHostEntry, endForegroundWake, publishLifecycle } from "./lifecycle-transitions.js";
19
19
  import { isProactiveWakeEnabled, isTunnelEnabled, isWorkspaceEnabled } from "../config/types.js";
20
20
  import { DEFAULT_THREAD_ID, normalizeChannelName, resolveThreadId } from "../channels/interface.js";
21
21
  import { buildSystemPrompt } from "./system-prompt.js";
@@ -31,6 +31,7 @@ import { loadOwnerConfig, consumePendingUpgrade, consumePendingRestart, writePen
31
31
  import { syncSystemTimezone } from "../utils/timezone.js";
32
32
  import { logger } from "../logger.js";
33
33
  import { cleanOldScreenshots } from "../tools/screenshot.js";
34
+ import { wakeDispatchId } from "../tools/delegation.js";
34
35
  import { getEffectiveEngine, maybeStartApiProxy } from "./model-provider.js";
35
36
  import { EngineFallbackManager, setActiveEngineFallback } from "./engine-fallback.js";
36
37
  import { cleanupOldTranscripts } from "./session-trimmer.js";
@@ -508,7 +509,11 @@ export async function startAgentLoop(config, options) {
508
509
  activityTracker,
509
510
  busy: false,
510
511
  stopRequested: false,
512
+ lifecycle: "Idle",
513
+ entryHeld: false,
511
514
  requestStop: () => {
515
+ // Stopping is published by the caller that decided to end the wake.
516
+ // This only records the request and asks the engine to stop.
512
517
  agentState.stopRequested = true;
513
518
  requestSessionStop();
514
519
  },
@@ -760,11 +765,11 @@ export async function startAgentLoop(config, options) {
760
765
  wakeMainLoop();
761
766
  return;
762
767
  }
763
- if (agentState.busy) {
768
+ if (!canAdmitForegroundWork(agentState)) {
764
769
  // Correlated internal requests are durable queued work, not chat
765
770
  // interrupts. They must own a fresh turn for precise lifecycle and
766
- // cancellation semantics.
767
- if (typeof msg.meta?.tuiRequestId === "string")
771
+ // cancellation semantics. A closed entry is not a turn to interrupt.
772
+ if (typeof msg.meta?.tuiRequestId === "string" || agentState.entryHeld || agentState.lifecycle === "Gated")
768
773
  return;
769
774
  interruptHandler.schedule();
770
775
  }
@@ -916,7 +921,7 @@ export async function startAgentLoop(config, options) {
916
921
  logger.system("[nightly-maintenance] Dreaming needs the thread supervisor (multiThread); skipped on this profile");
917
922
  nightlyMaintenance = new NightlyMaintenance({
918
923
  tryAcquire: () => {
919
- if (agentState.busy || agentState.learning || agentState.compacting || agentState.gated
924
+ if (!canAdmitForegroundWork(agentState) || agentState.learning || agentState.compacting
920
925
  || !messageQueue.isEmpty() || readFundLeagueHold()
921
926
  || shouldEnforceServiceGate(heartbeat.lastServiceStatus))
922
927
  return null;
@@ -930,6 +935,7 @@ export async function startAgentLoop(config, options) {
930
935
  // Maintenance holds the slot the way a foreground wake does. Release
931
936
  // it through Stopping so workers resume only after the slot is free.
932
937
  endForegroundWake({
938
+ state: agentState,
933
939
  from: "Running",
934
940
  cleanup: () => { agentState.learning = false; },
935
941
  release: () => {
@@ -1014,7 +1020,9 @@ export async function startAgentLoop(config, options) {
1014
1020
  // held stops first; an idle loop closes the entry directly. Neither
1015
1021
  // confirms an engine barrier.
1016
1022
  closeHostEntry({
1023
+ state: agentState,
1017
1024
  busy: agentState.busy,
1025
+ barrierConfirmed: session.executionBarrierConfirmed(),
1018
1026
  requestStop: () => { agentState.requestStop(); },
1019
1027
  markClosed: () => {
1020
1028
  executionOwner.setBusy(false, "league_hold");
@@ -1030,8 +1038,12 @@ export async function startAgentLoop(config, options) {
1030
1038
  // A task handed off in an earlier wake no longer blocks new foreground work.
1031
1039
  foregroundTasks?.beginWake();
1032
1040
  executionOwner.setBusy(false, "wake_reset");
1033
- agentState.gated = false;
1034
1041
  agentState.stopRequested = false;
1042
+ // The hold check above already continued. Reaching here means the entry
1043
+ // may open. A held entry returns through Idle, which is the only way out.
1044
+ if (agentState.lifecycle !== "Idle" || agentState.entryHeld)
1045
+ publishLifecycle(agentState, "Idle");
1046
+ agentState.gated = false;
1035
1047
  agentState.activeTuiRequestId = undefined;
1036
1048
  agentState.hasRepliedInCycle = false;
1037
1049
  agentState.notifiedUserThisWake = false;
@@ -1207,6 +1219,14 @@ export async function startAgentLoop(config, options) {
1207
1219
  if (!workerMode && shouldEnforceServiceGate(heartbeat.lastServiceStatus)) {
1208
1220
  await runServiceGate(config, channelManager, heartbeat, messageQueue);
1209
1221
  }
1222
+ // The five states admit a wake only from Idle, and a closed entry that
1223
+ // still lacks an engine receipt is not Idle enough. Sleep again instead of
1224
+ // taking the slot. Claude never confirms the barrier, so this is what
1225
+ // keeps a closed service gate or fund-league hold from starting work.
1226
+ if (!canAdmitForegroundWork(agentState)) {
1227
+ logger.system(`Foreground wake refused: ${agentState.lifecycle}${agentState.entryHeld ? " (entry held)" : ""}`);
1228
+ continue;
1229
+ }
1210
1230
  // The slot is taken only after the gate. A closed entry therefore does not
1211
1231
  // overlap a foreground run, which would be Running → Gated.
1212
1232
  executionOwner.setBusy(true, "wake", lifecycleRunId);
@@ -1218,19 +1238,12 @@ export async function startAgentLoop(config, options) {
1218
1238
  const hasMessages = !messageQueue.isEmpty();
1219
1239
  const trigger = hasMessages ? "message" : "heartbeat";
1220
1240
  beginLifecycleRun(lifecycleRunId);
1221
- const observeShadow = (phase, recovering = false) => {
1241
+ const observeShadow = (phase) => {
1222
1242
  traceShadowLifecycle({
1223
1243
  runId: lifecycleRunId,
1224
1244
  phase,
1225
- state: deriveShadowLifecycleState({
1226
- gated: agentState.gated,
1227
- stopRequested: agentState.stopRequested,
1228
- busy: agentState.busy,
1229
- recovering,
1230
- // Pi confirms this with `agent_settled`. An abort is not a receipt,
1231
- // so an engine that cannot prove it stopped stays unconfirmed.
1232
- barrierConfirmed: session.executionBarrierConfirmed(),
1233
- }),
1245
+ state: agentState.lifecycle ?? "Idle",
1246
+ entryHeld: agentState.entryHeld,
1234
1247
  legacy: {
1235
1248
  busy: agentState.busy,
1236
1249
  gated: agentState.gated,
@@ -1245,9 +1258,11 @@ export async function startAgentLoop(config, options) {
1245
1258
  // A worker thread is the same loop: its busy flag lives on the
1246
1259
  // supervisor, and it is cleared only after this cleanup.
1247
1260
  endForegroundWake({
1248
- // A failed compaction is still this same foreground run. Phase 3 is
1249
- // what moves that path into Recovering before the wake ends.
1250
- from: "Running",
1261
+ state: agentState,
1262
+ // A failed compaction is still this same foreground run. Recovering
1263
+ // publishes itself before the wake ends, and Stopping is legal from
1264
+ // either Running or Recovering.
1265
+ from: agentState.lifecycle === "Recovering" ? "Recovering" : "Running",
1251
1266
  onPhase: (phase) => {
1252
1267
  if (phase === "Stopping")
1253
1268
  observeShadow("stopping");
@@ -1382,7 +1397,8 @@ export async function startAgentLoop(config, options) {
1382
1397
  // long). Rotate with our bounded summarizer before the turn starts
1383
1398
  // so this wake runs on a session that fits. The summary and the
1384
1399
  // continuation hint are seeded inline; no extra wake is queued.
1385
- observeShadow("compaction_failed", true);
1400
+ publishLifecycle(agentState, "Recovering");
1401
+ observeShadow("compaction_failed");
1386
1402
  traceLifecycle({
1387
1403
  runId: lifecycleRunId,
1388
1404
  stage: "compaction",
@@ -1486,7 +1502,7 @@ export async function startAgentLoop(config, options) {
1486
1502
  outcome: "started",
1487
1503
  });
1488
1504
  let releaseConversationTurn;
1489
- agentState.currentDispatchId = createHash("sha256").update(JSON.stringify(messages.map((message) => message.id))).digest("hex");
1505
+ agentState.currentDispatchId = wakeDispatchId(messages.map((message) => message.id), lifecycleRunId);
1490
1506
  try {
1491
1507
  if (!workerExecution) {
1492
1508
  releaseConversationTurn = await (options?.acquireConversationTurn?.(options.signal)
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export declare class RuntimeContext {
14
14
  set(key: symbol, value: unknown): void;
15
15
  }
16
16
  export declare function currentRuntimeContext(): RuntimeContext | undefined;
17
+ /** Run host-level work from inside a conversation, outside its context. */
18
+ export declare function runOutsideRuntimeContext<T>(operation: () => T): T;
17
19
  /** Bind a host callback before passing it to a conversation or SDK. */
18
20
  export declare function bindRuntimeContext<A extends unknown[], R>(operation: (...args: A) => R): (...args: A) => R;
19
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-context.d.ts","sourceRoot":"","sources":["../../src/agent/runtime-context.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,qBAAa,cAAc;IAIb,QAAQ,CAAC,cAAc,EAAE,MAAM;IAH3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;gBAEb,cAAc,EAAE,MAAM;IAE3C,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC;IAI7B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC;IAKvC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;CAGvC;AAID,wBAAgB,qBAAqB,IAAI,cAAc,GAAG,SAAS,CAElE;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAK1G;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,CAc5D"}
1
+ {"version":3,"file":"runtime-context.d.ts","sourceRoot":"","sources":["../../src/agent/runtime-context.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,qBAAa,cAAc;IAIb,QAAQ,CAAC,cAAc,EAAE,MAAM;IAH3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;gBAEb,cAAc,EAAE,MAAM;IAE3C,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC;IAI7B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC;IAKvC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;CAGvC;AAID,wBAAgB,qBAAqB,IAAI,cAAc,GAAG,SAAS,CAElE;AAED,2EAA2E;AAC3E,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAEjE;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAK1G;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,CAc5D"}