@telora/daemon 0.24.36 → 0.24.39

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 (121) hide show
  1. package/build-info.json +2 -2
  2. package/dist/backends/index.js +1 -1
  3. package/dist/completion/completion-event/detector.d.ts.map +1 -1
  4. package/dist/completion/completion-event/detector.js +1 -0
  5. package/dist/completion/completion-event/detector.js.map +1 -1
  6. package/dist/completion/completion-event/event.d.ts +7 -0
  7. package/dist/completion/completion-event/event.d.ts.map +1 -1
  8. package/dist/completion/completion-event/event.js +1 -0
  9. package/dist/completion/completion-event/event.js.map +1 -1
  10. package/dist/completion/team-outcome/apply-turn.d.ts.map +1 -1
  11. package/dist/completion/team-outcome/apply-turn.js +11 -6
  12. package/dist/completion/team-outcome/apply-turn.js.map +1 -1
  13. package/dist/completion/team-outcome/decide-turn-entry-rows.js +1 -1
  14. package/dist/completion/team-outcome/decide-turn-entry-rows.js.map +1 -1
  15. package/dist/completion/team-outcome/exit-pipeline-state.d.ts +6 -0
  16. package/dist/completion/team-outcome/exit-pipeline-state.d.ts.map +1 -1
  17. package/dist/completion/team-outcome/exit-pipeline-state.js.map +1 -1
  18. package/dist/completion/team-outcome/work-facts.d.ts +8 -1
  19. package/dist/completion/team-outcome/work-facts.d.ts.map +1 -1
  20. package/dist/completion/team-outcome/work-facts.js +10 -5
  21. package/dist/completion/team-outcome/work-facts.js.map +1 -1
  22. package/dist/completion/team-progress/team-progress-measure.d.ts.map +1 -1
  23. package/dist/completion/team-progress/team-progress-measure.js +1 -0
  24. package/dist/completion/team-progress/team-progress-measure.js.map +1 -1
  25. package/dist/composition/completion-event-context.d.ts.map +1 -1
  26. package/dist/composition/completion-event-context.js +3 -0
  27. package/dist/composition/completion-event-context.js.map +1 -1
  28. package/dist/composition/execution-spawn-context.d.ts.map +1 -1
  29. package/dist/composition/execution-spawn-context.js +4 -0
  30. package/dist/composition/execution-spawn-context.js.map +1 -1
  31. package/dist/composition/execution-spawn-process-context.js +1 -1
  32. package/dist/composition/execution-spawn-process-context.js.map +1 -1
  33. package/dist/composition/focus-activity-live-sources.d.ts.map +1 -1
  34. package/dist/composition/focus-activity-live-sources.js +1 -0
  35. package/dist/composition/focus-activity-live-sources.js.map +1 -1
  36. package/dist/composition/runtime-delivery-advance-context.js +1 -1
  37. package/dist/composition/runtime-delivery-advance-context.js.map +1 -1
  38. package/dist/composition/runtime-heartbeat-context.d.ts +11 -0
  39. package/dist/composition/runtime-heartbeat-context.d.ts.map +1 -1
  40. package/dist/composition/runtime-heartbeat-context.js +20 -2
  41. package/dist/composition/runtime-heartbeat-context.js.map +1 -1
  42. package/dist/composition/runtime-spawn-pass-context.d.ts.map +1 -1
  43. package/dist/composition/runtime-spawn-pass-context.js +5 -2
  44. package/dist/composition/runtime-spawn-pass-context.js.map +1 -1
  45. package/dist/composition/team-liveness-phase-sources.d.ts.map +1 -1
  46. package/dist/composition/team-liveness-phase-sources.js +1 -0
  47. package/dist/composition/team-liveness-phase-sources.js.map +1 -1
  48. package/dist/daemon-state/focus-team-state.js +1 -1
  49. package/dist/delivery/operator-hold.d.ts.map +1 -1
  50. package/dist/delivery/operator-hold.js +5 -3
  51. package/dist/delivery/operator-hold.js.map +1 -1
  52. package/dist/focus/heartbeat-metadata.d.ts +3 -0
  53. package/dist/focus/heartbeat-metadata.d.ts.map +1 -1
  54. package/dist/focus/heartbeat-metadata.js +5 -0
  55. package/dist/focus/heartbeat-metadata.js.map +1 -1
  56. package/dist/focus/heartbeat.d.ts.map +1 -1
  57. package/dist/focus/heartbeat.js +2 -1
  58. package/dist/focus/heartbeat.js.map +1 -1
  59. package/dist/focus/host-cpu.d.ts +87 -0
  60. package/dist/focus/host-cpu.d.ts.map +1 -0
  61. package/dist/focus/host-cpu.js +118 -0
  62. package/dist/focus/host-cpu.js.map +1 -0
  63. package/dist/focus/ready-focus-team-work.d.ts +11 -0
  64. package/dist/focus/ready-focus-team-work.d.ts.map +1 -1
  65. package/dist/focus/ready-focus-team-work.js +8 -1
  66. package/dist/focus/ready-focus-team-work.js.map +1 -1
  67. package/dist/prompt/focus-prompt-builder.d.ts +7 -1
  68. package/dist/prompt/focus-prompt-builder.d.ts.map +1 -1
  69. package/dist/prompt/focus-prompt-builder.js +36 -11
  70. package/dist/prompt/focus-prompt-builder.js.map +1 -1
  71. package/dist/prompt-sections/session-constraints-section.d.ts.map +1 -1
  72. package/dist/prompt-sections/session-constraints-section.js +12 -2
  73. package/dist/prompt-sections/session-constraints-section.js.map +1 -1
  74. package/dist/queries/api-client/shared.js +1 -1
  75. package/dist/queries/sessions/daemon-connection.d.ts.map +1 -1
  76. package/dist/queries/sessions/daemon-connection.js +1 -0
  77. package/dist/queries/sessions/daemon-connection.js.map +1 -1
  78. package/dist/spawn/helpers.d.ts.map +1 -1
  79. package/dist/spawn/helpers.js +1 -0
  80. package/dist/spawn/helpers.js.map +1 -1
  81. package/dist/spawn/idle-work-stamp.d.ts +8 -0
  82. package/dist/spawn/idle-work-stamp.d.ts.map +1 -1
  83. package/dist/spawn/idle-work-stamp.js +2 -1
  84. package/dist/spawn/idle-work-stamp.js.map +1 -1
  85. package/dist/spawn/lead-continuation.d.ts +8 -0
  86. package/dist/spawn/lead-continuation.d.ts.map +1 -1
  87. package/dist/spawn/lead-continuation.js +14 -5
  88. package/dist/spawn/lead-continuation.js.map +1 -1
  89. package/dist/supervision/holds.d.ts +78 -15
  90. package/dist/supervision/holds.d.ts.map +1 -1
  91. package/dist/supervision/holds.js +167 -87
  92. package/dist/supervision/holds.js.map +1 -1
  93. package/dist/supervision/operator-held-work.d.ts +48 -0
  94. package/dist/supervision/operator-held-work.d.ts.map +1 -0
  95. package/dist/supervision/operator-held-work.js +33 -0
  96. package/dist/supervision/operator-held-work.js.map +1 -0
  97. package/dist/supervision/stop-rows-delivery.d.ts.map +1 -1
  98. package/dist/supervision/stop-rows-delivery.js +3 -1
  99. package/dist/supervision/stop-rows-delivery.js.map +1 -1
  100. package/dist/supervision/team-work.d.ts +32 -1
  101. package/dist/supervision/team-work.d.ts.map +1 -1
  102. package/dist/supervision/team-work.js +44 -4
  103. package/dist/supervision/team-work.js.map +1 -1
  104. package/dist/templates/agents-md.d.ts.map +1 -1
  105. package/dist/templates/agents-md.js +1 -0
  106. package/dist/templates/agents-md.js.map +1 -1
  107. package/dist/templates/claude-md.d.ts +1 -1
  108. package/dist/templates/claude-md.d.ts.map +1 -1
  109. package/dist/templates/claude-md.js +11 -1
  110. package/dist/templates/claude-md.js.map +1 -1
  111. package/dist/testing/fixtures/api-client.js +1 -1
  112. package/dist/testing/fixtures/completion-event-deps.d.ts.map +1 -1
  113. package/dist/testing/fixtures/completion-event-deps.js +4 -1
  114. package/dist/testing/fixtures/completion-event-deps.js.map +1 -1
  115. package/dist/testing/fixtures/index.js +1 -1
  116. package/dist/types/index.js +1 -1
  117. package/dist/worktree/verify-hold-facts.d.ts +3 -1
  118. package/dist/worktree/verify-hold-facts.d.ts.map +1 -1
  119. package/dist/worktree/verify-hold-facts.js +1 -0
  120. package/dist/worktree/verify-hold-facts.js.map +1 -1
  121. package/package.json +2 -2
