@sensigo/realm 0.38.0 → 0.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/engine/abandon-run.d.ts.map +1 -1
  2. package/dist/engine/abandon-run.js +5 -7
  3. package/dist/engine/abandon-run.js.map +1 -1
  4. package/dist/engine/apply-resume.d.ts.map +1 -1
  5. package/dist/engine/apply-resume.js +17 -1
  6. package/dist/engine/apply-resume.js.map +1 -1
  7. package/dist/engine/eligibility.d.ts +85 -2
  8. package/dist/engine/eligibility.d.ts.map +1 -1
  9. package/dist/engine/eligibility.js +271 -14
  10. package/dist/engine/eligibility.js.map +1 -1
  11. package/dist/engine/execution-loop.d.ts.map +1 -1
  12. package/dist/engine/execution-loop.js +172 -37
  13. package/dist/engine/execution-loop.js.map +1 -1
  14. package/dist/engine/run-health.d.ts +1 -1
  15. package/dist/engine/run-health.d.ts.map +1 -1
  16. package/dist/engine/run-health.js +89 -0
  17. package/dist/engine/run-health.js.map +1 -1
  18. package/dist/engine/settlement.d.ts +61 -6
  19. package/dist/engine/settlement.d.ts.map +1 -1
  20. package/dist/engine/settlement.js +190 -25
  21. package/dist/engine/settlement.js.map +1 -1
  22. package/dist/index.d.ts +4 -3
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +9 -2
  25. package/dist/index.js.map +1 -1
  26. package/dist/store/failed-attempt-store.d.ts +9 -1
  27. package/dist/store/failed-attempt-store.d.ts.map +1 -1
  28. package/dist/store/failed-attempt-store.js +12 -1
  29. package/dist/store/failed-attempt-store.js.map +1 -1
  30. package/dist/store/json-file-store.d.ts +28 -4
  31. package/dist/store/json-file-store.d.ts.map +1 -1
  32. package/dist/store/json-file-store.js +133 -5
  33. package/dist/store/json-file-store.js.map +1 -1
  34. package/dist/store/per-run-artifact-store.d.ts +42 -1
  35. package/dist/store/per-run-artifact-store.d.ts.map +1 -1
  36. package/dist/store/seal-integrity.d.ts +9 -0
  37. package/dist/store/seal-integrity.d.ts.map +1 -0
  38. package/dist/store/seal-integrity.js +249 -0
  39. package/dist/store/seal-integrity.js.map +1 -0
  40. package/dist/store/store-interface.d.ts +47 -2
  41. package/dist/store/store-interface.d.ts.map +1 -1
  42. package/dist/store/trace-buffer-store.d.ts +32 -6
  43. package/dist/store/trace-buffer-store.d.ts.map +1 -1
  44. package/dist/store/trace-buffer-store.js +39 -6
  45. package/dist/store/trace-buffer-store.js.map +1 -1
  46. package/dist/types/response-envelope.d.ts +0 -1
  47. package/dist/types/response-envelope.d.ts.map +1 -1
  48. package/dist/types/run-record.d.ts +201 -6
  49. package/dist/types/run-record.d.ts.map +1 -1
  50. package/dist/types/run-record.js +25 -1
  51. package/dist/types/run-record.js.map +1 -1
  52. package/dist/types/workflow-definition.d.ts +11 -1
  53. package/dist/types/workflow-definition.d.ts.map +1 -1
  54. package/dist/types/workflow-definition.js +1 -0
  55. package/dist/types/workflow-definition.js.map +1 -1
  56. package/dist/types/workflow-error.d.ts +1 -1
  57. package/dist/types/workflow-error.d.ts.map +1 -1
  58. package/dist/types/workflow-error.js.map +1 -1
  59. package/dist/workflow/diagnostics.d.ts +39 -3
  60. package/dist/workflow/diagnostics.d.ts.map +1 -1
  61. package/dist/workflow/diagnostics.js +37 -10
  62. package/dist/workflow/diagnostics.js.map +1 -1
  63. package/dist/workflow/source-positions.d.ts +39 -0
  64. package/dist/workflow/source-positions.d.ts.map +1 -0
  65. package/dist/workflow/source-positions.js +107 -0
  66. package/dist/workflow/source-positions.js.map +1 -0
  67. package/dist/workflow/yaml-loader.d.ts.map +1 -1
  68. package/dist/workflow/yaml-loader.js +436 -117
  69. package/dist/workflow/yaml-loader.js.map +1 -1
  70. package/package.json +1 -1
