@seat-mesh/daemon 0.1.18 → 0.1.23

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 (65) hide show
  1. package/dist/border-paint.d.ts +2 -2
  2. package/dist/border-paint.d.ts.map +1 -1
  3. package/dist/border-paint.js +110 -123
  4. package/dist/border-paint.js.map +1 -1
  5. package/dist/cc-limit-retry.d.ts +11 -0
  6. package/dist/cc-limit-retry.d.ts.map +1 -0
  7. package/dist/cc-limit-retry.js +73 -0
  8. package/dist/cc-limit-retry.js.map +1 -0
  9. package/dist/checkback-fire.d.ts +8 -0
  10. package/dist/checkback-fire.d.ts.map +1 -0
  11. package/dist/checkback-fire.js +52 -0
  12. package/dist/checkback-fire.js.map +1 -0
  13. package/dist/checkback-fire.test.d.ts +2 -0
  14. package/dist/checkback-fire.test.d.ts.map +1 -0
  15. package/dist/checkback-fire.test.js +36 -0
  16. package/dist/checkback-fire.test.js.map +1 -0
  17. package/dist/connectivity-recovery.d.ts +2 -0
  18. package/dist/connectivity-recovery.d.ts.map +1 -1
  19. package/dist/connectivity-recovery.js +15 -1
  20. package/dist/connectivity-recovery.js.map +1 -1
  21. package/dist/create-queue-store.d.ts +1 -1
  22. package/dist/create-queue-store.d.ts.map +1 -1
  23. package/dist/create-queue-store.js +1 -1
  24. package/dist/create-queue-store.js.map +1 -1
  25. package/dist/inbox-overload.d.ts +19 -0
  26. package/dist/inbox-overload.d.ts.map +1 -0
  27. package/dist/inbox-overload.js +48 -0
  28. package/dist/inbox-overload.js.map +1 -0
  29. package/dist/inbox-overload.test.d.ts +2 -0
  30. package/dist/inbox-overload.test.d.ts.map +1 -0
  31. package/dist/inbox-overload.test.js +43 -0
  32. package/dist/inbox-overload.test.js.map +1 -0
  33. package/dist/inject-delivery.d.ts +13 -2
  34. package/dist/inject-delivery.d.ts.map +1 -1
  35. package/dist/inject-delivery.js +57 -20
  36. package/dist/inject-delivery.js.map +1 -1
  37. package/dist/inject-delivery.test.js +16 -1
  38. package/dist/inject-delivery.test.js.map +1 -1
  39. package/dist/jsonl-dedupe.test.js +36 -1
  40. package/dist/jsonl-dedupe.test.js.map +1 -1
  41. package/dist/jsonl-store.d.ts +13 -0
  42. package/dist/jsonl-store.d.ts.map +1 -1
  43. package/dist/jsonl-store.js +37 -0
  44. package/dist/jsonl-store.js.map +1 -1
  45. package/dist/mesh-inbox-server.js +23 -3
  46. package/dist/mesh-inbox-server.js.map +1 -1
  47. package/dist/mesh-inbox-supervisor.js +57 -31
  48. package/dist/mesh-inbox-supervisor.js.map +1 -1
  49. package/dist/mesh-orchestrator.d.ts.map +1 -1
  50. package/dist/mesh-orchestrator.js +303 -52
  51. package/dist/mesh-orchestrator.js.map +1 -1
  52. package/dist/peer-backlog.d.ts +2 -2
  53. package/dist/peer-backlog.d.ts.map +1 -1
  54. package/dist/peer-backlog.js +6 -4
  55. package/dist/peer-backlog.js.map +1 -1
  56. package/dist/peer-comms-checkback.d.ts.map +1 -1
  57. package/dist/peer-comms-checkback.js +13 -2
  58. package/dist/peer-comms-checkback.js.map +1 -1
  59. package/dist/peer-skip.d.ts +2 -0
  60. package/dist/peer-skip.d.ts.map +1 -1
  61. package/dist/peer-skip.js +9 -0
  62. package/dist/peer-skip.js.map +1 -1
  63. package/dist/peer-skip.test.js +19 -1
  64. package/dist/peer-skip.test.js.map +1 -1
  65. package/package.json +7 -5
@@ -1,13 +1,16 @@
1
- import { formatCompactSeat, formatGenericCheckback, formatRoomCallCheckback, formatRoomCommsCheckback, isRoomCallExpect, } from "@seat-mesh/core";
2
- import { buildMiniCampaignDigest, capturePaneSnapshot, meshManagerPane, meshSecretaryPane, paneMetaForPane, } from "@seat-mesh/tmux";
1
+ import { chatRoomConfigForLoaded, formatCompactSeat, formatGenericCheckback, formatRoomCallCheckback, formatRoomCommsCheckback, isRoomCallExpect, lastInboundRoomFrom, listRoomMessages, meshInboxContinueLead, meshInboxDigestBlock, meshInboxDigestIncomplete, loadBalanceVendorContract, contractsDirFor, hubLockActive, isManagerKind, isSecretaryKind, meshInboxBalanceLeadTick, meshInboxBalanceStatus, parseRoomCommsExpect, resolveAgentId, } from "@seat-mesh/core";
2
+ import { buildMiniCampaignDigest, capturePaneSnapshot, coordPaneForRole, meshManagerPane, meshSecretaryPane, paneMetaForPane, readSeatSnapshot, handleCoordExpectDue, parseCoordExpect, runBalanceAutoActions, runBalanceTick, runSuperviseTick, } from "@seat-mesh/tmux";
3
3
  import { paintMeshBorders, paintMeshBordersAsync, } from "./border-paint.js";
4
4
  import { deliverToPane } from "./inject-delivery.js";
5
+ import { ccLimitRetryFingerprintFromExpect, meshInboxCcLimitRetryContinue, paneMatchesCcLimitFingerprint, } from "./cc-limit-retry.js";
5
6
  import { isInboxDelivered } from "./create-queue-store.js";
6
7
  import { drainPaneOpsOnce } from "./pane-ops-drain.js";
7
8
  import { armRecipientCheckbackAfterPeer } from "./peer-comms-checkback.js";
9
+ import { deferCheckbackAfterFailedFire, sortDueCheckbackIndices, } from "./checkback-fire.js";
8
10
  import { isAckClassPeer, parkPeerToBacklog, pendingPeerRows, promotePeerBacklog, shouldBacklogPeerHold, } from "./peer-backlog.js";