@@ -2,11 +2,13 @@
2
2
  // Pinned by: packages/daemon/src/composition/review-holds-context.test.ts,
3
3
  // packages/daemon/src/focus/spawn-focus-team-guard-wiring.test.ts,
4
4
  // packages/daemon/src/integration/failed-verdict-ruling-rejudge-regression.test.ts,
5
+ // packages/daemon/src/integration/operator-held-work-wakes-no-lead-regression.test.ts,
5
6
  // packages/daemon/src/integration/refused-citations-outlive-observation-closure.test.ts,
6
7
  // packages/daemon/src/queries/escalations/spawn-team-failure-guard.test.ts,
7
8
  // packages/daemon/src/supervision/has-open-operator-hold-for-delivery.test.ts,
8
9
  // packages/daemon/src/supervision/incident-correlation.test.ts,
9
- // packages/daemon/src/supervision/no-directed-hold-producer.test.ts
10
+ // packages/daemon/src/supervision/no-directed-hold-producer.test.ts,
11
+ // packages/daemon/src/supervision/operator-held-work.test.ts
10
12
  // PINNED-BY-END
11
13
  /**
12
14
  * Delivery hold-lookup queries.
@@ -237,6 +239,135 @@ export function isMachineStopObservation(row) {
237
239
  export function rowHoldsRespawn(row) {
238
240
  return !(row.disposition === DISPOSITION_AGENT_RESOLVABLE && !isMachineStopObservation(row));
239
241
  }
242
+ /**
243
+ * The escalation kinds the operator-hold predicate drops, for a direct match and
244
+ * an observation match alike: a self-referential stall alarm
245
+ * (SELF_REPORT_STALL_HOLD_KINDS) and a refused kind that names no human act
246
+ * (REFUSED_OPERATOR_HOLD_KINDS). ONE set, read by the verify->done gate
247
+ * (findOpenOperatorHoldForDelivery) and the wake predicate's reader
248
+ * (listOpenOperatorHolds) through classifyOperatorHoldRow, so the two cannot
249
+ * disagree about which open row holds.
250
+ */
251
+ export const OPERATOR_HOLD_EXCLUDED_KINDS = new Set([
252
+ ...SELF_REPORT_STALL_HOLD_KINDS,
253
+ ...REFUSED_OPERATOR_HOLD_KINDS,
254
+ ]);
255
+ function stringOrNull(value) {
256
+ return typeof value === 'string' && value !== '' ? value : null;
257
+ }
258
+ /**
259
+ * Pure: THE per-row operator-hold decision -- whether an escalation row holds a
260
+ * delivery, and which. Anchored on the typed delivery_id COLUMN with a
261
+ * metadata.deliveryId fallback (rows open at deploy time); the disposition and
262
+ * kind read the same way (metadata.disposition, metadata.kind). The status is
263
+ * re-checked here as defense-in-depth against a deploy-lagged edge fn returning
264
+ * resolved rows.
265
+ *
266
+ * The row's own condition first, then each condition correlated onto it as a
267
+ * symptom (supervision/incident-correlation.ts): an attached observation keeps
268
+ * the hold it proposed even when the row that absorbed it holds nothing itself.
269
+ * An observation proposing a hold disposition is the same uncleared condition,
270
+ * routed to the machine lane (see the module header). The exclusions bind an
271
+ * observation of an excluded kind exactly as they bind a direct filing, so the
272
+ * self-report fixpoint cannot return through the machine lane (or a symptom).
273
+ * The decision is the registry's operator_hold_escalation row.
274
+ *
275
+ * Returns null when the row holds nothing.
276
+ */
277
+ export function classifyOperatorHoldRow(row, excludeKinds = OPERATOR_HOLD_EXCLUDED_KINDS) {
278
+ const meta = row.metadata ?? null;
279
+ const deliveryId = stringOrNull(row.deliveryId) ?? stringOrNull(meta?.deliveryId);
280
+ const rowOpen = !(row.status && !OPEN_ESCALATION_STATUSES.has(row.status));
281
+ if (!rowOpen || deliveryId === null)
282
+ return null;
283
+ const disposition = stringOrNull(row.disposition) ?? stringOrNull(meta?.disposition);
284
+ const kind = stringOrNull(row.escalationKind) ?? stringOrNull(meta?.kind);
285
+ const conditions = [
286
+ { kind, reportedKind: row.escalationKind ?? null, proposed: readObservation(meta)?.proposed_disposition ?? null },
287
+ ...readSymptoms(meta).map((s) => ({ kind: s.escalation_kind, reportedKind: s.escalation_kind, proposed: s.proposed_disposition ?? null })),
288
+ ];
289
+ const verdict = evaluateStop('operator_hold_escalation', {
290
+ rowOpen,
291
+ anchoredToDelivery: true,
292
+ disposition,
293
+ conditions: conditions.map((c) => ({ kind: c.kind, proposedDisposition: c.proposed })),
294
+ holdDispositions: OPERATOR_HOLD_DISPOSITIONS,
295
+ excludedKinds: [...excludeKinds],
296
+ });
297
+ const held = verdict === null ? undefined : conditions[verdict.conditionIndex];
298
+ if (!verdict || !held)
299
+ return null;
300
+ return {
301
+ escalation: {
302
+ id: row.id,
303
+ escalationKind: held.reportedKind,
304
+ disposition: disposition ?? DISPOSITION_AGENT_RESOLVABLE,
305
+ ...(!verdict.direct && held.proposed !== null ? { proposedDisposition: held.proposed } : {}),
306
+ },
307
+ deliveryId,
308
+ issueId: stringOrNull(row.issueId),
309
+ };
310
+ }
311
+ /** escalation_list's page cap (product-api handlers/operations.ts applyPagination maxLimit). */
312
+ export const ESCALATION_PAGE_LIMIT = 500;
313
+ /** The most pages one read takes before it refuses to answer (20,000 open rows). */
314
+ const ESCALATION_MAX_PAGES = 40;
315
+ /** Whole reads attempted when the open set moves while it is paged. */
316
+ const ESCALATION_READ_ATTEMPTS = 3;
317
+ /**
318
+ * Read EVERY open (pending|in_review) escalation of the org, page by page.
319
+ * Not narrowed by focus: createEscalation does not derive focus_id from
320
+ * delivery_id, so a delivery-anchored filing need not carry one, and a focus
321
+ * filter would hide it from the gate that reads this.
322
+ *
323
+ * COMPLETE OR THROWS -- never a silent first page. escalation_list orders newest
324
+ * first and caps a page at {@link ESCALATION_PAGE_LIMIT}; the read follows
325
+ * totalCount until every row is in hand. If totalCount changes between pages the
326
+ * open set moved under the offsets (a row closing shifts the rows after it up a
327
+ * page, so one could be skipped): the whole read is retried, and a set that
328
+ * keeps moving, or one beyond {@link ESCALATION_MAX_PAGES}, THROWS. (An
329
+ * unchanged count is safe: new rows enter at the top of a newest-first order, so
330
+ * an equal count means no net shift at any page boundary.) Each caller chooses
331
+ * which way a throw decides: the done gate fails closed, the wake fails open.
332
+ */
333
+ async function listOpenEscalationRows(opts) {
334
+ let lastError = null;
335
+ for (let attempt = 0; attempt < ESCALATION_READ_ATTEMPTS; attempt++) {
336
+ try {
337
+ return await readEveryOpenEscalationPage(opts);
338
+ }
339
+ catch (err) {
340
+ if (!(err instanceof OpenEscalationsMovedError))
341
+ throw err;
342
+ lastError = err;
343
+ }
344
+ }
345
+ throw lastError ?? new Error('open escalations unreadable');
346
+ }
347
+ /** The open escalation set changed while it was paged. */
348
+ class OpenEscalationsMovedError extends Error {
349
+ }
350
+ async function readEveryOpenEscalationPage(opts) {
351
+ const fields = { statuses: ['pending', 'in_review'] };
352
+ const rows = new Map();
353
+ let total = null;
354
+ for (let page = 0; page < ESCALATION_MAX_PAGES; page++) {
355
+ const result = await callApi('escalation_list', { fields, limit: ESCALATION_PAGE_LIMIT, offset: page * ESCALATION_PAGE_LIMIT, ...(opts.full ? { detail: 'full' } : {}) });
356
+ const batch = result.escalations ?? [];
357
+ const count = typeof result.totalCount === 'number' ? result.totalCount : null;
358
+ if (total === null)
359
+ total = count;
360
+ else if (count !== null && count !== total) {
361
+ throw new OpenEscalationsMovedError(`open escalations changed while paged (${total} -> ${count})`);
362
+ }
363
+ for (const row of batch)
364
+ rows.set(row.id, row);
365
+ const read = (page + 1) * ESCALATION_PAGE_LIMIT;
366
+ if (batch.length < ESCALATION_PAGE_LIMIT || (total !== null && read >= total))
367
+ return [...rows.values()];
368
+ }
369
+ throw new Error(`more than ${ESCALATION_MAX_PAGES * ESCALATION_PAGE_LIMIT} open escalations: refusing to answer from a partial read`);
370
+ }
240
371
  /**
241
372
  * Returns the OPEN (pending|in_review) operator-hold escalation anchored to the
242
373
  * given delivery, or null when none is open.
@@ -244,21 +375,16 @@ export function rowHoldsRespawn(row) {
244
375
  * DISPOSITION-keyed sibling of hasOpenEscalationForDelivery (which is KIND-keyed):
245
376
  * it matches ANY escalation_kind whose disposition is in OPERATOR_HOLD_DISPOSITIONS
246
377
  * (needs_operator / external_wait), or that is an observation proposing one (see
247
- * the module header). This is the vocabulary the verify->done gate
248
- * previously lacked -- an operator blocked ON a delivery (e.g. "the host restore
249
- * was NOT executed") could not hold that delivery out of done, so a clean review
250
- * auto-approved it. Returning the matching row (id + kind + disposition), not a
251
- * bare boolean, lets the gate write the block into the delivery's gate_state.
252
- *
253
- * Matches on the typed delivery_id + disposition COLUMNS in preference to the
254
- * metadata bag, with a metadata fallback (metadata.deliveryId / metadata.disposition)
255
- * for rows already open at deploy time. The status is re-checked client-side as
256
- * defense-in-depth against a deploy-lagged edge fn returning resolved rows.
378
+ * the module header), minus OPERATOR_HOLD_EXCLUDED_KINDS. The per-row decision is
379
+ * classifyOperatorHoldRow -- the same one the wake predicate's reader applies
380
+ * (listOpenOperatorHolds). Returning the matching row (id + kind + disposition),
381
+ * not a bare boolean, lets the gate write the block into the delivery's gate_state.
257
382
  *
258
383
  * escalation_list has NO server-side delivery_id filter, so the delivery match is
259
- * applied client-side over the org's open rows. Pass `focusId` to narrow the page
260
- * server-side (the same busy-org paging concern hasOpenWorktreeDirtyEscalation
261
- * addresses); omit it and the lookup reads the newest 500 open org rows.
384
+ * applied client-side over EVERY open row of the org (listOpenEscalationRows pages
385
+ * them all). Deliberately not narrowed by focus: a delivery-anchored filing need
386
+ * not carry a focus_id, and the wake reader (listOpenOperatorHolds) must see the
387
+ * same rows, so the two gates cannot disagree about one escalation.
262
388
  *
263
389
  * FAIL-CLOSED is the CALLER's responsibility. This function reports what it finds
264
390
  * and THROWS on a hard API error. The verify->done gate that consumes it exists
@@ -267,88 +393,42 @@ export function rowHoldsRespawn(row) {
267
393
  * because a spurious park is worse than a missed dedup. Here a missed hold lets an
268
394
  * operator-blocked delivery reach done, which is the failure this gate prevents.
269
395
  */
