poly-weaver 0.15.3 → 1.0.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 (174) hide show
  1. package/dist/agents/implementors/handler.d.ts.map +1 -1
  2. package/dist/agents/implementors/handler.js +7 -2
  3. package/dist/agents/implementors/handler.js.map +1 -1
  4. package/dist/agents/interviewers/handler.d.ts.map +1 -1
  5. package/dist/agents/interviewers/handler.js +3 -1
  6. package/dist/agents/interviewers/handler.js.map +1 -1
  7. package/dist/agents/planners/adapter.d.ts.map +1 -1
  8. package/dist/agents/planners/adapter.js +30 -11
  9. package/dist/agents/planners/adapter.js.map +1 -1
  10. package/dist/agents/planners/handler.d.ts.map +1 -1
  11. package/dist/agents/planners/handler.js +7 -2
  12. package/dist/agents/planners/handler.js.map +1 -1
  13. package/dist/agents/reviewers/adapter.d.ts.map +1 -1
  14. package/dist/agents/reviewers/adapter.js +1 -0
  15. package/dist/agents/reviewers/adapter.js.map +1 -1
  16. package/dist/agents/reviewers/handler.d.ts.map +1 -1
  17. package/dist/agents/reviewers/handler.js +23 -4
  18. package/dist/agents/reviewers/handler.js.map +1 -1
  19. package/dist/agents/reviewers/types.d.ts +2 -0
  20. package/dist/agents/reviewers/types.d.ts.map +1 -1
  21. package/dist/agents/runner.d.ts +18 -1
  22. package/dist/agents/runner.d.ts.map +1 -1
  23. package/dist/agents/runner.js +136 -20
  24. package/dist/agents/runner.js.map +1 -1
  25. package/dist/agents/simplifiers/handler.d.ts.map +1 -1
  26. package/dist/agents/simplifiers/handler.js +7 -2
  27. package/dist/agents/simplifiers/handler.js.map +1 -1
  28. package/dist/auto-update/detect-agents.d.ts +1 -0
  29. package/dist/auto-update/detect-agents.d.ts.map +1 -1
  30. package/dist/auto-update/detect-agents.js +8 -7
  31. package/dist/auto-update/detect-agents.js.map +1 -1
  32. package/dist/cli.js +16 -4
  33. package/dist/cli.js.map +1 -1
  34. package/dist/crosscheck/coordinator.d.ts +5 -0
  35. package/dist/crosscheck/coordinator.d.ts.map +1 -1
  36. package/dist/crosscheck/coordinator.js +177 -91
  37. package/dist/crosscheck/coordinator.js.map +1 -1
  38. package/dist/crosscheck/live-agent-session.d.ts +7 -1
  39. package/dist/crosscheck/live-agent-session.d.ts.map +1 -1
  40. package/dist/crosscheck/live-agent-session.js +61 -7
  41. package/dist/crosscheck/live-agent-session.js.map +1 -1
  42. package/dist/crosscheck/state.d.ts +3 -0
  43. package/dist/crosscheck/state.d.ts.map +1 -1
  44. package/dist/crosscheck/state.js +17 -2
  45. package/dist/crosscheck/state.js.map +1 -1
  46. package/dist/dump/collector.d.ts.map +1 -1
  47. package/dist/dump/collector.js +3 -0
  48. package/dist/dump/collector.js.map +1 -1
  49. package/dist/dump/service.d.ts.map +1 -1
  50. package/dist/dump/service.js +3 -0
  51. package/dist/dump/service.js.map +1 -1
  52. package/dist/dump/types.d.ts +3 -0
  53. package/dist/dump/types.d.ts.map +1 -1
  54. package/dist/dump/types.js.map +1 -1
  55. package/dist/flow/executor.d.ts.map +1 -1
  56. package/dist/flow/executor.js +5 -0
  57. package/dist/flow/executor.js.map +1 -1
  58. package/dist/flow/types.d.ts +5 -0
  59. package/dist/flow/types.d.ts.map +1 -1
  60. package/dist/flow/types.js.map +1 -1
  61. package/dist/offscreen/controller.d.ts +13 -2
  62. package/dist/offscreen/controller.d.ts.map +1 -1
  63. package/dist/offscreen/controller.js +212 -91
  64. package/dist/offscreen/controller.js.map +1 -1
  65. package/dist/offscreen/fork-launch.d.ts +2 -2
  66. package/dist/offscreen/fork-launch.d.ts.map +1 -1
  67. package/dist/offscreen/fork-launch.js +2 -2
  68. package/dist/offscreen/fork-launch.js.map +1 -1
  69. package/dist/offscreen/fork.d.ts +16 -2
  70. package/dist/offscreen/fork.d.ts.map +1 -1
  71. package/dist/offscreen/fork.js +79 -40
  72. package/dist/offscreen/fork.js.map +1 -1
  73. package/dist/offscreen/inquiry-pane.d.ts +2 -1
  74. package/dist/offscreen/inquiry-pane.d.ts.map +1 -1
  75. package/dist/offscreen/inquiry-pane.js +8 -2
  76. package/dist/offscreen/inquiry-pane.js.map +1 -1
  77. package/dist/offscreen/panes.d.ts +1 -0
  78. package/dist/offscreen/panes.d.ts.map +1 -1
  79. package/dist/offscreen/registry.d.ts +2 -2
  80. package/dist/offscreen/registry.d.ts.map +1 -1
  81. package/dist/offscreen/registry.js +5 -1
  82. package/dist/offscreen/registry.js.map +1 -1
  83. package/dist/offscreen/resolve.d.ts +2 -0
  84. package/dist/offscreen/resolve.d.ts.map +1 -1
  85. package/dist/offscreen/resolve.js +5 -1
  86. package/dist/offscreen/resolve.js.map +1 -1
  87. package/dist/offscreen/session-turn-monitor.d.ts +3 -1
  88. package/dist/offscreen/session-turn-monitor.d.ts.map +1 -1
  89. package/dist/offscreen/session-turn-monitor.js +10 -2
  90. package/dist/offscreen/session-turn-monitor.js.map +1 -1
  91. package/dist/offscreen/split-inquiry.d.ts.map +1 -1
  92. package/dist/offscreen/split-inquiry.js +5 -0
  93. package/dist/offscreen/split-inquiry.js.map +1 -1
  94. package/dist/offscreen/starting-pane.d.ts +13 -0
  95. package/dist/offscreen/starting-pane.d.ts.map +1 -0
  96. package/dist/offscreen/starting-pane.js +24 -0
  97. package/dist/offscreen/starting-pane.js.map +1 -0
  98. package/dist/offscreen/surface.d.ts +1 -0
  99. package/dist/offscreen/surface.d.ts.map +1 -1
  100. package/dist/offscreen/surface.js +5 -3
  101. package/dist/offscreen/surface.js.map +1 -1
  102. package/dist/orchestrator.d.ts.map +1 -1
  103. package/dist/orchestrator.js +7 -1
  104. package/dist/orchestrator.js.map +1 -1
  105. package/dist/providers/copilot/completion.d.ts +32 -21
  106. package/dist/providers/copilot/completion.d.ts.map +1 -1
  107. package/dist/providers/copilot/completion.js +100 -165
  108. package/dist/providers/copilot/completion.js.map +1 -1
  109. package/dist/providers/copilot/environment.d.ts +2 -0
  110. package/dist/providers/copilot/environment.d.ts.map +1 -0
  111. package/dist/providers/copilot/environment.js +8 -0
  112. package/dist/providers/copilot/environment.js.map +1 -0
  113. package/dist/providers/copilot/fork-state.d.ts +7 -0
  114. package/dist/providers/copilot/fork-state.d.ts.map +1 -0
  115. package/dist/providers/copilot/fork-state.js +150 -0
  116. package/dist/providers/copilot/fork-state.js.map +1 -0
  117. package/dist/providers/copilot/observation.d.ts +275 -0
  118. package/dist/providers/copilot/observation.d.ts.map +1 -0
  119. package/dist/providers/copilot/observation.js +2072 -0
  120. package/dist/providers/copilot/observation.js.map +1 -0
  121. package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/extension.d.mts +2 -0
  122. package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/extension.d.mts.map +1 -0
  123. package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/extension.mjs +426 -0
  124. package/dist/providers/copilot/observer-extension/com.github.copilot/extensions/poly-weaver-observer/extension.mjs.map +1 -0
  125. package/dist/providers/copilot/observer-extension/plugin.json +6 -0
  126. package/dist/providers/copilot/record-properties.d.ts +4 -0
  127. package/dist/providers/copilot/record-properties.d.ts.map +1 -0
  128. package/dist/providers/copilot/record-properties.js +14 -0
  129. package/dist/providers/copilot/record-properties.js.map +1 -0
  130. package/dist/providers/copilot/session.d.ts +8 -33
  131. package/dist/providers/copilot/session.d.ts.map +1 -1
  132. package/dist/providers/copilot/session.js +10 -176
  133. package/dist/providers/copilot/session.js.map +1 -1
  134. package/dist/providers/copilot/strategy.d.ts +3 -5
  135. package/dist/providers/copilot/strategy.d.ts.map +1 -1
  136. package/dist/providers/copilot/strategy.js +59 -66
  137. package/dist/providers/copilot/strategy.js.map +1 -1
  138. package/dist/providers/fork-cleanup.d.ts +4 -0
  139. package/dist/providers/fork-cleanup.d.ts.map +1 -0
  140. package/dist/providers/fork-cleanup.js +21 -0
  141. package/dist/providers/fork-cleanup.js.map +1 -0
  142. package/dist/providers/fork.d.ts +8 -3
  143. package/dist/providers/fork.d.ts.map +1 -1
  144. package/dist/providers/fork.js.map +1 -1
  145. package/dist/providers/invoke.d.ts.map +1 -1
  146. package/dist/providers/invoke.js +85 -34
  147. package/dist/providers/invoke.js.map +1 -1
  148. package/dist/providers/live.d.ts.map +1 -1
  149. package/dist/providers/live.js +43 -17
  150. package/dist/providers/live.js.map +1 -1
  151. package/dist/providers/observer-run.d.ts +4 -0
  152. package/dist/providers/observer-run.d.ts.map +1 -0
  153. package/dist/providers/observer-run.js +23 -0
  154. package/dist/providers/observer-run.js.map +1 -0
  155. package/dist/providers/session-launch.d.ts +3 -1
  156. package/dist/providers/session-launch.d.ts.map +1 -1
  157. package/dist/providers/session-launch.js +38 -19
  158. package/dist/providers/session-launch.js.map +1 -1
  159. package/dist/providers/types.d.ts +156 -4
  160. package/dist/providers/types.d.ts.map +1 -1
  161. package/dist/providers/types.js.map +1 -1
  162. package/dist/session/resume.d.ts.map +1 -1
  163. package/dist/session/resume.js +16 -2
  164. package/dist/session/resume.js.map +1 -1
  165. package/dist/terminal/paste-submit.d.ts.map +1 -1
  166. package/dist/terminal/paste-submit.js +43 -37
  167. package/dist/terminal/paste-submit.js.map +1 -1
  168. package/dist/user/host-curate-prompt.d.ts.map +1 -1
  169. package/dist/user/host-curate-prompt.js +9 -6
  170. package/dist/user/host-curate-prompt.js.map +1 -1
  171. package/dist/user/host-prompt.d.ts.map +1 -1
  172. package/dist/user/host-prompt.js +9 -6
  173. package/dist/user/host-prompt.js.map +1 -1
  174. package/package.json +4 -2
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { CrosscheckAgent, ExecutorConfiguration } from "../agents/executors/types.js";
2
2
  import { sendInquiryQuestion } from "../offscreen/inquiry-sender.js";