@@ -0,0 +1,249 @@
1
+ import { SEAL_ARMS } from '../types/run-record.js';
2
+ import { WorkflowError } from '../types/workflow-error.js';
3
+ import { armToPhase, classifyForCoherence } from '../engine/eligibility.js';
4
+ /**
5
+ * The four seal-integrity clauses plus the `SEAL_COHERENT` check (issue #367, design rev 3 §6-L2).
6
+ * Call from every store write tail that persists `next` over `stored`. Throws on violation;
7
+ * returns on every honest write — including the entire pre-#367 legacy population within a
8
+ * single-version fleet (the mixed-fleet caveat is a named residual, not a solved case).
9
+ */
10
+ export function assertSealIntegrity(stored, next) {
11
+ // Clause 1 — STATE_SEAL_UNSTAMPED (forward, TRANSITION-scoped): a fresh seal must name its arm.
12
+ // Legacy terminal records re-written while terminal are exempt (stored is already terminal).
13
+ if (stored.terminal_state !== true &&
14
+ next.terminal_state === true &&
15
+ next.sealed_by === undefined) {
16
+ throw new WorkflowError(`Run '${next.id}' sealed without sealed_by — every fresh seal (non-terminal → terminal ` +
17
+ `write) must name its seal arm`, {
18
+ code: 'STATE_SEAL_UNSTAMPED',
19
+ category: 'STATE',
20
+ agentAction: 'report_to_user',
21
+ retryable: false,
22
+ details: { runId: next.id },
23
+ });
24
+ }
25
+ // Clause 2 — STATE_SEAL_ORPHANED (reverse, TRANSITION-scoped): a terminal -> live transition
26
+ // that RETAINS the stamp is an in-version stripper bug, caught the moment it happens. The
27
+ // unconditional form is rejected: it would wedge every old-binary-resume orphan on every
28
+ // subsequent write; those orphans instead derive live and self-heal at the next settle.
29
+ if (stored.terminal_state === true &&
30
+ next.terminal_state !== true &&
31
+ next.sealed_by !== undefined) {
32
+ throw new WorkflowError(`Run '${next.id}' carries sealed_by on a non-terminal write — a resume/strip path failed ` +
33
+ `to remove it in the same write`, {
34
+ code: 'STATE_SEAL_ORPHANED',
35
+ category: 'STATE',
36
+ agentAction: 'report_to_user',
37
+ retryable: false,
38
+ details: { runId: next.id, arm: next.sealed_by.arm },
39
+ });
40
+ }
41
+ // Clause 3 — STATE_SEAL_ERASED (cross-time): a stored stamp must survive every terminal
42
+ // rewrite, or a field-enumerating rewriter drains the stamped population back to prose
43
+ // silently. Zero legacy cost by construction — no pre-#367 stored record carries sealed_by.
44
+ if (stored.sealed_by !== undefined &&
45
+ next.terminal_state === true &&
46
+ next.sealed_by === undefined) {
47
+ throw new WorkflowError(`Run '${next.id}' terminal rewrite drops sealed_by (was '${stored.sealed_by.arm}') — ` +
48
+ `stamps are erase-proof while terminal`, {
49
+ code: 'STATE_SEAL_ERASED',
50
+ category: 'STATE',
51
+ agentAction: 'report_to_user',
52
+ retryable: false,
53
+ details: { runId: next.id, erased_arm: stored.sealed_by.arm },
54
+ });
55
+ }
56
+ // Clause 4 — STATE_SEAL_UNKNOWN_ARM: an arm outside SEAL_ARMS never persists through this
57
+ // store (the read side falls through to the classifier; the write side is loud).
58
+ if (next.sealed_by !== undefined &&
59
+ !SEAL_ARMS.includes(next.sealed_by.arm)) {
60
+ throw new WorkflowError(`Run '${next.id}' carries unknown seal arm '${next.sealed_by.arm}' — not in SEAL_ARMS`, {
61
+ code: 'STATE_SEAL_UNKNOWN_ARM',
62
+ category: 'STATE',
63
+ agentAction: 'report_to_user',
64
+ retryable: false,
65
+ details: { runId: next.id, arm: next.sealed_by.arm },
66
+ });
67
+ }
68
+ // Clause 6 — STATE_SEAL_REWRITTEN: a stored arm may not be CHANGED while the run stays terminal,
69
+ // EXCEPT by an adjudication write carrying truthful provenance. Executed before this clause
70
+ // existed: a plain `update()` flipped `complete` to `gate_resolution_complete`, dropped the
71
+ // `classified` marker and reset the retention clock, all silently — the re-attribution this
72
+ // design exists to end, live at its own boundary.
73
+ //
74
+ // The adjudication key is published as a day-one contract rather than added later, because the
75
+ // law that ships with the major says arm changes are refused; amending it afterwards would
76
+ // loosen a published guarantee under external implementers.
77
+ //
78
+ // A RULING SUPERSEDES THE RECORD'S OWN PROSE. The key opens this clause AND exempts the
79
+ // coherence audit below — permanently, on any write of a seal that carries a ruling, not just on
80
+ // the write that records it. The earlier reading (key opens clause 6 only; the verb co-rewrites
81
+ // prose for cross-phase rulings) was reversed on executed evidence: a truthful same-arm
82
+ // acknowledgment on a scarred record — the commonest parked case — was refused as incoherent, so
83
+ // the channel built for closing parked records could not touch its main customer.
84
+ //
85
+ // The prose is never rewritten to match a ruling. It is historical evidence of what the engine
86
+ // said at the time; the ruling resolves the disagreement without falsifying the record.
87
+ // Rule 3 lives OUTSIDE the both-terminal guard below, and that placement is the point: a FRESH
88
+ // seal is a non-terminal -> terminal write, so a rule scoped to both-terminal would never see the
89
+ // fabrication it exists to refuse. (It did not, until the cell for it reddened.)
90
+ if (next.terminal_state === true &&
91
+ stored.sealed_by === undefined &&
92
+ next.sealed_by?.adjudicated !== undefined) {
93
+ // Two scopes, and BOTH are load-bearing:
94
+ //
95
+ // `previous_arm: null` is the ONLY truthful provenance for a first stamp — there was no prior
96
+ // arm, and saying so is the operator's honest claim when they place a record the classifier
97
+ // refused to place. Any non-null claim here is a fabrication.
98
+ //
99
+ // And it is lawful only on a record that was ALREADY TERMINAL — the parked-legacy population.
100
+ // A live run reaching its first seal cannot have been ruled on — nothing had happened yet to
101
+ // rule on. Without this half, `null` would legalise adjudication provenance on every fresh
102
+ // seal in the engine.
103
+ const claimed = next.sealed_by.adjudicated.previous_arm;
104
+ if (claimed !== null || stored.terminal_state !== true) {
105
+ throw new WorkflowError(claimed !== null
106
+ ? `Run '${next.id}' claims adjudication from '${claimed}' on a record that had no seal ` +
107
+ `arm — a first stamp's only truthful provenance is previous_arm: null`
108
+ : `Run '${next.id}' carries adjudication provenance on a LIVE run's first seal — only ` +
109
+ `an already-terminal record can have been ruled on`, {
110
+ code: 'STATE_SEAL_REWRITTEN',
111
+ category: 'STATE',
112
+ agentAction: 'report_to_user',
113
+ retryable: false,
114
+ details: { runId: next.id, claimed_previous_arm: claimed },
115
+ });
116
+ }
117
+ }
118
+ if (stored.terminal_state === true && next.terminal_state === true) {
119
+ const storedArm = stored.sealed_by?.arm;
120
+ const nextSeal = next.sealed_by;
121
+ const adjudication = nextSeal?.adjudicated;
122
+ const storedAdjudication = stored.sealed_by?.adjudicated;
123
+ // A ruling is NEW-OR-CHANGED when any of its fields differ from the stored one; an untouched
124
+ // record spreading its own provenance forward is not making a claim.
125
+ //
126
+ // FIELD-WISE, not by serialised bytes: a store whose round trip reorders JSON keys — Postgres
127
+ // `jsonb` does exactly this, and it is a consumer on the punch list — would otherwise see an
128
+ // honest spread as a fresh claim and refuse it. A ruling's identity is what it says, not the
129
+ // byte order it came back in.
130
+ const provenanceIsNew = adjudication !== undefined &&
131
+ (storedAdjudication === undefined ||
132
+ adjudication.by !== storedAdjudication.by ||
133
+ adjudication.at !== storedAdjudication.at ||
134
+ adjudication.previous_arm !== storedAdjudication.previous_arm ||
135
+ adjudication.reason !== storedAdjudication.reason);
136
+ // (Rule 3 — no fabricated first-seal adjudication — is hoisted above; see its comment.)
137
+ // Rule 2 — truthfulness binds EVERY provenance write, same-arm included. Without this, a
138
+ // same-arm write could mint provenance naming any arm at all, and the "chain is one-step
139
+ // walkable" guarantee that justifies the single slot would be worthless.
140
+ if (storedArm !== undefined && provenanceIsNew && adjudication.previous_arm !== storedArm) {
141
+ throw new WorkflowError(`Run '${next.id}' claims adjudication from '${adjudication.previous_arm}' but the stored ` +
142
+ `arm is '${storedArm}' — a seal rewrite is lawful only with TRUTHFUL provenance`, {
143
+ code: 'STATE_SEAL_REWRITTEN',
144
+ category: 'STATE',
145
+ agentAction: 'report_to_user',
146
+ retryable: false,
147
+ details: {
148
+ runId: next.id,
149
+ stored_arm: storedArm,
150
+ claimed_previous_arm: adjudication.previous_arm,
151
+ ...(nextSeal !== undefined ? { next_arm: nextSeal.arm } : {}),
152
+ },
153
+ });
154
+ }
155
+ // Rule 4 — provenance is erase-proof while terminal, for the same reason the arm is: a ruling
156
+ // that can be quietly dropped is a ruling nobody can rely on afterwards.
157
+ if (storedAdjudication !== undefined && nextSeal !== undefined && adjudication === undefined) {
158
+ throw new WorkflowError(`Run '${next.id}' drops its adjudication provenance (ruled by ` +
159
+ `'${storedAdjudication.by}') — a recorded ruling is erase-proof while terminal`, {
160
+ code: 'STATE_SEAL_REWRITTEN',
161
+ category: 'STATE',
162
+ agentAction: 'report_to_user',
163
+ retryable: false,
164
+ details: { runId: next.id, erased_ruling_by: storedAdjudication.by },
165
+ });
166
+ }
167
+ // Rule 1 — the arm changed. Lawful only with truthful provenance, which rule 2 has already
168
+ // verified; anything else is the silent rewrite.
169
+ //
170
+ // (Rev 1 of this clause also carried a "stored had none, or differs" conjunct here. It is
171
+ // DELETED deliberately: once rule 2 binds every provenance write, the state it guarded is
172
+ // unreachable in any lawful history, and the conjunct was comparator-ambiguous dead code.
173
+ // Recorded so nobody re-adds it looking at the flip case alone.)
174
+ if (storedArm !== undefined && nextSeal !== undefined && nextSeal.arm !== storedArm) {
175
+ // Riding a PRIOR ruling's provenance is a rewrite, not an adjudication. Without this, a
176
+ // write could flip the arm while spreading the stored ruling forward untouched and pass
177
+ // every other rule — and once the coherence audit stops blocking such a write (it is exempt
178
+ // now, by design), nothing else would. A genuine ruling mints fresh provenance, which rule 2
179
+ // has already checked for truthfulness. Honest spreads never change the arm, so no lawful
180
+ // path is affected.
181
+ if (adjudication !== undefined && !provenanceIsNew) {
182
+ throw new WorkflowError(`Run '${next.id}' changes its seal arm ('${storedArm}' -> '${nextSeal.arm}') while ` +
183
+ `carrying a PRIOR ruling unchanged — an arm change must carry a NEW ruling; riding a ` +
184
+ `prior ruling's provenance is a rewrite`, {
185
+ code: 'STATE_SEAL_REWRITTEN',
186
+ category: 'STATE',
187
+ agentAction: 'report_to_user',
188
+ retryable: false,
189
+ details: { runId: next.id, stored_arm: storedArm, next_arm: nextSeal.arm },
190
+ });
191
+ }
192
+ if (adjudication === undefined) {
193
+ throw new WorkflowError(`Run '${next.id}' rewrites its seal arm ('${storedArm}' -> '${nextSeal.arm}') — a ` +
194
+ `recorded seal is immutable while the run is terminal, except by an adjudication ` +
195
+ `write carrying truthful provenance`, {
196
+ code: 'STATE_SEAL_REWRITTEN',
197
+ category: 'STATE',
198
+ agentAction: 'report_to_user',
199
+ retryable: false,
200
+ details: { runId: next.id, stored_arm: storedArm, next_arm: nextSeal.arm },
201
+ });
202
+ }
203
+ }
204
+ }
205
+ // SEAL_COHERENT — on any terminal write carrying a stamp: the record's OWN markers/prose,
206
+ // classified as if unstamped, must agree with the arm AT PHASE LEVEL (the classifier
207
+ // legitimately cannot tell `complete` from `gate_resolution_complete` — that granularity is
208
+ // exactly what the arm adds). This catches the old-binary re-seal channel, where a stale arm is
209
+ // preserved by spread over a record whose prose now says otherwise, at the next new-binary
210
+ // write. An unclassifiable record passes — never guess.
211
+ //
212
+ // The comparator is `classifyForCoherence`, NOT the full classifier: it omits the
213
+ // abandoned-marker branch, the sole measured false-positive source (a record legitimately
214
+ // carrying `abandoned_at` from an earlier life would contradict an honest arm). The
215
+ // aborted-marker branch stays live, because the reason-less `guard_abort` re-seal is
216
+ // marker-only-visible and would otherwise go uncaught. Named blindness: a stale arm on a record
217
+ // carrying `abandoned_at` is invisible here — that is BOTH abandon-class arms,
218
+ // `abandon_requested` AND `cleanup_sweep`. Their observer is the migrate sweep's incoherent
219
+ // bucket in a later PR, which uses the FULL classifier.
220
+ //
221
+ // EXEMPTION (issue #367 part 4): a seal carrying an adjudication is skipped entirely. This audit
222
+ // exists to catch SILENT drift — a stale arm riding a spread, a mis-stamped writer. A ruling is
223
+ // the opposite of silent: loud, attributed, and erase-proof while terminal. It is PERMANENT
224
+ // rather than scoped to the ruling write, because a ruled-but-scarred record has to stay
225
+ // writable afterwards; exempting only the ruling write would wedge the record one write later.
226
+ //
227
+ // NAMED BLINDNESS, beside the abandoned-marker one: prose drift on an already-adjudicated record
228
+ // is unwatched here AND at the migrate audit, which short-circuits ruled records too. Accepted —
229
+ // the ruling supersedes prose by contract, and store-level tampering is outside this threat
230
+ // model. A fabricated ruling is not silent: it names who made it and when.
231
+ if (next.terminal_state === true &&
232
+ next.sealed_by !== undefined &&
233
+ next.sealed_by.adjudicated === undefined) {
234
+ const { sealed_by: _stamp, ...sansStamp } = next;
235
+ const classified = classifyForCoherence(sansStamp);
236
+ if (classified !== undefined && armToPhase(classified) !== armToPhase(next.sealed_by.arm)) {
237
+ throw new WorkflowError(`Run '${next.id}' seal arm '${next.sealed_by.arm}' (phase ` +
238
+ `'${armToPhase(next.sealed_by.arm)}') disagrees with the record's own markers/prose ` +
239
+ `(classify: '${classified}', phase '${armToPhase(classified)}') — stale or mis-stamped arm`, {
240
+ code: 'STATE_SEAL_INCOHERENT',
241
+ category: 'STATE',
242
+ agentAction: 'report_to_user',
243
+ retryable: false,
244
+ details: { runId: next.id, arm: next.sealed_by.arm, classified_arm: classified },
245
+ });
246
+ }
247
+ }
248
+ }
249
+ //# sourceMappingURL=seal-integrity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seal-integrity.js","sourceRoot":"","sources":["../../src/store/seal-integrity.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { RunRecord } from '../types/run-record.js';
1
+ import type { RunRecord, SealedBy } from '../types/run-record.js';
2
2
  import type { WorkflowDefinition } from '../types/workflow-definition.js';