270
- export async function findOpenOperatorHoldForDelivery(deliveryId, focusId) {
271
- return findOpenHoldForDelivery(deliveryId, OPERATOR_HOLD_DISPOSITIONS, focusId,
272
- // Two exclusions: (1) a machine-filed alarm ABOUT this delivery's own cycling
273
- // must not satisfy the predicate that holds it (SELF_REPORT_STALL_HOLD_KINDS);
274
- // (2) a kind that names no human-only act must not hold at all -- a legacy row
275
- // is dropped and the delivery clears itself via re-work (REFUSED_OPERATOR_HOLD_KINDS).
276
- new Set([...SELF_REPORT_STALL_HOLD_KINDS, ...REFUSED_OPERATOR_HOLD_KINDS]));
396
+ export async function findOpenOperatorHoldForDelivery(deliveryId) {
397
+ for (const row of await listOpenEscalationRows({})) {
398
+ const record = classifyOperatorHoldRow(row);
399
+ if (record !== null && record.deliveryId === deliveryId)
400
+ return record.escalation;
401
+ }
402
+ return null;
277
403
  }
278
404
  /**
279
405
  * Boolean convenience over findOpenOperatorHoldForDelivery for call sites that
280
406
  * only need to know whether the hold exists (not which escalation it is).
281
407
  */
282
- export async function hasOpenOperatorHoldForDelivery(deliveryId, focusId) {
283
- return (await findOpenOperatorHoldForDelivery(deliveryId, focusId)) !== null;
408
+ export async function hasOpenOperatorHoldForDelivery(deliveryId) {
409
+ return (await findOpenOperatorHoldForDelivery(deliveryId)) !== null;
284
410
  }
285
411
  /**
286
- * Shared body for the disposition-keyed open-hold lookups
287
- * (findOpenOperatorHoldForDelivery). Reads the
288
- * newest 500 open (pending|in_review) escalations -- narrowed server-side by
289
- * focusId when supplied, the same busy-org paging concern the sibling lookups
290
- * address -- and returns the first whose delivery matches (typed delivery_id
291
- * COLUMN preferred, metadata.deliveryId fallback for rows open at deploy time)
292
- * AND whose disposition (typed column preferred, metadata fallback) is in the
293
- * given set -- or, when it is not, whose metadata.observation proposed a
294
- * disposition in the set (an observation hold; the result then carries
295
- * proposedDisposition). Status is re-checked client-side as defense-in-depth against a
296
- * deploy-lagged edge fn returning resolved rows. THROWS on a hard API error;
297
- * fail-open/closed is the CALLER's choice.
412
+ * Every OPEN operator hold in the org, with the delivery each is anchored to and
413
+ * the issue it names -- the wake predicate's read
414
+ * (supervision/operator-held-work.ts). The same rows and the same per-row
415
+ * decision as the verify->done gate (classifyOperatorHoldRow), read at detail
416
+ * 'full' because transformEscalation emits issueId only there.
417
+ *
418
+ * The same complete, un-narrowed read as the done gate (listOpenEscalationRows:
419
+ * every page, no focus filter -- a delivery-anchored filing need not carry a
420
+ * focus_id). The caller matches the records against its own deliveries.
298
421
  *
299
- * `excludeKinds` (optional) drops any otherwise-matching escalation whose
300
- * escalation_kind is in the set BEFORE it is returned -- used by the operator-hold
301
- * lookup to skip self-referential stall alarms (SELF_REPORT_STALL_HOLD_KINDS) so an
302
- * alarm about a delivery's own cycling cannot hold that delivery. The kind is read
303
- * from the typed column with a metadata.kind fallback (parity with the disposition
304
- * fallback), so an excluded kind is dropped regardless of column promotion.
422
+ * THROWS on a hard API error; which way a failed read decides is the CALLER's
423
+ * choice (the wake reader fails OPEN: nothing held).
305
424
  */
306
- async function findOpenHoldForDelivery(deliveryId, dispositions, focusId, excludeKinds) {
307
- const fields = { statuses: ['pending', 'in_review'] };
308
- if (focusId)
309
- fields.focusId = focusId;
310
- const result = await callApi('escalation_list', { fields, limit: 500 });
311
- for (const e of result.escalations ?? []) {
312
- const meta = e.metadata ?? null;
313
- const rowOpen = !(e.status && !OPEN_ESCALATION_STATUSES.has(e.status));
314
- const anchoredToDelivery = e.deliveryId === deliveryId || meta?.deliveryId === deliveryId;
315
- const disposition = (typeof e.disposition === 'string' ? e.disposition : null) ??
316
- (typeof meta?.disposition === 'string' ? meta.disposition : null);
317
- const kind = (typeof e.escalationKind === 'string' ? e.escalationKind : null) ??
318
- (typeof meta?.kind === 'string' ? meta.kind : null);
319
- // The row's own condition first, then each condition correlated onto it as a
320
- // symptom (supervision/incident-correlation.ts): an attached observation keeps the
321
- // hold it proposed even when the row that absorbed it holds nothing itself.
322
- const conditions = rowOpen && anchoredToDelivery
323
- ? [
324
- { kind, reportedKind: e.escalationKind ?? null, proposed: readObservation(meta)?.proposed_disposition ?? null },
325
- ...readSymptoms(meta).map((s) => ({ kind: s.escalation_kind, reportedKind: s.escalation_kind, proposed: s.proposed_disposition ?? null })),
326
- ]
327
- : [];
328
- // An observation proposing a hold disposition is the same uncleared condition,
329
- // routed to the machine lane (see the module header). A self-referential stall
330
- // alarm about this delivery must not hold it -- and the exclusions bind an
331
- // observation of an excluded kind exactly as they bind a direct filing, so the
332
- // fixpoint cannot return through the machine lane (or through a symptom). The
333
- // decision is the registry's operator_hold_escalation row.
334
- const verdict = evaluateStop('operator_hold_escalation', {
335
- rowOpen,
336
- anchoredToDelivery,
337
- disposition,
338
- conditions: conditions.map((c) => ({ kind: c.kind, proposedDisposition: c.proposed })),
339
- holdDispositions: dispositions,
340
- excludedKinds: excludeKinds ? [...excludeKinds] : [],
341
- });
342
- const held = verdict === null ? undefined : conditions[verdict.conditionIndex];
343
- if (!verdict || !held)
344
- continue;
345
- return {
346
- id: e.id,
347
- escalationKind: held.reportedKind,
348
- disposition: disposition ?? DISPOSITION_AGENT_RESOLVABLE,
349
- ...(!verdict.direct && held.proposed !== null ? { proposedDisposition: held.proposed } : {}),
350
- };
425
+ export async function listOpenOperatorHolds() {
426
+ const records = [];
427
+ for (const row of await listOpenEscalationRows({ full: true })) {
428
+ const record = classifyOperatorHoldRow(row);
429
+ if (record !== null)
430
+ records.push(record);
351
431
  }
352
- return null;
432
+ return records;
353
433
  }
354
434
  //# sourceMappingURL=holds.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"holds.js","sourceRoot":"","sources":["../../src/supervision/holds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"holds.js","sourceRoot":"","sources":["../../src/supervision/holds.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Operator-held work: the read behind "which open work issues wait on a human
3
+ * act?" -- the open operator holds the wake predicate (supervision/team-work.ts
4
+ * TeamWorkOptions.operatorHolds) leaves out of team work.
5
+ *
6
+ * The rows and the per-row decision are the verify->done gate's own
7
+ * (supervision/holds.ts classifyOperatorHoldRow, through listOpenOperatorHolds):
8
+ * an open needs_operator / external_wait escalation, or an observation
9
+ * proposing one, anchored to a delivery, minus OPERATOR_HOLD_EXCLUDED_KINDS. So
10
+ * a delivery the done gate holds for an operator escalation and the work the
11
+ * wake parks are decided from ONE reader.
12
+ *
13
+ * Read ONCE per pass by the caller (continuation turn, lead-turn exit, ready
14
+ * focus spawn gate), never per delivery.
15
+ *
16
+ * A FAILED READ FAILS OPEN: nothing is held, every open work issue counts
17
+ * ({@link readOperatorHolds}). The opposite direction of the done gate
18
+ * (delivery/operator-hold.ts resolveOperatorHold, which fails CLOSED), and for
19
+ * the same reason inverted: there a missed hold lets operator-blocked work
20
+ * reach done; here a missed hold costs one wasted wake, while a spurious one
21
+ * would park a team on work it could do.
22
+ *
23
+ * @module supervision/operator-held-work
24
+ */
25
+ import type { OperatorHeldWork } from './team-work.js';
26
+ /**
27
+ * Read the open operator holds that may bear on a focus. THROWS on a failed
28
+ * read; callers go through {@link readOperatorHolds}, which fails open. The
29
+ * records are matched against the focus's own deliveries by the team-work
30
+ * predicate, so a hold on another focus's delivery parks nothing.
31
+ */
32
+ export type OperatorHoldReader = (focusId: string) => Promise<readonly OperatorHeldWork[]>;
33
+ /** Nothing held: every open work issue counts. */
34
+ export declare const NO_OPERATOR_HOLDS: readonly OperatorHeldWork[];
35
+ /**
36
+ * Bind the reader over an org-wide open-hold list -- in production
37
+ * supervision/holds.ts listOpenOperatorHolds (the org's open rows at detail
38
+ * 'full', not narrowed by focus: a delivery-anchored filing need not carry a
39
+ * focus_id), bound at the composition root.
40
+ */
41
+ export declare function makeOperatorHoldReader(list: () => Promise<readonly OperatorHeldWork[]>): OperatorHoldReader;
42
+ /**
43
+ * Read a focus's operator holds for a wake / exit / spawn decision, FAILING
44
+ * OPEN: a read that throws is logged and yields {@link NO_OPERATOR_HOLDS}, so
45
+ * the work stays counted.
46
+ */
47
+ export declare function readOperatorHolds(reader: OperatorHoldReader, focusId: string): Promise<readonly OperatorHeldWork[]>;
48
+ //# sourceMappingURL=operator-held-work.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operator-held-work.d.ts","sourceRoot":"","sources":["../../src/supervision/operator-held-work.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAKvD;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAAC;AAE3F,kDAAkD;AAClD,eAAO,MAAM,iBAAiB,EAAE,SAAS,gBAAgB,EAAO,CAAC;AAEjE;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,GAC/C,kBAAkB,CAEpB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAUtC"}
@@ -0,0 +1,33 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/integration/operator-held-work-wakes-no-lead-regression.test.ts,
3
+ // packages/daemon/src/supervision/operator-held-work.test.ts
4
+ // PINNED-BY-END
5
+ import { createLogger } from '../log/daemon-log.js';
6
+ const log = createLogger({ module: 'operator-held-work' });
7
+ /** Nothing held: every open work issue counts. */
8
+ export const NO_OPERATOR_HOLDS = [];
9
+ /**
10
+ * Bind the reader over an org-wide open-hold list -- in production
11
+ * supervision/holds.ts listOpenOperatorHolds (the org's open rows at detail
12
+ * 'full', not narrowed by focus: a delivery-anchored filing need not carry a
13
+ * focus_id), bound at the composition root.
14
+ */
15
+ export function makeOperatorHoldReader(list) {
16
+ return async () => list();
17
+ }
18
+ /**
19
+ * Read a focus's operator holds for a wake / exit / spawn decision, FAILING
20
+ * OPEN: a read that throws is logged and yields {@link NO_OPERATOR_HOLDS}, so
21
+ * the work stays counted.
22
+ */
23
+ export async function readOperatorHolds(reader, focusId) {
24
+ try {
25
+ return await reader(focusId);
26
+ }
27
+ catch (err) {
28
+ log.warn(`[operator-held-work] open operator holds unreadable for focus ${focusId} -- nothing is held ` +
29
+ `this pass, every open work issue counts: ${err?.message ?? String(err)}`);
30
+ return NO_OPERATOR_HOLDS;
31
+ }
32
+ }
33
+ //# sourceMappingURL=operator-held-work.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operator-held-work.js","sourceRoot":"","sources":["../../src/supervision/operator-held-work.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,kGAAkG;AAClG,+DAA+D;AAC/D,gBAAgB;AA4BhB,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAU3D,kDAAkD;AAClD,MAAM,CAAC,MAAM,iBAAiB,GAAgC,EAAE,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAgD;IAEhD,OAAO,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAA0B,EAC1B,OAAe;IAEf,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CACN,iEAAiE,OAAO,sBAAsB;YAC9F,4CAA6C,GAAa,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CACrF,CAAC;QACF,OAAO,iBAAiB,CAAC;IAC3B,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stop-rows-delivery.d.ts","sourceRoot":"","sources":["../../src/supervision/stop-rows-delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stop-rows-delivery.d.ts","sourceRoot":"","sources":["../../src/supervision/stop-rows-delivery.ts"],"names":[],"mappings":"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"}
@@ -65,7 +65,9 @@ const OPERATOR_HOLD_ROWS = {
65
65
  'metadata.observation.proposed_disposition and metadata.symptoms',
66
66
  'OPERATOR_HOLD_DISPOSITIONS, SELF_REPORT_STALL_HOLD_KINDS, REFUSED_OPERATOR_HOLD_KINDS',
67
67
  ],
68
- effect: 'findOpenOperatorHoldForDelivery returns the row, so operator_hold holds the delivery.',
68
+ effect: 'findOpenOperatorHoldForDelivery returns the row, so operator_hold holds the delivery; listOpenOperatorHolds ' +
69
+ 'returns it with its issue id, so the wake predicate parks that work (supervision/operator-held-work.ts, ' +
70
+ 'supervision/team-work.ts) -- a failed read there parks nothing.',
69
71
  releaser: 'Whoever resolves / dismisses the escalation, or the correlation that clears its symptom.',
70
72
  releaseCondition: 'The row is resolved, or none of its conditions carries a hold disposition outside the excluded kinds.',
71
73
  evaluate: ({ rowOpen, anchoredToDelivery, disposition, conditions, holdDispositions, excludedKinds }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"stop-rows-delivery.js","sourceRoot":"","sources":["../../src/supervision/stop-rows-delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stop-rows-delivery.js","sourceRoot":"","sources":["../../src/supervision/stop-rows-delivery.ts"],"names":[],"mappings":"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"}
@@ -46,12 +46,37 @@ export interface TeamWorkOptions {
46
46
  * every open work issue counts (the pre-classification behaviour).
47
47
  */
48
48
  recordedConcernIds?: ReadonlySet<string>;
49
+ /**
50
+ * The open operator holds on the focus's deliveries
51
+ * (supervision/operator-held-work.ts, over supervision/holds.ts
52
+ * listOpenOperatorHolds). An open work issue a hold parks is not team work
53
+ * ({@link operatorHeldIssueIds}); like a recorded concern it still SCOPES its
54
+ * delivery, so a held-only delivery is neither work nor unscoped. Absent =>
55
+ * nothing is held (a failed read reaches here as absent: the work counts).
56
+ */
57
+ operatorHolds?: readonly OperatorHeldWork[];
58
+ }
59
+ /** One open operator hold as the team-work fact reads it (structural; supervision/holds.ts OperatorHoldRecord). */
60
+ export interface OperatorHeldWork {
61
+ deliveryId: string;
62
+ /** The issue the escalation names; null parks every work issue of the delivery. */
63
+ issueId: string | null;
49
64
  }
65
+ /**
66
+ * Pure: the work issues an operator hold parks. A hold parks the issue it names
67
+ * when that issue is a work issue (not a Context Group) of the hold's delivery;
68
+ * otherwise -- it names none, or names something that is not one of that
69
+ * delivery's work issues (a legacy, unchecked link) -- it parks every work issue
70
+ * of the delivery. Status is not read here: the caller's open-work filter is the
71
+ * one status read, so a parked issue that is already Done changes nothing.
72
+ */
73
+ export declare function operatorHeldIssueIds(holds: readonly OperatorHeldWork[] | undefined, issues: readonly HoldWorkIssue[]): Set<string>;
50
74
  /**
51
75
  * THE definition of "this delivery holds team work", and so of "this focus has
52
76
  * team work": an OPEN work issue (OPEN_ISSUE_STATUSES; a Context Group is
53
77
  * reference material, never work; a recorded review concern is the human's,
54
- * never work) on an arm-visible agent-actionable delivery
78
+ * never work; an issue an open operator hold parks waits on a human, never
79
+ * work) on an arm-visible agent-actionable delivery
55
80
  * (queued / coding / verify_failed), or a `planning` delivery to scope where
56
81
  * planning is the team's to scope.
57
82
  *
@@ -87,6 +112,12 @@ export declare function hasTeamWorkOutsideVerify(input: {
87
112
  heldDeliveryIds: ReadonlySet<string>;
88
113
  /** See {@link TeamWorkOptions.recordedConcernIds}. */
89
114
  recordedConcernIds?: ReadonlySet<string>;
115
+ /**
116
+ * See {@link TeamWorkOptions.operatorHolds}. A sibling whose only open work an
117
+ * operator hold parks is not starved by the verify hold -- nothing a team does
118
+ * moves it -- so it does not count as work outside the hold either.
119
+ */
120
+ operatorHolds?: readonly OperatorHeldWork[];
90
121
  }): boolean;
91
122
  /** Facts the actionable-work question is decided from. */
92
123
  export interface TeamActionableWorkInput {
@@ -1 +1 @@
1
- {"version":3,"file":"team-work.d.ts","sourceRoot":"","sources":["../../src/supervision/team-work.ts"],"names":[],"mappings":"AAyDA,OAAO,EAAuB,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAE9E,gEAAgE;AAChE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2EAA2E;AAC3E,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,gBAAgB,EAC/D,UAAU,EAAE,SAAS,CAAC,EAAE,EACxB,MAAM,EAAE,SAAS,aAAa,EAAE,EAChC,IAAI,EAAE,eAAe,GACpB,CAAC,EAAE,CAkBL;AAED,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,SAAS,gBAAgB,EAAE,EACvC,MAAM,EAAE,SAAS,aAAa,EAAE,EAChC,IAAI,EAAE,eAAe,GACpB,OAAO,CAET;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,UAAU,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACxC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IACjC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC1C,GAAG,OAAO,CAMV;AAED,0DAA0D;AAC1D,MAAM,WAAW,uBAAuB;IACtC;;;;;;OAMG;IACH,uBAAuB,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;;;;OASG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;;;;;;;;;;;;;;OAgBG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAKlF;AAED,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC;CAChC"}
1
+ {"version":3,"file":"team-work.d.ts","sourceRoot":"","sources":["../../src/supervision/team-work.ts"],"names":[],"mappings":"AAyEA,OAAO,EAAuB,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAE9E,gEAAgE;AAChE,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2EAA2E;AAC3E,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC7C;AAED,mHAAmH;AACnH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,EAC9C,MAAM,EAAE,SAAS,aAAa,EAAE,GAC/B,GAAG,CAAC,MAAM,CAAC,CAUb;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,gBAAgB,EAC/D,UAAU,EAAE,SAAS,CAAC,EAAE,EACxB,MAAM,EAAE,SAAS,aAAa,EAAE,EAChC,IAAI,EAAE,eAAe,GACpB,CAAC,EAAE,CAmBL;AAED,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,SAAS,gBAAgB,EAAE,EACvC,MAAM,EAAE,SAAS,aAAa,EAAE,EAChC,IAAI,EAAE,eAAe,GACpB,OAAO,CAET;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,UAAU,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACxC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IACjC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC;;;;OAIG;IACH,aAAa,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC7C,GAAG,OAAO,CAOV;AAED,0DAA0D;AAC1D,MAAM,WAAW,uBAAuB;IACtC;;;;;;OAMG;IACH,uBAAuB,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;;;;OASG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;;;;;;;;;;;;;;OAgBG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAKlF;AAED,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC;CAChC"}