3
+ import type { ProviderObserverRun } from "../providers/types.js";
3
4
  import type { OrchestrationOutput } from "../terminal/output.js";
4
5
  import type { HostParentUiMode, HostUiSurface, TerminalHost } from "../terminal/host.js";
5
6
  import type { TerminalKey } from "../terminal-input.js";
@@ -24,6 +25,7 @@ export interface CrosscheckCoordinatorOptions {
24
25
  statusBar?: StatusBar;
25
26
  flowParams: Record<string, unknown>;
26
27
  resumedFrom?: ResumedFromInfo;
28
+ providerObserverRuns?: ReadonlyMap<string, ProviderObserverRun>;
27
29
  launchSession?: typeof LiveAgentSession.launch;
28
30
  sendInquiry?: typeof sendInquiryQuestion;
29
31
  touchActivity?: () => Promise<void>;
@@ -64,6 +66,7 @@ export declare class CrosscheckCoordinator implements HostParentUiMode {
64
66
  private resultRefresh;
65
67
  private launchAbort;
66
68
  private sessionsReady;
69
+ private launchReconciliationPending;
67
70
  private transientFlash;
68
71
  private crosscheckProgress;
69
72
  private selectionAgent;
@@ -122,6 +125,7 @@ export declare class CrosscheckCoordinator implements HostParentUiMode {
122
125
  private startDispatch;
123
126
  private sendDispatchAgent;
124
127
  private buildDispatchPrompt;
128
+ private reconcileLaunchDispatch;
125
129
  private reconcilePersistedDispatch;
126
130
  private retryPersistedDispatch;
127
131
  private reconcileDispatchSide;
@@ -129,6 +133,7 @@ export declare class CrosscheckCoordinator implements HostParentUiMode {
129
133
  private finalizeDispatchIfComplete;
130
134
  private maybeSettleReconcileGate;
131
135
  private settleReconcileGate;
136
+ private classifyRuntimeDispatchDelivery;
132
137
  private markDispatchDelivered;
133
138
  private markDispatchPending;
134
139
  private transitionDispatchStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../src/crosscheck/coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../src/crosscheck/coordinator.ts"],"names":[],"mappings":"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"}
@@ -87,6 +87,7 @@ export class CrosscheckCoordinator {
87
87
  resultRefresh;
88
88
  launchAbort;
89
89
  sessionsReady = false;
90
+ launchReconciliationPending = false;
90
91
  transientFlash;
91
92
  crosscheckProgress;
92
93
  selectionAgent;
@@ -110,7 +111,10 @@ export class CrosscheckCoordinator {
110
111
  const layout = this.options.host.getLayout();
111
112
  const dimensions = this.paneDimensions(layout.columns, layout.childRows);
112
113
  await this.reconcilePersistedHistory();
114
+ if (this.finishing)
115
+ return { kind: "crosscheck", interrupted: true };
113
116
  const persisted = this.store.snapshot();
117
+ this.launchReconciliationPending = true;
114
118
  const launchAbort = new AbortController();
115
119
  this.launchAbort = launchAbort;
116
120
  const completion = new Promise((resolve, reject) => {
@@ -119,11 +123,12 @@ export class CrosscheckCoordinator {
119
123
  if (this.pendingFailure !== undefined)
120
124
  reject(this.pendingFailure);
121
125
  });
126
+ completion.catch(() => { });
122
127
  let hasLaunchFailure = false;
123
128
  let firstLaunchFailure;
124
129
  const launches = ["agent-1", "agent-2"].map(async (agent) => {
130
+ const config = this.options.configurations[agent];
125
131
  try {
126
- const config = this.options.configurations[agent];
127
132
  const resultFile = persisted.generation.resultFiles[agent];
128
133
  const resultState = persisted.generation.rewind?.[agent];
129
134
  const resultReady = resultState ? false : await fileHasContent(resultFile);
@@ -178,6 +183,7 @@ export class CrosscheckCoordinator {
178
183
  cols: dimensions[agent].cols,
179
184
  rows: dimensions[agent].rows,
180
185
  sessionFileWaitMs: this.options.sessionFileWaitMs,
186
+ observerRun: this.options.providerObserverRuns?.get(config.driver),
181
187
  onRender: () => this.options.host.scheduleParentUiRender(),
182
188
  onOscClipboard: (data) => this.options.host.forwardOscClipboard(data),
183
189
  onSpawn: (session) => {
@@ -189,29 +195,11 @@ export class CrosscheckCoordinator {
189
195
  this.fail(new Error(`${config.driver} ${agentLabel(agent)} exited unexpectedly (code ${event.exitCode})`));
190
196
  }
191
197
  },
192
- });
193
- this.launchingSessions.delete(agent);
194
- const monitor = new SessionTurnMonitor(config.driver, session.identity.sessionFilePath, session.baseline, {
195
- pendingEvidencePolicy: "wait",
196
- initialHistorySnapshot: persisted.sessions[agent]?.historySnapshot,
197
- onHistorySnapshot: (snapshot) => {
198
- void this.store.updateSessionHistory(agent, snapshot);
199
- },
200
- onHistoryRegression: (_regression, snapshot) => {
201
- this.runDispatchOperation(agent, this.invalidateGenerationForRewind(agent, snapshot), "invalidate rewound generation");
202
- },
203
- onChange: (idle) => {
204
- this.refreshStatusHint();
205
- this.options.host.scheduleParentUiRender();
206
- if (idle) {
207
- const progressIdentity = this.takeCrosscheckTurnIdentity(agent);
208
- this.runDispatchOperation(agent, this.handleAgentIdle(agent, progressIdentity), "prepare resumed crosscheck");
209
- }
210
- },
211
- onReadFailure: () => {
212
- this.options.output.warn(`${config.driver} ${agentLabel(agent)} session log is unreadable; crosscheck remains disarmed`);
198
+ onObserverError: (error) => {
199
+ this.fail(observerFailureError(config.driver, agent, error));
213
200
  },
214
201
  });
202
+ this.launchingSessions.set(agent, session);
215
203
  const persistedDispatch = persisted.generation.dispatch;
216
204
  const freshForPendingDispatch = persistedDispatch !== undefined
217
205
  && (persistedDispatch.phase === "crosscheck"
@@ -219,26 +207,14 @@ export class CrosscheckCoordinator {
219
207
  : true)
220
208
  && (prior?.pendingDispatchBaselineReset === true
221
209
  || session.resumed !== true);
222
- this.agents.set(agent, {
223
- config,
224
- session,
225
- monitor,
226
- resultReady,
227
- resultState,
228
- freshForPendingDispatch,
229
- launchTurnExpected: session.resumed !== true || prompt.length > 0,
230
- launchTurnReceipt,
231
- });
232
- if (this.agents.get(agent).launchTurnExpected)
233
- monitor.attachTurn(launchTurnReceipt);
234
- monitor.startHistoryPolling();
210
+ // Initialize before observation can publish a new checkpoint or rewind.
235
211
  await this.store.update((state) => {
236
212
  const dispatch = state.generation.dispatch;
237
213
  if (freshForPendingDispatch
238
214
  && state.generation.id === persisted.generation.id
239
215
  && dispatch !== undefined
240
- && persisted.generation.dispatch !== undefined
241
- && dispatch.token === persisted.generation.dispatch.token) {
216
+ && persistedDispatch !== undefined
217
+ && dispatch.token === persistedDispatch.token) {
242
218
  if (dispatch.phase === "crosscheck") {
243
219
  state.generation.consumed = false;
244
220
  }
@@ -250,27 +226,73 @@ export class CrosscheckCoordinator {
250
226
  ...(freshForPendingDispatch && {
251
227
  pendingDispatchBaselineReset: true,
252
228
  }),
253
- ...(persisted.sessions[agent]?.historySnapshot && {
254
- historySnapshot: persisted.sessions[agent].historySnapshot,
229
+ ...(prior?.historySnapshot && {
230
+ historySnapshot: prior.historySnapshot,
255
231
  }),
256
232
  };
257
233
  });
258
- if (freshForPendingDispatch
259
- && session.resumed === true
260
- && activityState === "idle"
261
- && !this.agents.get(agent)?.launchTurnExpected) {
262
- await this.handleAgentIdle(agent);
234
+ let usingObserverMonitor = false;
235
+ const monitorOptions = {
236
+ pendingEvidencePolicy: "wait",
237
+ initialHistorySnapshot: persisted.sessions[agent]?.historySnapshot,
238
+ onHistorySnapshot: (snapshot) => {
239
+ if (this.finishing)
240
+ return;
241
+ this.runDispatchOperation(agent, this.store.updateSessionHistory(agent, snapshot), "persist session history");
242
+ },
243
+ onHistoryRegression: (_regression, snapshot) => {
244
+ if (this.finishing)
245
+ return;
246
+ this.runDispatchOperation(agent, this.invalidateGenerationForRewind(agent, snapshot), "invalidate rewound generation");
247
+ },
248
+ onChange: (idle) => {
249
+ if (this.finishing)
250
+ return;
251
+ this.refreshStatusHint();
252
+ this.options.host.scheduleParentUiRender();
253
+ if (idle && this.sessionsReady) {
254
+ const progressIdentity = this.takeCrosscheckTurnIdentity(agent);
255
+ this.runDispatchOperation(agent, this.handleAgentIdle(agent, progressIdentity), "prepare resumed crosscheck");
256
+ }
257
+ },
258
+ onReadFailure: () => {
259
+ this.options.output.warn(usingObserverMonitor
260
+ ? `${config.driver} ${agentLabel(agent)} session observation is unavailable; crosscheck remains disarmed`
261
+ : `${config.driver} ${agentLabel(agent)} session log is unreadable; crosscheck remains disarmed`);
262
+ },
263
+ };
264
+ const observerMonitor = session.createTurnMonitor?.(monitorOptions);
265
+ usingObserverMonitor = observerMonitor !== undefined;
266
+ const monitor = observerMonitor ?? new SessionTurnMonitor(config.driver, session.identity.sessionFilePath, session.baseline, monitorOptions);
267
+ this.agents.set(agent, {
268
+ config,
269
+ session,
270
+ monitor,
271
+ resultReady,
272
+ resultState,
273
+ freshForPendingDispatch,
274
+ launchTurnExpected: session.resumed !== true || prompt.length > 0,
275
+ launchTurnReceipt,
276
+ });
277
+ this.launchingSessions.delete(agent);
278
+ if (this.agents.get(agent).launchTurnExpected) {
279
+ if (typeof monitor.attachTurn === "function")
280
+ monitor.attachTurn(launchTurnReceipt);
281
+ else
282
+ monitor.beginTurn();
263
283
  }
284
+ monitor.startHistoryPolling();
264
285
  }
265
286
  catch (err) {
266
287
  this.launchingSessions.get(agent)?.close();
267
288
  this.launchingSessions.delete(agent);
289
+ const launchFailure = observerLaunchFailureError(config.driver, agent, err);
268
290
  if (!hasLaunchFailure) {
269
291
  hasLaunchFailure = true;
270
- firstLaunchFailure = err;
271
- launchAbort.abort(err);
292
+ firstLaunchFailure = launchFailure;
293
+ launchAbort.abort(launchFailure);
272
294
  }
273
- throw err;
295
+ throw launchFailure;
274
296
  }
275
297
  });
276
298
  const launchResults = await Promise.allSettled(launches);
@@ -280,15 +302,14 @@ export class CrosscheckCoordinator {
280
302
  throw firstLaunchFailure;
281
303
  if (this.finishing)
282
304
  return await completion;
283
- this.sessionsReady = true;
284
- this.refreshStatusHint();
285
- this.options.host.scheduleParentUiRender();
286
305
  for (const runtime of this.agents.values()) {
287
306
  if (runtime.launchTurnExpected)
288
307
  runtime.monitor.beginTurn(runtime.launchTurnReceipt);
289
308
  }
290
- await this.reconcilePersistedDispatch();
291
- await this.maybeSettleReconcileGate();
309
+ this.sessionsReady = true;
310
+ this.refreshStatusHint();
311
+ this.options.host.scheduleParentUiRender();
312
+ await this.reconcileLaunchDispatch();
292
313
  this.broadcast.reconcileMode(this.currentReadiness(), this.currentGenerationPresentation());
293
314
  this.refreshMouseModes();
294
315
  this.resultTimer = setInterval(() => {
@@ -548,6 +569,8 @@ export class CrosscheckCoordinator {
548
569
  continue;
549
570
  }
550
571
  if (isControlKey(event, 0x18)) {
572
+ if (this.finishing)
573
+ continue;
551
574
  flush();
552
575
  const canRetry = this.canRetryPendingDispatch();
553
576
  const canCrosscheck = this.isCrosscheckArmed();
@@ -573,6 +596,8 @@ export class CrosscheckCoordinator {
573
596
  if (this.routeMouse(event, mouseFrame))
574
597
  continue;
575
598
  }
599
+ if (this.finishing)
600
+ continue;
576
601
  if (this.focus === "broadcast") {
577
602
  flush();
578
603
  const submissionState = this.currentSubmissionState();
@@ -610,6 +635,8 @@ export class CrosscheckCoordinator {
610
635
  return true;
611
636
  }
612
637
  onClipboardPasteRequest() {
638
+ if (this.finishing)
639
+ return true;
613
640
  if (this.focus !== "broadcast")
614
641
  return false;
615
642
  this.requestBroadcastPaste();
@@ -703,6 +730,8 @@ export class CrosscheckCoordinator {
703
730
  const runtime = this.agents.get(target.agent);
704
731
  if (!runtime || point.row <= HEADER_ROWS)
705
732
  return true;
733
+ if (this.finishing && event.kind !== "wheel")
734
+ return true;
706
735
  const localRow = point.row - HEADER_ROWS;
707
736
  if (event.kind === "wheel"
708
737
  && !runtime.session.vt.isAlternate
@@ -744,6 +773,8 @@ export class CrosscheckCoordinator {
744
773
  return true;
745
774
  }
746
775
  forwardMouseFrameToAgent(agent, frame) {
776
+ if (this.finishing)
777
+ return;
747
778
  const runtime = this.agents.get(agent);
748
779
  if (!runtime)
749
780
  return;
@@ -899,9 +930,13 @@ export class CrosscheckCoordinator {
899
930
  return "ready";
900
931
  }
901
932
  requestBroadcastPaste() {
933
+ if (this.finishing)
934
+ return;
902
935
  void handleImagePasteIntent(this.broadcast.attachments, () => {
903
936
  this.flashTransient(PASTING_IMAGE_HINT, 3000);
904
937
  }).then((outcome) => {
938
+ if (this.finishing)
939
+ return;
905
940
  if (outcome.inserted !== undefined) {
906
941
  this.broadcast.applyInsertedText(outcome.inserted);
907
942
  this.resizeSessions();
@@ -919,7 +954,7 @@ export class CrosscheckCoordinator {
919
954
  return this.isCrosscheckArmed() || this.isReconcileArmed();
920
955
  }
921
956
  isCrosscheckArmed() {
922
- if (!this.store || !this.sessionsReady)
957
+ if (this.finishing || !this.store || !this.sessionsReady)
923
958
  return false;
924
959
  if (this.store.generationInvalidated())
925
960
  return false;
@@ -929,7 +964,7 @@ export class CrosscheckCoordinator {
929
964
  return this.allResultsReady() && this.allAgentsIdle();
930
965
  }
931
966
  isReconcileArmed() {
932
- if (!this.store || !this.sessionsReady)
967
+ if (this.finishing || !this.store || !this.sessionsReady)
933
968
  return false;
934
969
  if (this.store.generationInvalidated())
935
970
  return false;
@@ -958,11 +993,12 @@ export class CrosscheckCoordinator {
958
993
  return status !== undefined && status !== "delivered";
959
994
  }
960
995
  canRetryPendingDispatch() {
961
- if (!this.store)
996
+ if (this.finishing || !this.store)
962
997
  return false;
963
998
  const dispatchPhase = this.store.dispatchPhase();
964
999
  if (this.dispatching
965
1000
  || !this.sessionsReady
1001
+ || this.launchReconciliationPending
966
1002
  || dispatchPhase === undefined
967
1003
  || (this.store.generationConsumed() && dispatchPhase === "crosscheck")
968
1004
  || !this.allResultsReady()
@@ -1169,7 +1205,7 @@ export class CrosscheckCoordinator {
1169
1205
  }
1170
1206
  if (!submitted || !this.isCurrentGenerationOperation(generationId, operation))
1171
1207
  return;
1172
- const classification = await provider.live.classifyDispatchDelivery(runtime.session.identity.sessionFilePath, dispatch.agents[agent].baseline);
1208
+ const classification = await this.classifyRuntimeDispatchDelivery(runtime, dispatch.agents[agent].baseline);
1173
1209
  if (!this.isCurrentGenerationOperation(generationId, operation))
1174
1210
  return;
1175
1211
  if (classification === "present") {
@@ -1195,7 +1231,23 @@ export class CrosscheckCoordinator {
1195
1231
  const ownJsonFile = reconcileJsonFilePath(this.options.persistentDir, agent, generationId, round);
1196
1232
  return buildExecutorReconcilePrompt(otherJsonFile, ownJsonFile);
1197
1233
  }
1234
+ async reconcileLaunchDispatch() {
1235
+ if (!this.launchReconciliationPending
1236
+ || !this.sessionsReady
1237
+ || !this.allAgentsIdle())
1238
+ return;
1239
+ // Release once: later dispatches still reconcile each side independently.
1240
+ this.launchReconciliationPending = false;
1241
+ for (const agent of this.agents.keys())
1242
+ await this.handleAgentIdle(agent);
1243
+ await this.reconcilePersistedDispatch();
1244
+ await this.maybeSettleReconcileGate();
1245
+ }
1198
1246
  async reconcilePersistedDispatch() {
1247
+ if (this.launchReconciliationPending) {
1248
+ await this.reconcileLaunchDispatch();
1249
+ return;
1250
+ }
1199
1251
  const snapshot = this.store.snapshot();
1200
1252
  const generationId = snapshot.generation.id;
1201
1253
  const dispatch = snapshot.generation.dispatch;
@@ -1215,6 +1267,7 @@ export class CrosscheckCoordinator {
1215
1267
  async retryPersistedDispatch() {
1216
1268
  if (this.dispatching
1217
1269
  || !this.sessionsReady
1270
+ || this.launchReconciliationPending
1218
1271
  || !this.allResultsReady()
1219
1272
  || !this.allAgentsIdle())
1220
1273
  return;
@@ -1265,18 +1318,9 @@ export class CrosscheckCoordinator {
1265
1318
  async reconcileDispatchSide(agent, generationId, dispatch, expectedStatus, onAbsent, operation = this.currentDispatchOperationContext()) {
1266
1319
  if (!this.isCurrentGenerationOperation(generationId, operation))
1267
1320
  return false;
1268
- const target = onAbsent
1269
- ? (() => {
1270
- const runtime = this.agents.get(agent);
1271
- return runtime
1272
- ? {
1273
- driver: runtime.config.driver,
1274
- sessionFilePath: runtime.session.identity.sessionFilePath,
1275
- }
1276
- : undefined;
1277
- })()
1278
- : this.store.snapshot().sessions[agent];
1279
- if (!target) {
1321
+ const runtimeTarget = onAbsent ? this.agents.get(agent) : undefined;
1322
+ const persistedTarget = onAbsent ? undefined : this.store.snapshot().sessions[agent];
1323
+ if (!runtimeTarget && !persistedTarget) {
1280
1324
  if (!onAbsent
1281
1325
  &&
1282
1326
  this.isCurrentDispatchSide(agent, generationId, dispatch.token, expectedStatus)) {
@@ -1284,11 +1328,13 @@ export class CrosscheckCoordinator {
1284
1328
  }
1285
1329
  return true;
1286
1330
  }
1287
- if ("pendingDispatchBaselineReset" in target && target.pendingDispatchBaselineReset) {
1331
+ if (persistedTarget?.pendingDispatchBaselineReset) {
1288
1332
  return true;
1289
1333
  }
1290
- const classification = await resolveProvider(target.driver)
1291
- .live.classifyDispatchDelivery(target.sessionFilePath, dispatch.agents[agent].baseline);
1334
+ const classification = runtimeTarget
1335
+ ? await this.classifyRuntimeDispatchDelivery(runtimeTarget, dispatch.agents[agent].baseline)
1336
+ : await resolveProvider(persistedTarget.driver)
1337
+ .live.classifyDispatchDelivery(persistedTarget.sessionFilePath, dispatch.agents[agent].baseline);
1292
1338
  if (!this.isCurrentGenerationOperation(generationId, operation))
1293
1339
  return false;
1294
1340
  if (!this.isCurrentDispatch(generationId, dispatch.token))
@@ -1364,6 +1410,8 @@ export class CrosscheckCoordinator {
1364
1410
  this.refreshStatusHint();
1365
1411
  }
1366
1412
  async maybeSettleReconcileGate() {
1413
+ if (this.finishing)
1414
+ return;
1367
1415
  const snapshot = this.store.snapshot();
1368
1416
  if (snapshot.generation.reconcilePendingSettlement
1369
1417
  && !snapshot.generation.dispatch
@@ -1434,6 +1482,12 @@ export class CrosscheckCoordinator {
1434
1482
  this.refreshStatusHint();
1435
1483
  this.options.host.scheduleParentUiRender();
1436
1484
  }
1485
+ async classifyRuntimeDispatchDelivery(runtime, baseline) {
1486
+ const liveClassification = runtime.monitor.classifyDeliverySince?.(baseline);
1487
+ if (liveClassification)
1488
+ return liveClassification;
1489
+ return await resolveProvider(runtime.config.driver).live.classifyDispatchDelivery(runtime.session.identity.sessionFilePath, baseline);
1490
+ }
1437
1491
  markDispatchDelivered(agent, generationId, dispatchToken, expectedStatus) {
1438
1492
  return this.transitionDispatchStatus(agent, generationId, dispatchToken, expectedStatus, "delivered");
1439
1493
  }
@@ -1463,6 +1517,8 @@ export class CrosscheckCoordinator {
1463
1517
  }
1464
1518
  /** Sends the committed Broadcast text and, for Steer/Follow-up, starts the next generation first. */
1465
1519
  async submitBroadcast() {
1520
+ if (this.finishing)
1521
+ return;
1466
1522
  const text = this.broadcast.submissionText();
1467
1523
  if (text === undefined)
1468
1524
  return;
@@ -1613,8 +1669,9 @@ export class CrosscheckCoordinator {
1613
1669
  agent,
1614
1670
  ready: await fileHasContent(generation.resultFiles[agent]),
1615
1671
  })));
1616
- // Guard against a late read from a generation the coordinator has since superseded.
1617
- if (this.store.snapshot().generation.id !== generation.id)
1672
+ // A same-generation rewind also invalidates an outstanding result read.
1673
+ const current = this.store.snapshot().generation;
1674
+ if (this.finishing || current.id !== generation.id || current.rewind)
1618
1675
  return;
1619
1676
  for (const { agent, ready } of readiness) {
1620
1677
  const runtime = this.agents.get(agent);
@@ -1683,6 +1740,7 @@ export class CrosscheckCoordinator {
1683
1740
  if (this.finishing
1684
1741
  || this.dispatching
1685
1742
  || !this.sessionsReady
1743
+ || this.launchReconciliationPending
1686
1744
  || this.resendAfterLaunch.size === 0
1687
1745
  || !this.allResultsReady()
1688
1746
  || [...this.agents.values()].some((runtime) => runtime.freshForPendingDispatch)
@@ -1692,6 +1750,12 @@ export class CrosscheckCoordinator {
1692
1750
  this.runDispatchOperation(undefined, this.retryPersistedDispatch(), "resume crosscheck");
1693
1751
  }
1694
1752
  async handleAgentIdle(agent, progressIdentity = this.takeCrosscheckTurnIdentity(agent)) {
1753
+ if (this.finishing)
1754
+ return;
1755
+ if (this.launchReconciliationPending) {
1756
+ await this.reconcileLaunchDispatch();
1757
+ return;
1758
+ }
1695
1759
  this.settleCrosscheckSlot(agent, progressIdentity);
1696
1760
  const runtime = this.agents.get(agent);
1697
1761
  if (runtime?.freshForPendingDispatch
@@ -1728,8 +1792,7 @@ export class CrosscheckCoordinator {
1728
1792
  if (runtime
1729
1793
  && dispatch?.agents[agent].status === "submitted"
1730
1794
  && !runtime.freshForPendingDispatch) {
1731
- const classification = await resolveProvider(runtime.config.driver)
1732
- .live.classifyDispatchDelivery(runtime.session.identity.sessionFilePath, dispatch.agents[agent].baseline);
1795
+ const classification = await this.classifyRuntimeDispatchDelivery(runtime, dispatch.agents[agent].baseline);
1733
1796
  if (!this.isCurrentDispatch(snapshot.generation.id, dispatch.token)) {
1734
1797
  this.maybeRetryPersistedDispatch();
1735
1798
  return;
@@ -1807,6 +1870,7 @@ export class CrosscheckCoordinator {
1807
1870
  this.launchAbort?.abort(new Error("Crosscheck launch cancelled"));
1808
1871
  this.dispatchAbort.abort(new Error("Crosscheck coordinator stopped"));
1809
1872
  this.abortActiveDispatchOperations(new Error("Crosscheck coordinator stopped"));
1873
+ this.options.host.scheduleParentUiRender();
1810
1874
  this.finishResolve?.({ kind: "crosscheck", interrupted: true });
1811
1875
  }
1812
1876
  fail(error) {
@@ -1833,24 +1897,32 @@ export class CrosscheckCoordinator {
1833
1897
  if (this.activityTimer)
1834
1898
  clearInterval(this.activityTimer);
1835
1899
  this.activityTimer = undefined;
1836
- if (this.transientFlash) {
1837
- clearTimeout(this.transientFlash.timer);
1838
- this.transientFlash = undefined;
1900
+ try {
1901
+ const monitors = await Promise.allSettled([...this.agents.values()].map((runtime) => runtime.monitor.shutdown()));
1902
+ await Promise.allSettled([...this.dispatchOperations]);
1903
+ await this.resultRefresh;
1904
+ this.trackActivity();
1905
+ await Promise.allSettled([...this.activityOperations]);
1906
+ await this.store?.drain();
1907
+ const failedMonitor = monitors.find((result) => result.status === "rejected");
1908
+ if (failedMonitor?.status === "rejected")
1909
+ throw failedMonitor.reason;
1839
1910
  }
1840
- this.detachUi?.();
1841
- this.detachUi = undefined;
1842
- this.options.host.clearMouseModeSource(MOUSE_SOURCE);
1843
- await Promise.all([...this.agents.values()].map((runtime) => runtime.monitor.shutdown()));
1844
- await Promise.allSettled([...this.dispatchOperations]);
1845
- this.trackActivity();
1846
- await Promise.allSettled([...this.activityOperations]);
1847
- for (const runtime of this.agents.values()) {
1848
- runtime.session.close();
1911
+ finally {
1912
+ for (const runtime of this.agents.values())
1913
+ runtime.session.close();
1914
+ for (const session of this.launchingSessions.values())
1915
+ session.close();
1916
+ if (this.transientFlash) {
1917
+ clearTimeout(this.transientFlash.timer);
1918
+ this.transientFlash = undefined;
1919
+ }
1920
+ this.detachUi?.();
1921
+ this.detachUi = undefined;
1922
+ this.options.host.clearMouseModeSource(MOUSE_SOURCE);
1923
+ this.agents.clear();
1924
+ this.launchingSessions.clear();
1849
1925
  }
1850
- for (const session of this.launchingSessions.values())
1851
- session.close();
1852
- this.agents.clear();
1853
- this.launchingSessions.clear();
1854
1926
  }
1855
1927
  runDispatchOperation(agent, operation, action) {
1856
1928
  const tracked = operation
@@ -1955,6 +2027,7 @@ export class CrosscheckCoordinator {
1955
2027
  catch {
1956
2028
  // Result may not exist while the executor is still working.
1957
2029
  }
2030
+ const observerDiagnostics = runtime?.session.observerDiagnostics?.() ?? [];
1958
2031
  return {
1959
2032
  seq: index,
1960
2033
  stepId: agent,
@@ -1968,6 +2041,9 @@ export class CrosscheckCoordinator {
1968
2041
  sessionFilePaths: runtime ? [runtime.session.identity.sessionFilePath] : [],
1969
2042
  inFlight: true,
1970
2043
  ...(runtime && { ptyTailSnapshot: runtime.session.ptyTail.snapshot() }),
2044
+ ...(observerDiagnostics && observerDiagnostics.length > 0 && {
2045
+ observerDiagnostics,
2046
+ }),
1971
2047
  };
1972
2048
  }));
1973
2049
  }
@@ -2017,6 +2093,16 @@ export function buildCrosscheckConfigurations(values) {
2017
2093
  function otherAgent(agent) {
2018
2094
  return agent === "agent-1" ? "agent-2" : "agent-1";
2019
2095
  }
2096
+ function observerLaunchFailureError(driver, agent, cause) {
2097
+ if (!(cause instanceof Error))
2098
+ return cause;
2099
+ return /\bobserver\b/i.test(cause.message)
2100
+ ? observerFailureError(driver, agent, cause)
2101
+ : cause;
2102
+ }
2103
+ function observerFailureError(driver, agent, cause) {
2104
+ return new Error(`${driver} ${agentLabel(agent)} observer failed: ${cause.message}`, { cause });
2105
+ }
2020
2106
  function agentLabel(agent) {
2021
2107
  return agent === "agent-1" ? "Agent 1" : "Agent 2";
2022
2108
  }