3
3
  import type { SettlementDelta, SettlementResult } from '../types/settlement.js';
4
4
  /**
@@ -43,7 +43,7 @@ import type { SettlementDelta, SettlementResult } from '../types/settlement.js';
43
43
  * bumping it forces every full-set-declaring store's own fidelity TCK to grow two new cases at
44
44
  * the SAME compile, so a store cannot silently drift out of sync with what settleStep needs.
45
45
  */
46
- export type LoadBearingRunRecordField = 'capability_blocks' | 'workflow_context_snapshots' | 'extension_identity' | 'validation_rejections' | 'defaulted_steps' | 'settled' | 'finalizer_ledger';
46
+ export type LoadBearingRunRecordField = 'capability_blocks' | 'workflow_context_snapshots' | 'extension_identity' | 'validation_rejections' | 'defaulted_steps' | 'settled' | 'finalizer_ledger' | 'sealed_by';
47
47
  export interface CreateRunOptions {
48
48
  workflowId: string;
49
49
  workflowVersion: number;
@@ -178,5 +178,50 @@ export interface RunStore {
178
178
  settleStep?(runId: string, delta: SettlementDelta, definition: WorkflowDefinition, options?: {
179
179
  now?: Date;
180
180
  }): Promise<SettlementResult>;
181
+ /**
182
+ * Issue #367 (part 3): write a `sealed_by` stamp onto an ALREADY-TERMINAL record — the migration
183
+ * vehicle's only write verb. Optional and dormant, exactly like {@link RunStore.settleStep}: a
184
+ * store that does not declare it is refused by `realm run migrate --stamp-seals`, with a pointer
185
+ * to its own tooling, rather than silently doing nothing.
186
+ *
187
+ * Four checks, in this order:
188
+ *
189
+ * 1. `expectedVersion` must match the stored version, or it THROWS `STATE_SNAPSHOT_MISMATCH` —
190
+ * `update()`-parity. A version move means someone else wrote while the sweep was reading, and
191
+ * the sweep's classification was made against a record that no longer exists.
192
+ * 2. An already-stamped record RETURNS `{stamped: false, reason: 'already_stamped'}`.
193
+ * 3. A non-terminal record RETURNS `{stamped: false, reason: 'not_terminal'}`.
194
+ * 4. Anything else is a real write, and the store's own seal-integrity boundary runs on it like
195
+ * on any other tail — so an incoherent stamp is refused there too.
196
+ *
197
+ * **Predicate refusals RETURN; infra THROWS** — the same rule stated for `settleStep` above. A
198
+ * record that is already stamped is not an exceptional condition.
199
+ *
200
+ * **`updated_at` is BYTE-PRESERVED, and `version` is bumped.** That split is the whole reason
201
+ * this verb exists instead of a plain `update()`. The two clocks have disjoint consumers:
202
+ * `version` is read only by the CAS protocol, `updated_at` only by retention, sorting and
203
+ * display. Preserving BOTH makes the stamp silently erasable — a writer holding a pre-stamp
204
+ * snapshot passes the CAS and wipes it (executed). Preserving NEITHER resets the retention
205
+ * clock on every record it touches, which is precisely the harm `gc --heal` causes and this
206
+ * vehicle exists to avoid. Stamping is not activity.
207
+ *
208
+ * `run_phase` is re-derived in the same write, like every other write tail. For the startup-death
209
+ * population whose derived phase MOVED with #367, that is the clock-preserving materialisation
210
+ * `--heal` cannot do.
211
+ */
212
+ stampSeal?(runId: string, sealedBy: SealedBy, expectedVersion: number): Promise<StampSealResult>;
181
213
  }
214
+ /**
215
+ * Issue #367 (part 3): the outcome of a {@link RunStore.stampSeal} attempt. Both refusal reasons
216
+ * are PREDICATE outcomes, returned rather than thrown, and both carry the record as it stands so
217
+ * the caller can report on it without a second read.
218
+ */
219
+ export type StampSealResult = {
220
+ stamped: true;
221
+ run: RunRecord;
222
+ } | {
223
+ stamped: false;
224
+ reason: 'already_stamped' | 'not_terminal';
225
+ run: RunRecord;
226
+ };
182
227
  //# sourceMappingURL=store-interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store-interface.d.ts","sourceRoot":"","sources":["../../src/store/store-interface.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,MAAM,yBAAyB,GACjC,mBAAmB,GACnB,4BAA4B,GAC5B,oBAAoB,GACpB,uBAAuB,GACvB,iBAAiB,GACjB,SAAS,GACT,kBAAkB,CAAC;AAEvB,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,gIAAgI;IAChI,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,iBAAiB,GAAG,OAAO,CAAC;IACnE;;;;OAIG;IACH,WAAW,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,QAAQ;IACvB;;;;;;;OAOG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,WAAW,CAAC,yBAAyB,CAAC,CAAC;IAE3E;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAEjF,sFAAsF;IACtF,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAEvC;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE9C,+DAA+D;IAC/D,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAEhD;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,UAAU,CAAC,CACT,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,EACtB,UAAU,EAAE,kBAAkB,EAC9B,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,IAAI,CAAA;KAAE,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9B"}
1
+ {"version":3,"file":"store-interface.d.ts","sourceRoot":"","sources":["../../src/store/store-interface.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,MAAM,yBAAyB,GACjC,mBAAmB,GACnB,4BAA4B,GAC5B,oBAAoB,GACpB,uBAAuB,GACvB,iBAAiB,GACjB,SAAS,GACT,kBAAkB,GAIlB,WAAW,CAAC;AAEhB,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,gIAAgI;IAChI,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,iBAAiB,GAAG,OAAO,CAAC;IACnE;;;;OAIG;IACH,WAAW,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,QAAQ;IACvB;;;;;;;OAOG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,WAAW,CAAC,yBAAyB,CAAC,CAAC;IAE3E;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAEjF,sFAAsF;IACtF,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAEvC;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE9C,+DAA+D;IAC/D,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAEhD;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,UAAU,CAAC,CACT,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,eAAe,EACtB,UAAU,EAAE,kBAAkB,EAC9B,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,IAAI,CAAA;KAAE,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,SAAS,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAClG;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,SAAS,CAAA;CAAE,GACjC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,iBAAiB,GAAG,cAAc,CAAC;IAAC,GAAG,EAAE,SAAS,CAAA;CAAE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { AgentTraceEntry } from '../types/run-record.js';
2
2
  import { WorkflowError } from '../types/workflow-error.js';
3
+ import type { ArtifactDeletionReport } from './per-run-artifact-store.js';
3
4
  /**
4
5
  * The store-layer capability ladder (issue #197 PR-1, design record `plans/issue-197-design.md`
5
6
  * §3). Implication runs **upward-requires-downward ONLY**: `writer_nonce_carriage` requires
@@ -162,7 +163,15 @@ export interface TraceBufferStore {
162
163
  * this in-memory implementation; a filesystem-backed implementation may use it to avoid a
163
164
  * per-run `readdir`.
164
165
  */
165
- deleteAllForRun(runId: string, dirEntries?: readonly string[]): Promise<void>;
166
+ deleteAllForRun(runId: string, dirEntries?: readonly string[]): Promise<ArtifactDeletionReport>;
167
+ /**
168
+ * Reports the bytes this store holds for `runId` without deleting them (issue #189) — see
169
+ * `PerRunArtifactStore.statAllForRun` for the full contract, including the L6 preview-equals-
170
+ * receipt identity and the store-defined bytes measure.
171
+ */
172
+ statAllForRun(runId: string, dirEntries?: readonly string[]): Promise<{
173
+ bytes: number;
174
+ }>;
166
175
  /**
167
176
  * Reads every buffered/WAL entry for a run, across ALL steps, keyed by stepId — the read-only
168
177
  * counterpart to `deleteAllForRun` (issue #159, `realm run export`'s evidence assembly). Each
@@ -208,8 +217,10 @@ export interface TraceBufferStore {
208
217
  * suite is what must verify race closure (the same posture `RunStore.claimStep`'s cross-host
209
218
  * obligation already states for `CLAIM_SINGLE_OWNER`, issue #188).
210
219
  *
211
- * Legacy `append`/`delete`/`deleteAllForRun` remain on the interface, byte-frozen, for any store
212
- * that does not declare the fenced trio.
220
+ * Legacy `append`/`delete`/`deleteAllForRun` remain on the interface for any store that does not
221
+ * declare the fenced trio. They are frozen in SHAPE except for the issue #189 widening, which
222
+ * made both deletion paths — fenced and unfenced — return an `ArtifactDeletionReport` so purge
223
+ * can print a store-reported figure instead of scanning filenames.
213
224
  */
214
225
  appendFenced?(runId: string, stepId: string, entries: AgentTraceEntry[], guard: () => Promise<void>, options?: AppendOptions): Promise<AppendResult>;
215
226
  /**
@@ -244,7 +255,7 @@ export interface TraceBufferStore {
244
255
  * @param dirEntries Optional pre-scanned directory listing (see the legacy method's own doc) —
245
256
  * ignored by non-fs implementations.
246
257
  */
247
- deleteAllForRunFenced?(runId: string, guard: () => Promise<void>, dirEntries?: readonly string[]): Promise<void>;
258
+ deleteAllForRunFenced?(runId: string, guard: () => Promise<void>, dirEntries?: readonly string[]): Promise<ArtifactDeletionReport>;
248
259
  /**
249
260
  * **`sealFenced` (issue #197 PR-1, the `seal` rung — design §4).** Atomically retires the
250
261
  * ENTIRE live WAL for (runId, stepId) to a sealed artifact, under the SAME per-key critical
@@ -456,13 +467,28 @@ export declare class InMemoryTraceBufferStore implements TraceBufferStore {
456
467
  * precisely to move content out of this destructive drain's reach; only `deleteAllForRun*`
457
468
  * (run-level bulk delete) also retires sealed artifacts. */
458
469
  deleteFenced(runId: string, stepId: string, guard: () => Promise<void>): Promise<number>;
459
- deleteAllForRun(runId: string, _dirEntries?: readonly string[]): Promise<void>;
470
+ /**
471
+ * The bytes this store attributes to one key — live buffer plus every sealed artifact under it.
472
+ *
473
+ * Uses the store's OWN existing budget formula (`Buffer.byteLength(JSON.stringify(...))`), which
474
+ * is what this implementation already measures capacity with. That makes the measure
475
+ * internally consistent, which is the contract: bytes are store-defined, and the only guarantee
476
+ * across stat and delete is that they agree (issue #189, L6).
477
+ */
478
+ private bytesForKey;
479
+ /** Every key this store holds for `runId` — live and sealed alike. */
480
+ private keysForRun;
481
+ /** Issue #189 — see the interface doc. Lock-free by contract; nothing here can be unreachable. */
482
+ statAllForRun(runId: string, _dirEntries?: readonly string[]): Promise<{
483
+ bytes: number;
484
+ }>;
485
+ deleteAllForRun(runId: string, _dirEntries?: readonly string[]): Promise<ArtifactDeletionReport>;
460
486
  /** guard is RE-INVOKED inside EACH per-(runId, stepId) critical section, immediately before
461
487
  * that key's delete — see the interface doc for the full guard contract, including the
462
488
  * zero-match-sweep invocation requirement (handled below: the guard still runs at least once
463
489
  * even when this run has no buffers at all). Sealed artifacts join this run-level bulk delete
464
490
  * (design §4 — a sealed artifact is retained ONLY until its owning run itself is purged). */
465
- deleteAllForRunFenced(runId: string, guard: () => Promise<void>, _dirEntries?: readonly string[]): Promise<void>;
491
+ deleteAllForRunFenced(runId: string, guard: () => Promise<void>, _dirEntries?: readonly string[]): Promise<ArtifactDeletionReport>;
466
492
  /** guard runs INSIDE the per-key critical section, immediately before the seal-move — see the
467
493
  * interface doc for the full contract. Atomically retires the ENTIRE live batch history for
468
494
  * (runId, stepId) into a new sealed artifact (ascending `seq`), clearing the live buffer in
@@ -1 +1 @@
1
- {"version":3,"file":"trace-buffer-store.d.ts","sourceRoot":"","sources":["../../src/store/trace-buffer-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trace-buffer-store.d.ts","sourceRoot":"","sources":["../../src/store/trace-buffer-store.ts"],"names":[],"mappings":"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"}
@@ -410,15 +410,46 @@ export class InMemoryTraceBufferStore {
410
410
  return existing !== undefined ? flattenWalBatches(existing).length : 0;
411
411
  });
412
412
  }
413
- async deleteAllForRun(runId, _dirEntries) {
413
+ /**
414
+ * The bytes this store attributes to one key — live buffer plus every sealed artifact under it.
415
+ *
416
+ * Uses the store's OWN existing budget formula (`Buffer.byteLength(JSON.stringify(...))`), which
417
+ * is what this implementation already measures capacity with. That makes the measure
418
+ * internally consistent, which is the contract: bytes are store-defined, and the only guarantee
419
+ * across stat and delete is that they agree (issue #189, L6).
420
+ */
421
+ bytesForKey(k) {
422
+ const live = this.buffers.get(k);
423
+ const sealed = this.sealed.get(k) ?? [];
424
+ const liveBytes = live === undefined ? 0 : Buffer.byteLength(JSON.stringify(flattenWalBatches(live)));
425
+ const sealedBytes = sealed.reduce((sum, artifact) => sum + Buffer.byteLength(JSON.stringify(artifact.lines)), 0);
426
+ return liveBytes + sealedBytes;
427
+ }
428
+ /** Every key this store holds for `runId` — live and sealed alike. */
429
+ keysForRun(runId) {
414
430
  const prefix = `${runId}:`;
415
- const keys = new Set([...this.buffers.keys(), ...this.sealed.keys()].filter((k) => k.startsWith(prefix)));
416
- for (const k of keys) {
431
+ return new Set([...this.buffers.keys(), ...this.sealed.keys()].filter((k) => k.startsWith(prefix)));
432
+ }
433
+ /** Issue #189 — see the interface doc. Lock-free by contract; nothing here can be unreachable. */
434
+ async statAllForRun(runId, _dirEntries) {
435
+ let bytes = 0;
436
+ for (const k of this.keysForRun(runId))
437
+ bytes += this.bytesForKey(k);
438
+ return Promise.resolve({ bytes });
439
+ }
440
+ async deleteAllForRun(runId, _dirEntries) {
441
+ let bytes_deleted = 0;
442
+ for (const k of this.keysForRun(runId)) {
417
443
  await this.withKeyLock(k, async () => {
444
+ // Measured INSIDE the critical section, immediately before the delete — the accounting
445
+ // rule is stat-then-delete, and measuring outside would let a concurrent append inflate
446
+ // the figure for bytes this call never removed.
447
+ bytes_deleted += this.bytesForKey(k);
418
448
  this.buffers.delete(k);
419
449
  this.sealed.delete(k);
420
450
  });
421
451
  }
452
+ return { bytes_deleted };
422
453
  }
423
454
  /** guard is RE-INVOKED inside EACH per-(runId, stepId) critical section, immediately before
424
455
  * that key's delete — see the interface doc for the full guard contract, including the
@@ -426,19 +457,21 @@ export class InMemoryTraceBufferStore {
426
457
  * even when this run has no buffers at all). Sealed artifacts join this run-level bulk delete
427
458
  * (design §4 — a sealed artifact is retained ONLY until its owning run itself is purged). */
428
459
  async deleteAllForRunFenced(runId, guard, _dirEntries) {
429
- const prefix = `${runId}:`;
430
- const keys = new Set([...this.buffers.keys(), ...this.sealed.keys()].filter((k) => k.startsWith(prefix)));
460
+ const keys = this.keysForRun(runId);
431
461
  if (keys.size === 0) {
432
462
  await guard();
433
- return;
463
+ return { bytes_deleted: 0 };
434
464
  }
465
+ let bytes_deleted = 0;
435
466
  for (const k of keys) {
436
467
  await this.withKeyLock(k, async () => {
437
468
  await guard();
469
+ bytes_deleted += this.bytesForKey(k);
438
470
  this.buffers.delete(k);
439
471
  this.sealed.delete(k);
440
472
  });
441
473
  }
474
+ return { bytes_deleted };
442
475
  }
443
476
  /** guard runs INSIDE the per-key critical section, immediately before the seal-move — see the
444
477
  * interface doc for the full contract. Atomically retires the ENTIRE live batch history for
@@ -1 +1 @@
1
- {"version":3,"file":"trace-buffer-store.js","sourceRoot":"","sources":["../../src/store/trace-buffer-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trace-buffer-store.js","sourceRoot":"","sources":["../../src/store/trace-buffer-store.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,6 @@ export interface NextAction {
15
15
  human_readable: string;
16
16
  /** Current state orientation — describes what state the run is in and what just happened. */
17
17
  orientation: string;
18
- expected_timeout?: string;
19
18
  /** The step's declared input schema — use this to structure the params argument of your execute_step call. */
20
19
  input_schema?: Record<string, unknown>;
21
20
  /** Template-resolved step prompt, delivered to the agent at step entry. */
@@ -1 +1 @@
1
- {"version":3,"file":"response-envelope.d.ts","sourceRoot":"","sources":["../../src/types/response-envelope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response-envelope.d.ts","sourceRoot":"","sources":["../../src/types/response-envelope.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC;;;;WAIG;QACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,IAAI,CAAC;IACT,cAAc,EAAE,MAAM,CAAC;IACvB,6FAA6F;IAC7F,WAAW,EAAE,MAAM,CAAC;IACpB,8GAA8G;IAC9G,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS,GAAG,kBAAkB,CAAC;AAExE,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2HAA2H;IAC3H,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yGAAyG;IACzG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACtC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,yHAAyH;IACzH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,8FAA8F;IAC9F,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+GAA+G;IAC/G,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,yGAAyG;IACzG,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvF;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mGAAmG;IACnG,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;;;OAWG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B"}