9
- import { markPeerRowSkipped, shouldSkipDeliveredColdStart, shouldSkipGlobalWorkerRoomPing, } from "./peer-skip.js";
11
+ import { markPeerRowSkipped, shouldSkipDeliveredColdStart, shouldSkipGlobalWorkerRoomPing, shouldSkipManagerStatusRoomPing, } from "./peer-skip.js";
10
12
  import { deliveryHoldForPane } from "./delivery-hold.js";
13
+ import { evaluateInboxOverload } from "./inbox-overload.js";
11
14
  import { markColdStartDelivered } from "@seat-mesh/tmux";
12
15
  function borderConnectivity(ctx) {
13
16
  return {
@@ -15,6 +18,27 @@ function borderConnectivity(ctx) {
15
18
  ocLimitedPaneIds: ctx.ocLimitedPaneIds,
16
19
  };
17
20
  }
21
+ function gateDelivery(ctx, paneId, opts = {}) {
22
+ const hold = deliveryHoldForPane(ctx, paneId, opts);
23
+ if (hold.hold)
24
+ return { blocked: true, reason: hold.reason };
25
+ if (opts.skipOverload)
26
+ return { blocked: false };
27
+ const ov = evaluateInboxOverload(ctx.store, paneId);
28
+ if (ov.warn && ov.warnMessage) {
29
+ ctx.log(`INBOX overload warn pane=${paneId} triggers=${ov.count} cooldown=10m`);
30
+ deliverToPane(paneId, ov.warnMessage, ctx.registry, {
31
+ force: true,
32
+ skipVerify: true,
33
+ loaded: ctx.loaded,
34
+ });
35
+ }
36
+ if (ov.hold) {
37
+ ctx.log(`INBOX overload hold pane=${paneId} triggers=${ov.count} reason=${ov.reason}`);
38
+ return { blocked: true, reason: ov.reason };
39
+ }
40
+ return { blocked: false };
41
+ }
18
42
  /** ACK-class worker mail -> secretary first (harness parity); substance -> manager. */
19
43
  export function isAckClassInbox(row) {
20
44
  const msg = String(row.msg ?? "").trim();
@@ -40,12 +64,12 @@ function drainInboxLaneOnce(ctx, lane) {
40
64
  if (!targetPane)
41
65
  return { attempted: 0, delivered: 0, held: 0 };
42
66
  const payload = ctx.store.formatInboxInject(row, lane);
43
- const hold = deliveryHoldForPane(ctx, targetPane);
44
- if (hold.hold) {
45
- ctx.log(`INBOX held id=${row.id} lane=${lane} reason=${hold.reason}`);
67
+ const gate = gateDelivery(ctx, targetPane);
68
+ if (gate.blocked) {
69
+ ctx.log(`INBOX held id=${row.id} lane=${lane} reason=${gate.reason}`);
46
70
  return { attempted: 1, delivered: 0, held: 1 };
47
71
  }
48
- const result = deliverToPane(targetPane, payload, ctx.registry);
72
+ const result = deliverToPane(targetPane, payload, ctx.registry, { loaded: ctx.loaded });
49
73
  if (!result.ok) {
50
74
  ctx.log(`INBOX held id=${row.id} lane=${lane} reason=${result.reason}`);
51
75
  return { attempted: 1, delivered: 0, held: 1 };
@@ -111,25 +135,38 @@ export function drainPeerOnce(ctx) {
111
135
  ctx.log(`PEER skip id=${row.id} -> ${row.targetLabel} reason=global-worker-thin-fyi`);
112
136
  continue;
113
137
  }
138
+ if (shouldSkipManagerStatusRoomPing(row)) {
139
+ markPeerRowSkipped(ctx.store, row);
140
+ ctx.log(`PEER skip id=${row.id.slice(0, 8)} -> ${row.targetLabel} reason=manager-status-room`);
141
+ continue;
142
+ }
143
+ if (hubLockActive(ctx.loaded.workspace) &&
144
+ isAckClassPeer(row.msg) &&
145
+ (isManagerKind(row.targetLabel) || isSecretaryKind(row.targetLabel))) {
146
+ markPeerRowSkipped(ctx.store, row);
147
+ ctx.log(`PEER skip id=${row.id.slice(0, 8)} -> ${row.targetLabel} reason=hub-lock`);
148
+ continue;
149
+ }
114
150
  const isColdStart = row.fromSlot === "mesh-cold-start";
115
- const hold = deliveryHoldForPane(ctx, row.targetPane, { isColdStart });
116
- if (hold.hold) {
117
- ctx.log(`PEER held id=${row.id.slice(0, 8)} -> ${row.targetLabel} reason=${hold.reason}`);
151
+ const gate = gateDelivery(ctx, row.targetPane, { isColdStart });
152
+ if (gate.blocked) {
153
+ ctx.log(`PEER held id=${row.id.slice(0, 8)} -> ${row.targetLabel} reason=${gate.reason}`);
118
154
  held++;
119
155
  continue;
120
156
  }
121
157
  attempted++;
122
158
  const roomPing = row.kind === "room";
123
159
  const thinRoomPing = roomPing && /\[mesh-inbox-room\]/.test(row.msg);
124
- const toManager = row.targetLabel === "manager" ||
160
+ const toManager = isManagerKind(row.targetLabel) ||
125
161
  row.targetLabel === "master" ||
126
- row.targetLabel === "manager" ||
127
- paneMetaForPane(row.targetPane)?.role === "manager";
162
+ isManagerKind(paneMetaForPane(row.targetPane)?.role ?? "");
128
163
  const lightweight = isAckClassPeer(row.msg) || roomPing;
129
164
  const result = deliverToPane(row.targetPane, row.msg, ctx.registry, {
130
165
  lightweight,
131
- // Thin room ledger pings bypass coord idle-settle (manager/manager-b/secretary).
166
+ // Thin room ledger pings bypass coord idle-settle (manager/manager-b/secretary)
167
+ // except humanCoTyped panes (profile layout.base.humanCoTyped), which never get that bypass.
132
168
  roomPing: thinRoomPing || (roomPing && !toManager),
169
+ loaded: ctx.loaded,
133
170
  });
134
171
  if (!result.ok) {
135
172
  if (PEER_SKIP_REASONS.has(result.reason)) {
@@ -176,24 +213,92 @@ export function drainPeerOnce(ctx) {
176
213
  }
177
214
  return { attempted, delivered, held };
178
215
  }
179
- /** Max due checkbacks handled per drain tick — avoids wedging /health on burst renew. */
180
- const CHECKBACK_FIRE_BUDGET = 1;
181
- export function fireDueCheckbacks(ctx) {
182
- const now = Date.now();
216
+ /** Due checkbacks per drain tick — supervise lane + one comms peer. */
217
+ const CHECKBACK_FIRE_BUDGET = 2;
218
+ /** Cancel legacy per-pane STATUS checkbacks (they spammed manager with Check: injects). */
219
+ function cancelSuperviseStatusCheckbacks(ctx) {
183
220
  const rows = ctx.store.readCheckbacks();
184
- let processed = 0;
221
+ let changed = false;
185
222
  for (const row of rows) {
186
223
  if (row.status !== "active")
187
224
  continue;
188
- const exp = row.expiresAt ? Date.parse(row.expiresAt) : 0;
189
- if (!exp || exp > now)
225
+ if (row.kind !== "supervise-status" && !row.id.startsWith("cb-supervise-status-"))
190
226
  continue;
227
+ row.status = "cancelled";
228
+ row.updatedAt = new Date().toISOString();
229
+ changed = true;
230
+ }
231
+ if (changed)
232
+ ctx.store.writeCheckbacks(rows);
233
+ }
234
+ /** Daemon-native supervise — ledger + optional room STATUS + idle lead CONTINUE (no secretary inject). */
235
+ function deliverSecretarySuperviseTick(ctx, _secPane) {
236
+ cancelSuperviseStatusCheckbacks(ctx);
237
+ const tick = runSuperviseTick(ctx.loaded, {
238
+ session: ctx.session,
239
+ baseWindow: ctx.baseWindow,
240
+ registry: ctx.registry,
241
+ deliverContinue: (role, leadPane) => {
242
+ const msg = meshInboxContinueLead(role);
243
+ const r = deliverToPane(leadPane, msg, ctx.registry, {
244
+ skipVerify: true,
245
+ intent: "continue",
246
+ loaded: ctx.loaded,
247
+ });
248
+ ctx.log(`supervise-continue ${role} ${r.ok ? "ok" : r.reason} pane=${leadPane}`);
249
+ return r.ok;
250
+ },
251
+ });
252
+ ctx.log(`supervise-tick ledger=${tick.wroteLedger} material=${tick.materialChange} room=${tick.roomStatusPosted} nudged=${tick.nudged.join(",") || "none"} line=${tick.statusLine}`);
253
+ return tick.wroteLedger;
254
+ }
255
+ /** Balance lead tick — ledger + room STATUS + auto-assign; pane inject is best-effort only. */
256
+ function deliverBalanceLeadTick(ctx, leadPane) {
257
+ const tick = runBalanceTick(ctx.loaded);
258
+ const auto = runBalanceAutoActions(ctx.loaded, tick);
259
+ const msg = `${meshInboxBalanceStatus(tick.statusLine)} ${meshInboxBalanceLeadTick().replace(/^\[mesh-inbox\] /, "")}`;
260
+ const r = deliverToPane(leadPane, msg, ctx.registry, {
261
+ skipVerify: true,
262
+ force: true,
263
+ intent: "status",
264
+ loaded: ctx.loaded,
265
+ });
266
+ const material = tick.wroteLedger &&
267
+ (auto.roomStatusPosted || auto.autoPullAssigned || auto.balanceeAssigned.length > 0 || r.ok);
268
+ try {
269
+ const doc = loadBalanceVendorContract(contractsDirFor(ctx.loaded));
270
+ ctx.log(`balance-lead-tick material=${material} inject=${r.ok ? "ok" : r.reason} room=${auto.roomStatusPosted} pull=${auto.autoPullAssigned} balancees=${auto.balanceeAssigned.join(",") || "none"} lead=${doc.balance_lead}`);
271
+ }
272
+ catch {
273
+ ctx.log(`balance-lead-tick material=${material} inject=${r.ok ? "ok" : r.reason} pane=${leadPane}`);
274
+ }
275
+ return material;
276
+ }
277
+ function deferFailedFire(ctx, row, now, reason) {
278
+ deferCheckbackAfterFailedFire(row, now);
279
+ ctx.log(`checkback hold-defer id=${row.id} kind=${row.kind ?? "?"} reason=${reason}`);
280
+ }
281
+ export function fireDueCheckbacks(ctx) {
282
+ const now = Date.now();
283
+ const rows = ctx.store.readCheckbacks();
284
+ const dueIndices = sortDueCheckbackIndices(rows, now);
285
+ let processed = 0;
286
+ for (const idx of dueIndices) {
191
287
  if (processed >= CHECKBACK_FIRE_BUDGET)
192
288
  break;
193
289
  processed++;
290
+ const row = rows[idx];
194
291
  const pane = row.ownerPane;
195
292
  if (!pane)
196
293
  continue;
294
+ if (row.kind !== "manager-nudge") {
295
+ const cbGate = gateDelivery(ctx, pane);
296
+ if (cbGate.blocked) {
297
+ ctx.log(`checkback held id=${row.id} kind=${row.kind} pane=${pane} reason=${cbGate.reason}`);
298
+ deferFailedFire(ctx, row, now, cbGate.reason ?? "overload");
299
+ continue;
300
+ }
301
+ }
197
302
  if (row.kind === "mesh-watch") {
198
303
  const digest = buildMiniCampaignDigest(ctx.loaded);
199
304
  if (digest.allDone) {
@@ -203,44 +308,156 @@ export function fireDueCheckbacks(ctx) {
203
308
  continue;
204
309
  }
205
310
  const mgrPane = meshManagerPane(ctx.session, ctx.baseWindow);
206
- const digestBlock = `[mesh-inbox] DIGEST: ${digest.text}`;
311
+ const digestBlock = meshInboxDigestBlock(digest.text);
207
312
  if (mgrPane) {
208
- deliverToPane(mgrPane, digestBlock, ctx.registry, { skipVerify: true });
313
+ deliverToPane(mgrPane, digestBlock, ctx.registry, { skipVerify: true, loaded: ctx.loaded });
209
314
  }
210
- const secMsg = `${formatCompactSeat({ role: "secretary" })} | [mesh-inbox] DIGEST INCOMPLETE: ${digest.done}/${digest.total} open=[${digest.openIds.join(",")}] — ./sm.sh secretary collect --nudge`;
211
- deliverToPane(pane, secMsg, ctx.registry, { skipVerify: true });
315
+ const secMsg = `${formatCompactSeat({ role: "secretary" })} | ${meshInboxDigestIncomplete({
316
+ done: digest.done,
317
+ total: digest.total,
318
+ openIds: digest.openIds,
319
+ })}`;
320
+ deliverToPane(pane, secMsg, ctx.registry, { skipVerify: true, loaded: ctx.loaded });
212
321
  ctx.log(`mesh-watch digest done=${digest.done}/${digest.total} open=${digest.openIds.join(",") || "none"}`);
213
322
  }
214
323
  else if (row.kind === "manager-nudge") {
215
- // Supervisee is always manager — never worker slots 1-8 / minis.
216
- const mgrPane = meshManagerPane(ctx.session, ctx.baseWindow) || undefined;
217
- if (mgrPane && pane && pane !== mgrPane) {
218
- ctx.log(`manager-nudge retarget ${pane} -> ${mgrPane} (supervisee must be manager)`);
219
- row.ownerPane = mgrPane;
324
+ row.status = "cancelled";
325
+ row.updatedAt = new Date().toISOString();
326
+ ctx.log("manager-nudge cancelled (disabled protect manager lead health)");
327
+ }
328
+ else if (row.kind === "coord-nudge" || (row.kind?.endsWith("-nudge") && row.kind !== "manager-nudge")) {
329
+ const role = row.recipientLabel?.trim() ||
330
+ paneMetaForPane(pane)?.role ||
331
+ "";
332
+ if (!role) {
333
+ ctx.log(`${row.kind} skip (no recipient)`);
334
+ continue;
335
+ }
336
+ const leadPane = coordPaneForRole(ctx.session, ctx.baseWindow, role) || undefined;
337
+ if (leadPane && pane && pane !== leadPane) {
338
+ ctx.log(`${row.kind} retarget ${pane} -> ${leadPane} (supervisee must be ${role})`);
339
+ row.ownerPane = leadPane;
220
340
  ctx.store.writeCheckbacks(rows);
221
341
  }
222
- if (mgrPane) {
223
- const snap = capturePaneSnapshot(mgrPane);
224
- const prov = snap ? ctx.registry.detect(snap) : null;
225
- const state = prov && snap ? prov.composerState(snap) : null;
226
- const idle = !state ||
227
- state.phase === "empty" ||
228
- state.phase === "afk" ||
229
- state.phase === "plain_shell";
230
- if (idle) {
231
- const msg = "[mesh-inbox] CONTINUE: read manager/FOCUS + seatmesh/TODO; next authorized slice (no operator yes/continue)";
232
- const r = deliverToPane(mgrPane, msg, ctx.registry, { skipVerify: true });
233
- ctx.log(`manager-nudge ${r.ok ? "delivered" : `held:${r.reason}`} pane=${mgrPane}`);
342
+ if (leadPane) {
343
+ const snap = readSeatSnapshot(ctx.loaded, { role });
344
+ if ((snap?.tasks.open ?? 0) === 0) {
345
+ ctx.log(`${row.kind} skip (0 open TASKS) pane=${leadPane}`);
234
346
  }
235
347
  else {
236
- ctx.log(`manager-nudge skip (phase=${state?.phase ?? "?"}) pane=${mgrPane}`);
348
+ const cap = capturePaneSnapshot(leadPane);
349
+ const prov = cap ? ctx.registry.detect(cap) : null;
350
+ const state = prov && cap ? prov.composerState(cap) : null;
351
+ const idle = !state ||
352
+ state.phase === "empty" ||
353
+ state.phase === "afk" ||
354
+ state.phase === "plain_shell";
355
+ if (idle) {
356
+ const msg = meshInboxContinueLead(role);
357
+ const r = deliverToPane(leadPane, msg, ctx.registry, {
358
+ skipVerify: true,
359
+ intent: "continue",
360
+ loaded: ctx.loaded,
361
+ });
362
+ ctx.log(`${row.kind} ${r.ok ? "delivered" : r.reason} pane=${leadPane}`);
363
+ // Transient gate hold (e.g. wait-settle) — retry on the next drain tick
364
+ // instead of silently re-arming for the full renewSec (was: nudge could
365
+ // go dark for a whole 5min cycle every time it raced a settle window).
366
+ if (!r.ok) {
367
+ deferFailedFire(ctx, row, now, r.reason ?? "deliver");
368
+ continue;
369
+ }
370
+ }
371
+ else {
372
+ ctx.log(`${row.kind} skip (phase=${state?.phase ?? "?"}) pane=${leadPane}`);
373
+ }
237
374
  }
238
375
  }
239
376
  }
240
377
  else if (row.kind === "secretary-supervise") {
241
- const secMsg = `${formatCompactSeat({ role: "secretary" })} | [mesh-inbox] SUPERVISE: ./sm.sh contexts; idle manager + open FOCUS -> to-master CONTINUE`;
242
- const r = deliverToPane(pane, secMsg, ctx.registry, { skipVerify: true });
243
- ctx.log(`secretary-supervise ${r.ok ? "delivered" : `held:${r.reason}`} pane=${pane}`);
378
+ const ok = deliverSecretarySuperviseTick(ctx, pane);
379
+ if (!ok) {
380
+ deferFailedFire(ctx, row, now, "supervise-tick");
381
+ continue;
382
+ }
383
+ }
384
+ else if (row.kind === "cc-limit-retry") {
385
+ const fp = row.sessionFingerprint ??
386
+ ccLimitRetryFingerprintFromExpect(row.expect ?? "") ??
387
+ "";
388
+ if (!fp || !paneMatchesCcLimitFingerprint(ctx.registry, pane, fp)) {
389
+ row.status = "cancelled";
390
+ row.updatedAt = new Date().toISOString();
391
+ ctx.log(`cc-limit-retry cancel pane=${pane} (session replaced)`);
392
+ continue;
393
+ }
394
+ const meta = pane ? paneMetaForPane(pane) : null;
395
+ const role = meta?.role ?? "worker";
396
+ const leadRole = isManagerKind(role) ? role : null;
397
+ const msg = leadRole
398
+ ? meshInboxCcLimitRetryContinue(leadRole)
399
+ : `${formatCompactSeat({
400
+ role,
401
+ slot: meta?.slot,
402
+ mini: meta?.mini,
403
+ ports: meta?.ports,
404
+ })} | [mesh-inbox] intent=limit-retry CONTINUE: limit window passed — resume open TASK/hub (no chat reply)`;
405
+ const r = deliverToPane(pane, msg, ctx.registry, {
406
+ skipVerify: true,
407
+ intent: "limit-retry",
408
+ loaded: ctx.loaded,
409
+ });
410
+ if (!r.ok) {
411
+ deferFailedFire(ctx, row, now, r.reason ?? "deliver");
412
+ continue;
413
+ }
414
+ row.status = "cancelled";
415
+ row.updatedAt = new Date().toISOString();
416
+ ctx.log(`cc-limit-retry delivered pane=${pane}`);
417
+ }
418
+ else if (row.kind === "coord-expect" && row.expect) {
419
+ const parsed = parseCoordExpect(row.expect);
420
+ const pane = row.ownerPane;
421
+ if (!pane)
422
+ continue;
423
+ const outcome = handleCoordExpectDue(ctx.loaded, row.expect);
424
+ if (outcome.met) {
425
+ row.status = "cancelled";
426
+ row.updatedAt = new Date().toISOString();
427
+ ctx.log(`coord-expect met target=${parsed?.target ?? "?"} hub=${parsed?.hub ?? "?"}`);
428
+ continue;
429
+ }
430
+ const msg = `[mesh-inbox] intent=checkback-verify manager | Check: ${row.expect.slice(0, 100)} — ` +
431
+ `${outcome.retried ? "re-assigned" : "stale"} (${outcome.reason}); nudge ${parsed?.target ?? "lead"}`;
432
+ const r = deliverToPane(pane, msg, ctx.registry, {
433
+ skipVerify: true,
434
+ intent: "checkback-verify",
435
+ loaded: ctx.loaded,
436
+ });
437
+ if (!r.ok)
438
+ deferFailedFire(ctx, row, now, r.reason ?? "deliver");
439
+ ctx.log(`coord-expect ${outcome.retried ? "retry" : "hold"} ${outcome.reason}`);
440
+ }
441
+ else if (row.kind === "balance-lead-tick") {
442
+ let role = row.recipientLabel?.trim() || "";
443
+ if (!role) {
444
+ try {
445
+ role = loadBalanceVendorContract(contractsDirFor(ctx.loaded)).balance_lead;
446
+ }
447
+ catch {
448
+ role = "";
449
+ }
450
+ }
451
+ const leadPane = coordPaneForRole(ctx.session, ctx.baseWindow, role) || pane;
452
+ if (leadPane && pane && pane !== leadPane) {
453
+ row.ownerPane = leadPane;
454
+ ctx.store.writeCheckbacks(rows);
455
+ }
456
+ const ok = deliverBalanceLeadTick(ctx, leadPane ?? pane);
457
+ if (!ok) {
458
+ deferFailedFire(ctx, row, now, "balance-tick");
459
+ continue;
460
+ }
244
461
  }
245
462
  else if (row.expect && (row.kind === "room-call" || isRoomCallExpect(row.expect))) {
246
463
  const meta = pane ? paneMetaForPane(pane) : null;
@@ -252,14 +469,36 @@ export function fireDueCheckbacks(ctx) {
252
469
  workerCount: ctx.loaded.profile.session.workerCount,
253
470
  miniMax: ctx.loaded.profile.session.miniMax,
254
471
  });
255
- const r = deliverToPane(pane, msg, ctx.registry, { skipVerify: true });
256
- if (!r.ok)
472
+ const r = deliverToPane(pane, msg, ctx.registry, {
473
+ skipVerify: true,
474
+ intent: "checkback-verify",
475
+ loaded: ctx.loaded,
476
+ });
477
+ if (!r.ok) {
478
+ deferFailedFire(ctx, row, now, r.reason ?? "deliver");
257
479
  continue;
480
+ }
258
481
  ctx.log(`room-call checkback pane=${pane} expect=${row.expect}`);
259
482
  }
260
483
  else if (row.expect &&
261
484
  (row.kind === "room-comms" || row.expect.startsWith("chat-room:"))) {
262
485
  const meta = pane ? paneMetaForPane(pane) : null;
486
+ const parsed = parseRoomCommsExpect(row.expect);
487
+ const selfId = resolveAgentId({
488
+ role: meta?.role || row.recipientLabel || "worker",
489
+ slot: meta?.slot != null ? Number(meta.slot) : null,
490
+ mini: meta?.mini ?? null,
491
+ });
492
+ let from = null;
493
+ if (parsed) {
494
+ try {
495
+ const cfg = chatRoomConfigForLoaded(ctx.loaded);
496
+ from = lastInboundRoomFrom(listRoomMessages(ctx.loaded.workspace, cfg, parsed.slug), selfId);
497
+ }
498
+ catch {
499
+ from = null;
500
+ }
501
+ }
263
502
  const msg = formatRoomCommsCheckback(row.expect, {
264
503
  role: meta?.role || row.recipientLabel || "worker",
265
504
  slot: meta?.slot,
@@ -267,10 +506,16 @@ export function fireDueCheckbacks(ctx) {
267
506
  ports: meta?.ports,
268
507
  workerCount: ctx.loaded.profile.session.workerCount,
269
508
  miniMax: ctx.loaded.profile.session.miniMax,
509
+ }, from, { verifyOnly: true });
510
+ const r = deliverToPane(pane, msg, ctx.registry, {
511
+ skipVerify: true,
512
+ intent: "checkback-verify",
513
+ loaded: ctx.loaded,
270
514
  });
271
- const r = deliverToPane(pane, msg, ctx.registry, { skipVerify: true });
272
- if (!r.ok)
515
+ if (!r.ok) {
516
+ deferFailedFire(ctx, row, now, r.reason ?? "deliver");
273
517
  continue;
518
+ }
274
519
  ctx.log(`room-comms checkback pane=${pane} expect=${row.expect}`);
275
520
  }
276
521
  else {
@@ -285,9 +530,15 @@ export function fireDueCheckbacks(ctx) {
285
530
  };
286
531
  const expect = row.expect ?? row.kind;
287
532
  const msg = formatGenericCheckback(expect, cbCtx);
288
- const r = deliverToPane(pane, msg, ctx.registry, { skipVerify: true });
289
- if (!r.ok)
533
+ const r = deliverToPane(pane, msg, ctx.registry, {
534
+ skipVerify: true,
535
+ intent: "checkback-verify",
536
+ loaded: ctx.loaded,
537
+ });
538
+ if (!r.ok) {
539
+ deferFailedFire(ctx, row, now, r.reason ?? "deliver");
290
540
  continue;
541
+ }
291
542
  ctx.log(`checkback pane=${pane} expect=${expect.slice(0, 80)}`);
292
543
  }
293
544
  if (row.renewSec && row.renewSec > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"mesh-orchestrator.js","sourceRoot":"","sources":["../src/mesh-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mesh-orchestrator.js","sourceRoot":"","sources":["../src/mesh-orchestrator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,GAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAEL,iCAAiC,EACjC,6BAA6B,EAC7B,6BAA6B,GAG9B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAmB,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAwB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAgBzD,SAAS,kBAAkB,CAAC,GAAwB;IAClD,OAAO;QACL,eAAe,EAAE,GAAG,CAAC,eAAe,KAAK,IAAI;QAC7C,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;KACvC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,GAAwB,EACxB,MAAc,EACd,OAA0D,EAAE;IAE5D,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAE7D,IAAI,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAEjD,MAAM,EAAE,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpD,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9B,GAAG,CAAC,GAAG,CAAC,4BAA4B,MAAM,aAAa,EAAE,CAAC,KAAK,eAAe,CAAC,CAAC;QAChF,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,EAAE;YAClD,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACZ,GAAG,CAAC,GAAG,CAAC,4BAA4B,MAAM,aAAa,EAAE,CAAC,KAAK,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QACvF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC;AAQD,uFAAuF;AACvF,MAAM,UAAU,eAAe,CAAC,GAAgB;IAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,OAAO,0CAA0C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,kBAAkB,CACzB,GAAwB,EACxB,IAA6B;IAE7B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QAC1B,IAAI,CAAC,CAAC,QAAQ,IAAI,gBAAgB,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACpD,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAEzD,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAC5B,GAAG,CAAC,GAAG,CAAC,wBAAwB,GAAG,CAAC,EAAE,yCAAyC,CAAC,CAAC;QACjF,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5D,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAEhE,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,GAAG,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,EAAE,SAAS,IAAI,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACjD,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACxF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,GAAG,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,EAAE,SAAS,IAAI,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACxE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACjD,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IAChB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;IAChB,GAAG,CAAC,WAAW,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC;IAC7B,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;IAC9B,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3B,GAAG,CAAC,GAAG,CACL,mBAAmB,GAAG,CAAC,EAAE,SAAS,IAAI,SAAS,GAAG,CAAC,IAAI,IAAI,GAAG,OAAO,GAAG,CAAC,WAAW,aAAa,MAAM,CAAC,UAAU,SAAS,MAAM,CAAC,IAAI,aAAa,MAAM,CAAC,QAAQ,EAAE,CACrK,CAAC;IACF,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,cAAc,CAAC,GAAwB;IACrD,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC/C,OAAO;QACL,SAAS,EAAE,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS;QACxC,SAAS,EAAE,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS;QACxC,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI;KAC1B,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;AAElE,MAAM,kBAAkB,GAA2B;IACjD,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,IAAI,EAAE,CAAC;CACR,CAAC;AAEF,SAAS,eAAe,CAAC,GAAoD;IAC3E,IAAI,GAAG,CAAC,QAAQ,KAAK,iBAAiB;QAAE,OAAO,CAAC,CAAC,CAAC;IAClD,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAwB;IACpD,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAErD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,GAAG,CAAC,GAAG,CAAC,wBAAwB,SAAS,mBAAmB,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAC7C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAC9E,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAEpE,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YAC5B,GAAG,CAAC,GAAG,CAAC,uBAAuB,GAAG,CAAC,EAAE,4BAA4B,CAAC,CAAC;YACnE,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC;QACnB,CAAC;QAED,IAAI,4BAA4B,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACnC,GAAG,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,WAAW,sCAAsC,CAAC,CAAC;YACxG,SAAS;QACX,CAAC;QAED,IAAI,8BAA8B,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACnC,GAAG,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,WAAW,gCAAgC,CAAC,CAAC;YACtF,SAAS;QACX,CAAC;QAED,IAAI,+BAA+B,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACnC,GAAG,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,WAAW,6BAA6B,CAAC,CAAC;YAC/F,SAAS;QACX,CAAC;QAED,IACE,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;YACnC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;YACvB,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EACpE,CAAC;YACD,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACnC,GAAG,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,WAAW,kBAAkB,CAAC,CAAC;YACpF,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,KAAK,iBAAiB,CAAC;QACvD,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,GAAG,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,WAAW,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1F,IAAI,EAAE,CAAC;YACP,SAAS;QACX,CAAC;QAED,SAAS,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;QACrC,MAAM,YAAY,GAAG,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrE,MAAM,SAAS,GACb,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC;YAC9B,GAAG,CAAC,WAAW,KAAK,QAAQ;YAC5B,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC;QACxD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;YAClE,WAAW;YACX,kFAAkF;YAClF,6FAA6F;YAC7F,QAAQ,EAAE,YAAY,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC;YAClD,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,GAAG,IAAI,CAAC;oBACrB,IAAI,CAAC,CAAC,CAAE,CAAC,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBAC3C,IAAI,CAAC,CAAC,CAAE,CAAC,WAAW,GAAG,SAAS,CAAC;oBACjC,IAAI,CAAC,CAAC,CAAE,CAAC,WAAW,GAAG,MAAM,CAAC;oBAC9B,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;gBACD,GAAG,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,WAAW,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChF,SAAS;YACX,CAAC;YACD,IAAI,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClD,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1D,SAAS;YACX,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,EAAE,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,IAAI,EAAE,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,CAAC,CAAE,CAAC,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAI,CAAC,CAAC,CAAE,CAAC,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC;YACtC,IAAI,CAAC,CAAC,CAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;YACnC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,IAAI,GACR,GAAG,CAAC,IAAI,KAAK,MAAM;YACjB,CAAC,CAAC,GAAG,CAAC,QAAQ;YACd,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAC9C,CAAC,CAAC,GAAG,CAAC,QAAQ;gBACd,CAAC,CAAC,QAAQ,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/B,GAAG,CAAC,GAAG,CACL,eAAe,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,WAAW,SAAS,IAAI,aAAa,MAAM,CAAC,UAAU,SAAS,MAAM,CAAC,IAAI,EAAE,CAC/G,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACrD,CAAC;QACD,8BAA8B,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3D,SAAS,EAAE,CAAC;IACd,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,uEAAuE;AACvE,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC,2FAA2F;AAC3F,SAAS,+BAA+B,CAAC,GAAwB;IAC/D,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;IACxC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ;YAAE,SAAS;QACtC,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC;YAAE,SAAS;QAC5F,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC;QACzB,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACzC,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,IAAI,OAAO;QAAE,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,0GAA0G;AAC1G,SAAS,6BAA6B,CAAC,GAAwB,EAAE,QAAgB;IAC/E,+BAA+B,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE;QACxC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,eAAe,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;YAClC,MAAM,GAAG,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,GAAG,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;gBACnD,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,CAAC,CAAC;YACH,GAAG,CAAC,GAAG,CAAC,sBAAsB,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,QAAQ,EAAE,CAAC,CAAC;YACjF,OAAO,CAAC,CAAC,EAAE,CAAC;QACd,CAAC;KACF,CAAC,CAAC;IACH,GAAG,CAAC,GAAG,CACL,yBAAyB,IAAI,CAAC,WAAW,aAAa,IAAI,CAAC,cAAc,SAAS,IAAI,CAAC,gBAAgB,WAAW,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,SAAS,IAAI,CAAC,UAAU,EAAE,CAC5K,CAAC;IACF,OAAO,IAAI,CAAC,WAAW,CAAC;AAC1B,CAAC;AAED,+FAA+F;AAC/F,SAAS,sBAAsB,CAAC,GAAwB,EAAE,QAAgB;IACxE,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,GAAG,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,wBAAwB,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAE,CAAC;IACvH,MAAM,CAAC,GAAG,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;QACnD,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC,CAAC;IACH,MAAM,QAAQ,GACZ,IAAI,CAAC,WAAW;QAChB,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/F,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,yBAAyB,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACnE,GAAG,CAAC,GAAG,CACL,8BAA8B,QAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,IAAI,CAAC,gBAAgB,SAAS,IAAI,CAAC,gBAAgB,cAAc,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,SAAS,GAAG,CAAC,YAAY,EAAE,CACtN,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,GAAG,CACL,8BAA8B,QAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,QAAQ,EAAE,CAC3F,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CACtB,GAAwB,EACxB,GAAiB,EACjB,GAAW,EACX,MAAc;IAEd,6BAA6B,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxC,GAAG,CAAC,GAAG,CAAC,2BAA2B,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,IAAI,IAAI,GAAG,WAAW,MAAM,EAAE,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAwB;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,SAAS,IAAI,qBAAqB;YAAE,MAAM;QAC9C,SAAS,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACvC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC7F,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC;gBAC5D,SAAS;YACX,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC;gBACzB,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACzC,GAAG,CAAC,GAAG,CAAC,yCAAyC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAChF,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YAC7D,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,OAAO,EAAE,CAAC;gBACZ,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9F,CAAC;YACD,MAAM,MAAM,GAAG,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,MAAM,yBAAyB,CAAC;gBACxF,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC,EAAE,CAAC;YACL,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACpF,GAAG,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;QAC9G,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACxC,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC;YACzB,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACzC,GAAG,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;QAC9E,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,CAAC,EAAE,CAAC;YACxG,MAAM,IAAI,GACR,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE;gBAC1B,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI;gBAC3B,EAAE,CAAC;YACL,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,sBAAsB,CAAC,CAAC;gBAC3C,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC;YAClF,IAAI,QAAQ,IAAI,IAAI,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1C,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,aAAa,IAAI,OAAO,QAAQ,wBAAwB,IAAI,GAAG,CAAC,CAAC;gBACpF,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC;gBACzB,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpD,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,6BAA6B,QAAQ,EAAE,CAAC,CAAC;gBAC9D,CAAC;qBAAM,CAAC;oBACR,MAAM,GAAG,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;oBAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACnD,MAAM,KAAK,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC3D,MAAM,IAAI,GACR,CAAC,KAAK;wBACN,KAAK,CAAC,KAAK,KAAK,OAAO;wBACvB,KAAK,CAAC,KAAK,KAAK,KAAK;wBACrB,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC;oBAChC,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM,GAAG,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;wBACxC,MAAM,CAAC,GAAG,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;4BACnD,UAAU,EAAE,IAAI;4BAChB,MAAM,EAAE,UAAU;4BAClB,MAAM,EAAE,GAAG,CAAC,MAAM;yBACnB,CAAC,CAAC;wBACH,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,QAAQ,EAAE,CAAC,CAAC;wBACzE,wEAAwE;wBACxE,wEAAwE;wBACxE,uEAAuE;wBACvE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;4BACV,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;4BACtD,SAAS;wBACX,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,gBAAgB,KAAK,EAAE,KAAK,IAAI,GAAG,UAAU,QAAQ,EAAE,CAAC,CAAC;oBAC9E,CAAC;gBACD,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YAC9C,MAAM,EAAE,GAAG,6BAA6B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;gBACjD,SAAS;YACX,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACzC,MAAM,EAAE,GACN,GAAG,CAAC,kBAAkB;gBACtB,iCAAiC,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;gBACnD,EAAE,CAAC;YACL,IAAI,CAAC,EAAE,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC;gBACzB,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACzC,GAAG,CAAC,GAAG,CAAC,8BAA8B,IAAI,qBAAqB,CAAC,CAAC;gBACjE,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,QAAQ,CAAC;YACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACnD,MAAM,GAAG,GAAG,QAAQ;gBAClB,CAAC,CAAC,6BAA6B,CAAC,QAAQ,CAAC;gBACzC,CAAC,CAAC,GAAG,iBAAiB,CAAC;oBACnB,IAAI;oBACJ,IAAI,EAAE,IAAI,EAAE,IAAI;oBAChB,IAAI,EAAE,IAAI,EAAE,IAAI;oBAChB,KAAK,EAAE,IAAI,EAAE,KAAK;iBACnB,CAAC,yGAAyG,CAAC;YAChH,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;gBAC/C,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;gBACtD,SAAS;YACX,CAAC;YACD,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC;YACzB,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACzC,GAAG,CAAC,GAAG,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;YAC3B,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7D,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC;gBACzB,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACzC,GAAG,CAAC,GAAG,CAAC,2BAA2B,MAAM,EAAE,MAAM,IAAI,GAAG,QAAQ,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;gBACtF,SAAS;YACX,CAAC;YACD,MAAM,GAAG,GACP,yDAAyD,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK;gBACtF,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,YAAY,MAAM,EAAE,MAAM,IAAI,MAAM,EAAE,CAAC;YACxG,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;gBAC/C,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,kBAAkB;gBAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;YACjE,GAAG,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAClF,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YAC5C,IAAI,IAAI,GAAG,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC;oBACH,IAAI,GAAG,yBAAyB,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC7E,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,GAAG,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;YAC7E,IAAI,QAAQ,IAAI,IAAI,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1C,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC;gBACzB,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YACD,MAAM,EAAE,GAAG,sBAAsB,CAAC,GAAG,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;gBAC/C,SAAS;YACX,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjD,MAAM,GAAG,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,EAAE;gBAC9C,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,cAAc,IAAI,QAAQ;gBAClD,IAAI,EAAE,IAAI,EAAE,IAAI;gBAChB,IAAI,EAAE,IAAI,EAAE,IAAI;gBAChB,KAAK,EAAE,IAAI,EAAE,KAAK;gBAClB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW;gBACnD,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO;aAC5C,CAAC,CAAC;YACH,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;gBAC/C,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,kBAAkB;gBAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;gBACtD,SAAS;YACX,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,4BAA4B,IAAI,WAAW,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACnE,CAAC;aAAM,IACL,GAAG,CAAC,MAAM;YACV,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAClE,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjD,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,cAAc,CAAC;gBAC5B,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,cAAc,IAAI,QAAQ;gBAClD,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;gBACnD,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI;aACzB,CAAC,CAAC;YACH,IAAI,IAAI,GAAkB,IAAI,CAAC;YAC/B,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAChD,IAAI,GAAG,mBAAmB,CACxB,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EACxD,MAAM,CACP,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,GAAG,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,MAAM,GAAG,GAAG,wBAAwB,CAClC,GAAG,CAAC,MAAM,EACV;gBACE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,cAAc,IAAI,QAAQ;gBAClD,IAAI,EAAE,IAAI,EAAE,IAAI;gBAChB,IAAI,EAAE,IAAI,EAAE,IAAI;gBAChB,KAAK,EAAE,IAAI,EAAE,KAAK;gBAClB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW;gBACnD,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO;aAC5C,EACD,IAAI,EACJ,EAAE,UAAU,EAAE,IAAI,EAAE,CACrB,CAAC;YACF,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;gBAC/C,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,kBAAkB;gBAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;gBACtD,SAAS;YACX,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,6BAA6B,IAAI,WAAW,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjD,MAAM,KAAK,GAAG;gBACZ,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC,cAAc,IAAI,QAAQ;gBAClD,IAAI,EAAE,IAAI,EAAE,IAAI;gBAChB,IAAI,EAAE,IAAI,EAAE,IAAI;gBAChB,KAAK,EAAE,IAAI,EAAE,KAAK;gBAClB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW;gBACnD,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO;aAC5C,CAAC;YACF,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC;YACtC,MAAM,GAAG,GAAG,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAClD,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;gBAC/C,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,kBAAkB;gBAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;gBACtD,SAAS;YACX,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,kBAAkB,IAAI,WAAW,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClE,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC;YACzB,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAwB;IAC5D,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7B,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACvB,gBAAgB,CACd,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,WAAW,EACf,IAAI,GAAG,EAAE,EACT,kBAAkB,CAAC,GAAG,CAAC,EACvB,GAAG,CAAC,KAAK,CAAC,QAAQ,CACnB,CAAC;IACF,OAAO;QACL,SAAS,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS;QACpC,SAAS,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS;QACpC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI;KACtB,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,GAAwB;IACvE,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,cAAc,EAAE,CAAC;IACvB,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,cAAc,EAAE,CAAC;IACvB,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,cAAc,EAAE,CAAC;IACvB,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,cAAc,EAAE,CAAC;IACvB,MAAM,qBAAqB,CACzB,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,WAAW,EACf,IAAI,GAAG,EAAE,EACT,kBAAkB,CAAC,GAAG,CAAC,EACvB,GAAG,CAAC,KAAK,CAAC,QAAQ,CACnB,CAAC;IACF,OAAO;QACL,SAAS,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS;QACpC,SAAS,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS;QACpC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI;KACtB,CAAC;AACJ,CAAC"}
@@ -5,9 +5,9 @@ export interface PeerBacklogRow extends PeerRow {
5
5
  backlogAt: string;
6
6
  holdReason: string;
7
7
  }
8
- /** Lightweight mail deliver even when busy; agent ACKs in shell, hub stays rank-1. */
8
+ /** Lightweight mail class (FYI/ACK). Still backlogged while busy do not steer-paste. */
9
9
  export declare function isAckClassPeer(msg: string): boolean;
10
- /** Active HUB beats coordination mail park unless ACK-class or explicit override. */
10
+ /** Park inbound while the pane is busy/typing. Only PRIORITY / STOP other work pastes. */
11
11
  export declare function shouldBacklogPeerHold(reason: string, msg: string): boolean;
12
12
  export declare function peerBacklogPath(store: QueueStore): string;
13
13
  /** Re-queue oldest backlog row per idle pane (one promote per pane per tick). */
@@ -1 +1 @@
1
- {"version":3,"file":"peer-backlog.d.ts","sourceRoot":"","sources":["../src/peer-backlog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGnE,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,wFAAwF;AACxF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGnD;AAED,uFAAuF;AACvF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAM1E;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEzD;AA6CD,iFAAiF;AACjF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,gBAAgB,EAC1B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC1B,MAAM,CA6CR;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC1B,IAAI,CAsBN;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAE1D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,EAAE,CAE5D"}
1
+ {"version":3,"file":"peer-backlog.d.ts","sourceRoot":"","sources":["../src/peer-backlog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGnE,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGnD;AAED,0FAA0F;AAC1F,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAO1E;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEzD;AA6CD,iFAAiF;AACjF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,gBAAgB,EAC1B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC1B,MAAM,CA6CR;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC1B,IAAI,CAsBN;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAE1D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,EAAE,CAE5D"}
@@ -2,19 +2,21 @@ import fs from "node:fs";
2
2
  import { capturePaneSnapshot, tmux } from "@seat-mesh/tmux";
3
3
  import { isPeerDelivered } from "./create-queue-store.js";
4
4
  const BUSY_HOLD = /^held:(busy|typing)/;
5
- /** Lightweight mail deliver even when busy; agent ACKs in shell, hub stays rank-1. */
5
+ /** Lightweight mail class (FYI/ACK). Still backlogged while busy do not steer-paste. */
6
6
  export function isAckClassPeer(msg) {
7
7
  const body = msg.replace(/^\[[^\]]+\]\s*/, "").trim();
8
8
  return /^(ACK|FYI|STAND-?BY|MCP-?SYNCED|CHECKBACK\?)\b/i.test(body);
9
9
  }
10
- /** Active HUB beats coordination mail park unless ACK-class or explicit override. */
10
+ /** Park inbound while the pane is busy/typing. Only PRIORITY / STOP other work pastes. */
11
11
  export function shouldBacklogPeerHold(reason, msg) {
12
- if (isAckClassPeer(msg))
13
- return false;
14
12
  if (/\bPRIORITY\b|\bSTOP other work\b/i.test(msg))
15
13
  return false;
16
14
  if (BUSY_HOLD.test(reason))
17
15
  return true;
16
+ if (/^held:cotyped:/.test(reason))
17
+ return true;
18
+ if (/^held:coord:(wait-busy|wait-typing)/.test(reason))
19
+ return true;
18
20
  if (/^held:coord:/.test(reason))
19
21
  return false;
20
22
  return false;