things-api 0.19.4 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +1 -1
  2. package/deputy/prebuilt/Things API Helper.app/Contents/CodeResources +0 -0
  3. package/deputy/prebuilt/Things API Helper.app/Contents/Helpers/things-reader.app/Contents/MacOS/things-reader +0 -0
  4. package/deputy/prebuilt/Things API Helper.app/Contents/MacOS/things-deputy +0 -0
  5. package/dist/audit/schema.d.ts +28 -10
  6. package/dist/audit/schema.js +21 -0
  7. package/dist/audit/schema.js.map +1 -1
  8. package/dist/cli/commands/doctor.js +3 -1
  9. package/dist/cli/commands/doctor.js.map +1 -1
  10. package/dist/cli/commands/op-result.js +15 -9
  11. package/dist/cli/commands/op-result.js.map +1 -1
  12. package/dist/cli/commands/repeat-flags.d.ts +19 -1
  13. package/dist/cli/commands/repeat-flags.js +71 -0
  14. package/dist/cli/commands/repeat-flags.js.map +1 -1
  15. package/dist/cli/commands/rescue.d.ts +12 -0
  16. package/dist/cli/commands/rescue.js +83 -0
  17. package/dist/cli/commands/rescue.js.map +1 -0
  18. package/dist/cli/commands/writes.js +35 -25
  19. package/dist/cli/commands/writes.js.map +1 -1
  20. package/dist/cli/help.js +25 -25
  21. package/dist/cli/help.js.map +1 -1
  22. package/dist/cli/main.js +12 -2
  23. package/dist/cli/main.js.map +1 -1
  24. package/dist/cli/resolve-invocation.d.ts +9 -1
  25. package/dist/cli/resolve-invocation.js +71 -0
  26. package/dist/cli/resolve-invocation.js.map +1 -1
  27. package/dist/cli/unknown-command.d.ts +26 -0
  28. package/dist/cli/unknown-command.js +135 -0
  29. package/dist/cli/unknown-command.js.map +1 -0
  30. package/dist/contracts.d.ts +4 -3
  31. package/dist/contracts.js +1 -1
  32. package/dist/index.d.ts +4 -2
  33. package/dist/index.js +1 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/mcp/server.js +55 -10
  36. package/dist/mcp/server.js.map +1 -1
  37. package/dist/model/entities.d.ts +11 -0
  38. package/dist/model/entities.js.map +1 -1
  39. package/dist/model/mappers.js +26 -9
  40. package/dist/model/mappers.js.map +1 -1
  41. package/dist/model/today-placement.d.ts +65 -0
  42. package/dist/model/today-placement.js +59 -0
  43. package/dist/model/today-placement.js.map +1 -0
  44. package/dist/op-result.d.ts +15 -2
  45. package/dist/op-result.js +72 -20
  46. package/dist/op-result.js.map +1 -1
  47. package/dist/process-instance.d.ts +41 -0
  48. package/dist/process-instance.js +82 -0
  49. package/dist/process-instance.js.map +1 -0
  50. package/dist/rescue.d.ts +247 -0
  51. package/dist/rescue.js +811 -0
  52. package/dist/rescue.js.map +1 -0
  53. package/dist/session-grant.js +4 -15
  54. package/dist/session-grant.js.map +1 -1
  55. package/dist/ui-state.d.ts +8 -4
  56. package/dist/ui-state.js +8 -4
  57. package/dist/ui-state.js.map +1 -1
  58. package/dist/write/commands.d.ts +9 -0
  59. package/dist/write/commands.js +138 -51
  60. package/dist/write/commands.js.map +1 -1
  61. package/dist/write/disclosures.d.ts +24 -0
  62. package/dist/write/disclosures.js +24 -0
  63. package/dist/write/disclosures.js.map +1 -1
  64. package/dist/write/experimental.d.ts +16 -0
  65. package/dist/write/experimental.js +19 -0
  66. package/dist/write/experimental.js.map +1 -1
  67. package/dist/write/failure-hints.js +3 -2
  68. package/dist/write/failure-hints.js.map +1 -1
  69. package/dist/write/guards.d.ts +1 -1
  70. package/dist/write/guards.js +130 -8
  71. package/dist/write/guards.js.map +1 -1
  72. package/dist/write/lock.d.ts +85 -1
  73. package/dist/write/lock.js +121 -6
  74. package/dist/write/lock.js.map +1 -1
  75. package/dist/write/move.js +33 -6
  76. package/dist/write/move.js.map +1 -1
  77. package/dist/write/operations.d.ts +52 -6
  78. package/dist/write/operations.js +22 -0
  79. package/dist/write/operations.js.map +1 -1
  80. package/dist/write/opid.d.ts +69 -8
  81. package/dist/write/opid.js +111 -17
  82. package/dist/write/opid.js.map +1 -1
  83. package/dist/write/param-schema.js +14 -2
  84. package/dist/write/param-schema.js.map +1 -1
  85. package/dist/write/pipeline.d.ts +43 -2
  86. package/dist/write/pipeline.js +206 -43
  87. package/dist/write/pipeline.js.map +1 -1
  88. package/dist/write/planner.d.ts +7 -0
  89. package/dist/write/planner.js +12 -0
  90. package/dist/write/planner.js.map +1 -1
  91. package/dist/write/pre-state.d.ts +9 -9
  92. package/dist/write/pre-state.js +44 -38
  93. package/dist/write/pre-state.js.map +1 -1
  94. package/dist/write/preserve-modified.d.ts +17 -8
  95. package/dist/write/preserve-modified.js.map +1 -1
  96. package/dist/write/promote-clone.js +60 -17
  97. package/dist/write/promote-clone.js.map +1 -1
  98. package/dist/write/reorder.js +28 -7
  99. package/dist/write/reorder.js.map +1 -1
  100. package/dist/write/repeat-rule.d.ts +25 -1
  101. package/dist/write/repeat-rule.js +69 -0
  102. package/dist/write/repeat-rule.js.map +1 -1
  103. package/dist/write/resolution-timestamps.js +103 -80
  104. package/dist/write/resolution-timestamps.js.map +1 -1
  105. package/dist/write/reversibility.js +2 -2
  106. package/dist/write/reversibility.js.map +1 -1
  107. package/dist/write/template-mutation.js +14 -2
  108. package/dist/write/template-mutation.js.map +1 -1
  109. package/dist/write/undo.js +45 -5
  110. package/dist/write/undo.js.map +1 -1
  111. package/dist/write/vectors/simulator.js +48 -2
  112. package/dist/write/vectors/simulator.js.map +1 -1
  113. package/dist/write/vectors/types.d.ts +10 -0
  114. package/dist/write/vectors/ui-drag.d.ts +102 -0
  115. package/dist/write/vectors/ui-drag.js +425 -11
  116. package/dist/write/vectors/ui-drag.js.map +1 -1
  117. package/dist/write/vectors/ui-state.d.ts +22 -6
  118. package/dist/write/vectors/ui-state.js +1 -1
  119. package/dist/write/vectors/ui-state.js.map +1 -1
  120. package/dist/write/vectors/ui.d.ts +29 -1
  121. package/dist/write/vectors/ui.js +57 -5
  122. package/dist/write/vectors/ui.js.map +1 -1
  123. package/dist/write/vectors/url-scheme.js +26 -0
  124. package/dist/write/vectors/url-scheme.js.map +1 -1
  125. package/package.json +1 -1
  126. package/schema/envelope.schema.json +1 -2
  127. package/skills/things-cli/SKILL.md +4 -2
  128. package/skills/things-cli/references/repeating.md +1 -1
  129. package/dist/cli/commands/ui-state.d.ts +0 -11
  130. package/dist/cli/commands/ui-state.js +0 -27
  131. package/dist/cli/commands/ui-state.js.map +0 -1
@@ -25,10 +25,34 @@
25
25
  * operation asserts a whole-database singleton, or nothing was recorded — the
26
26
  * resubmission is REFUSED with a pointer at the item, never guessed.
27
27
  *
28
- * Every other result class (blocked, unsupported, intent, the other
29
- * verify-failed reasons) is not a match: a blocked/unsupported attempt changed
30
- * nothing, a mismatch/silent-noop landed something the caller must look at
31
- * first, and an intent marker means the attempt may still be in flight.
28
+ * Every other FINAL result class (blocked, unsupported, the other verify-failed
29
+ * reasons) is not a match: a blocked/unsupported attempt changed nothing, and a
30
+ * mismatch/silent-noop landed something the caller must look at first.
31
+ *
32
+ * The third class is an UNSUPERSEDED INTENT — a keyed write that recorded its
33
+ * start and has written no final record yet (#639). That is not a fourth match
34
+ * rule but a different question, and it is answered by asking whether the
35
+ * process that wrote it is still alive:
36
+ *
37
+ * - HOLDER ALIVE — the original is still running. The resubmission is REFUSED
38
+ * (`blocked:in-flight`) and pointed at `things op-result <key>`. This is the
39
+ * refusal that closes the race the pre-lock lookback used to leave open: a
40
+ * retry fired while the original is mid-drive used to see no record, queue
41
+ * behind the mutation lock, and execute the whole verb a second time once the
42
+ * original released it.
43
+ * - HOLDER GONE — the writer died between touching the app and recording an
44
+ * outcome, which is the SAME ambiguity a `verify-failed:timeout` leaves, so it
45
+ * takes the same answer: the intent's own recorded assertion is the presence
46
+ * oracle, re-evaluated against current state. An intent that recorded no
47
+ * usable oracle refuses honestly rather than guessing.
48
+ *
49
+ * DOUBLE-CHECKED LOCKING. Every caller consults this gate TWICE: once before
50
+ * taking the mutation lock (the cheap fast path — most resubmissions are settled
51
+ * by then and never touch the lock) and again immediately after acquiring it,
52
+ * before the first mutating leg. The second check is the load-bearing one: a
53
+ * retry that passed the first check while the original was still running, then
54
+ * waited out the lock, finds the original's record on the way back in and
55
+ * replays instead of re-executing.
32
56
  */
33
57
  import type { AuditRecord } from "../audit/schema.ts";
34
58
  import { type MutationResult, type WriteDeps, type WriteOptions } from "./pipeline.ts";
@@ -42,7 +66,12 @@ export declare const OP_ID_RE: RegExp;
42
66
  */
43
67
  export declare const OPID_LOOKBACK_RECORDS = 1000;
44
68
  export declare const OPID_LOOKBACK_MS: number;
45
- /** The disclosure a reconciled replay carries — see {@link reconcileTimedOut}. */
69
+ /**
70
+ * The disclosure a reconciled replay carries — see {@link reconcileAmbiguous}.
71
+ * Deliberately worded for BOTH ambiguous origins (a confirmation that timed out,
72
+ * and a writer that died before recording an outcome): the caller's situation
73
+ * and next move are identical either way, and the record itself says which.
74
+ */
46
75
  export declare const RECONCILED_NOTE: string;
47
76
  /**
48
77
  * The recent-history lookback for an opId: the most recent MATCHABLE record
@@ -51,6 +80,26 @@ export declare const RECONCILED_NOTE: string;
51
80
  * blocked records are naturally excluded.
52
81
  */
53
82
  export declare function findOpIdRecord(records: AuditRecord[], opId: string, now: Date): AuditRecord | undefined;
83
+ /**
84
+ * The UNSUPERSEDED intent for a key, if there is one: an `intent` record whose
85
+ * ATTEMPT never recorded an outcome.
86
+ *
87
+ * Supersession pairs an intent to its own final by `ts`, which is the schema's
88
+ * documented sibling invariant — both records of one attempt derive from the
89
+ * same `startedAt`, so they carry the same timestamp (`audit/schema.ts`). It is
90
+ * deliberately NOT "the last record wins": `readAuditRecords` RE-SORTS the trail
91
+ * by `ts`, so file order does not survive the read, and a composite's intent
92
+ * (written when it takes the lock) briefly carried a later `ts` than its own
93
+ * summary (stamped when the verb began) — which sorted the intent last and left
94
+ * every finished promote looking permanently in flight. Measured in TORPH1
95
+ * cell B; the fix is this pairing plus stamping a composite's intent with the
96
+ * verb's own `startedAt`.
97
+ *
98
+ * Pairing also handles the RE-DISPATCH shape by construction: a key retried
99
+ * after an ambiguous failure records intent+final for the first attempt and a
100
+ * fresh intent for the second, and only the second is unpaired.
101
+ */
102
+ export declare function findPendingIntent(records: AuditRecord[], opId: string, now: Date): AuditRecord | undefined;
54
103
  /**
55
104
  * Can the recorded assertion decide, after the fact, whether the timed-out
56
105
  * change landed? Usable means the assertion is keyed to a SUBJECT the attempt
@@ -69,9 +118,15 @@ export type PresenceOracle = {
69
118
  export declare function presenceOracle(spec: DeltaSpec | undefined): PresenceOracle;
70
119
  /**
71
120
  * The lookback as a DISPATCH DECISION over an already-read trail: the replay
72
- * result when this key was already applied, a refusal when it matched an
73
- * unsettleable attempt, or null when the write must run. Shared by the batch
74
- * line path and {@link replayIfApplied}.
121
+ * result when this key was already applied, a refusal when it is still running
122
+ * or matched an unsettleable attempt, or null when the write must run. Shared by
123
+ * the batch line path and {@link replayIfApplied}.
124
+ *
125
+ * An unsuperseded intent is consulted FIRST, because it describes the key's
126
+ * present, while any matchable final describes its past. (Both can exist: a key
127
+ * whose first attempt timed out and is now being re-driven has an old timeout
128
+ * final AND a live intent. Acting on the final there would replay a change the
129
+ * running attempt has not finished making.)
75
130
  */
76
131
  export declare function resolveOpId(deps: WriteDeps, records: AuditRecord[], opId: string, now: Date): MutationResult | null;
77
132
  /**
@@ -82,6 +137,12 @@ export declare function resolveOpId(deps: WriteDeps, records: AuditRecord[], opI
82
137
  * flip-dance, and the promote-via-clone verbs; they never reach `run`, so
83
138
  * without this the key would be recorded and never honored).
84
139
  *
140
+ * Called TWICE per keyed write, and the second call is the one that matters —
141
+ * see the module header on double-checked locking. Both calls re-read the trail:
142
+ * the whole point of the post-acquire check is that the trail changed while this
143
+ * process was waiting for the lock, so a cached read would answer the stale
144
+ * question all over again.
145
+ *
85
146
  * Three conditions fail-open (run the write) rather than fail-closed: no key, a
86
147
  * dry run (it mints and records nothing, so there is nothing to deduplicate
87
148
  * against), or no trail to read.
@@ -1,3 +1,4 @@
1
+ import { instanceAlive } from "../process-instance.js";
1
2
  import { attach, disclose, disclosuresOf } from "./disclosures.js";
2
3
  import { replayResultFromRecord, } from "./pipeline.js";
3
4
  import { readAuditRecords } from "./undo.js";
@@ -11,10 +12,15 @@ export const OP_ID_RE = /^[A-Za-z0-9_-]{1,64}$/;
11
12
  */
12
13
  export const OPID_LOOKBACK_RECORDS = 1000;
13
14
  export const OPID_LOOKBACK_MS = 7 * 24 * 60 * 60 * 1000;
14
- /** The disclosure a reconciled replay carries — see {@link reconcileTimedOut}. */
15
- export const RECONCILED_NOTE = "an earlier submission with this idempotency key did not finish confirming; the change was " +
16
- "found already in place, so nothing ran again. It cannot be reversed with `things undo` — the " +
17
- "earlier attempt never recorded a completed change to reverse";
15
+ /**
16
+ * The disclosure a reconciled replay carries see {@link reconcileAmbiguous}.
17
+ * Deliberately worded for BOTH ambiguous origins (a confirmation that timed out,
18
+ * and a writer that died before recording an outcome): the caller's situation
19
+ * and next move are identical either way, and the record itself says which.
20
+ */
21
+ export const RECONCILED_NOTE = "an earlier submission with this idempotency key never recorded a completed change; the change " +
22
+ "was found already in place, so nothing ran again. It cannot be reversed with `things undo` — " +
23
+ "there is no completed-change record to reverse";
18
24
  /** Result classes an `opId` match acts on (see the module header). */
19
25
  function matchable(result) {
20
26
  return result === "ok" || result === "verify-failed:timeout";
@@ -38,6 +44,37 @@ export function findOpIdRecord(records, opId, now) {
38
44
  }
39
45
  return match;
40
46
  }
47
+ /**
48
+ * The UNSUPERSEDED intent for a key, if there is one: an `intent` record whose
49
+ * ATTEMPT never recorded an outcome.
50
+ *
51
+ * Supersession pairs an intent to its own final by `ts`, which is the schema's
52
+ * documented sibling invariant — both records of one attempt derive from the
53
+ * same `startedAt`, so they carry the same timestamp (`audit/schema.ts`). It is
54
+ * deliberately NOT "the last record wins": `readAuditRecords` RE-SORTS the trail
55
+ * by `ts`, so file order does not survive the read, and a composite's intent
56
+ * (written when it takes the lock) briefly carried a later `ts` than its own
57
+ * summary (stamped when the verb began) — which sorted the intent last and left
58
+ * every finished promote looking permanently in flight. Measured in TORPH1
59
+ * cell B; the fix is this pairing plus stamping a composite's intent with the
60
+ * verb's own `startedAt`.
61
+ *
62
+ * Pairing also handles the RE-DISPATCH shape by construction: a key retried
63
+ * after an ambiguous failure records intent+final for the first attempt and a
64
+ * fresh intent for the second, and only the second is unpaired.
65
+ */
66
+ export function findPendingIntent(records, opId, now) {
67
+ const cutoff = now.getTime() - OPID_LOOKBACK_MS;
68
+ const window = records.slice(-OPID_LOOKBACK_RECORDS);
69
+ const inWindow = (r) => r.opId === opId && new Date(r.ts).getTime() >= cutoff;
70
+ const settled = new Set();
71
+ for (const r of window) {
72
+ if (inWindow(r) && r.result !== "intent")
73
+ settled.add(r.ts); // that attempt finished
74
+ }
75
+ // The newest unpaired intent (there is at most one in practice).
76
+ return window.findLast((r) => inWindow(r) && r.result === "intent" && !settled.has(r.ts));
77
+ }
41
78
  export function presenceOracle(spec) {
42
79
  if (spec === undefined) {
43
80
  return {
@@ -95,30 +132,62 @@ export function presenceOracle(spec) {
95
132
  /** The refusal: the key matched an unconfirmed attempt nothing here can settle. */
96
133
  function unreconcilable(record, why) {
97
134
  const target = record.uuid === null ? "the item" : record.uuid;
135
+ // An intent's writer DIED; a timeout's writer finished and could not confirm.
136
+ // Both leave the same ambiguity, and the caller acts on it the same way, but
137
+ // saying which one happened is what makes the trace worth looking at.
138
+ const how = record.result === "intent"
139
+ ? `started a change and its process ended without recording an outcome`
140
+ : `never confirmed its change`;
98
141
  return {
99
142
  kind: "blocked",
100
143
  op: record.op,
101
144
  reason: "reconcile",
102
- detail: `an earlier submission with this idempotency key (${record.ts}) never confirmed its ` +
103
- `change, and ${why} — so whether that change took effect cannot be settled from here`,
145
+ detail: `an earlier submission with this idempotency key (${record.ts}) ${how}, and ${why} — so ` +
146
+ "whether that change took effect cannot be settled from here",
104
147
  remediation: `check ${target} in Things (\`things op-result ${record.opId ?? "<key>"}\` reports what the ` +
105
148
  "earlier attempt recorded); once you know whether the change is there, leave it alone or " +
106
149
  "re-run with a NEW --op-id",
107
150
  };
108
151
  }
109
152
  /**
110
- * Reconcile a resubmission against a TIMED-OUT original: re-read current state
111
- * through the attempt's own recorded assertion and decide.
153
+ * The refusal: this key is STILL RUNNING somewhere. Returned instead of letting
154
+ * the resubmission queue behind the mutation lock, because waiting there is how
155
+ * the double happened — the waiter wakes up after the original finishes and, on
156
+ * the pre-lock answer it is still carrying, executes the verb again.
157
+ *
158
+ * Refusing costs the caller one poll. It is also the only answer that is true
159
+ * for the whole class: nothing here can know whether the running original will
160
+ * succeed, so nothing here should act on a guess about it.
161
+ */
162
+ function stillInFlight(record, holderPid) {
163
+ return {
164
+ kind: "blocked",
165
+ op: record.op,
166
+ reason: "in-flight",
167
+ detail: `an earlier submission with this idempotency key is STILL RUNNING (started ${record.ts}, ` +
168
+ `pid ${holderPid}) — it has not recorded an outcome yet, so nothing was run again here`,
169
+ remediation: `poll \`things op-result ${record.opId ?? "<key>"}\` until it reports a final outcome, then ` +
170
+ "act on that; do not resubmit while it is running (a GUI-driven change takes seconds, and " +
171
+ "longer on a large or syncing database)",
172
+ };
173
+ }
174
+ /**
175
+ * Reconcile a resubmission against an AMBIGUOUS original — one that touched the
176
+ * app and never recorded whether the change landed. Two records reach here: a
177
+ * `verify-failed:timeout` final (the attempt finished and could not confirm) and
178
+ * an orphaned `intent` (the attempt's process died mid-flight, #639). The
179
+ * ambiguity is identical, so the answer is: re-read current state through the
180
+ * attempt's own recorded assertion and decide.
112
181
  *
113
182
  * - satisfied → the change is there: replay it as already-applied, disclosing
114
- * that a timeout was reconciled. The replay carries NO undo token — the trail
115
- * holds no completed-change record for undo to reverse — and takes its uuid
116
- * from the re-read, which is how a create whose uuid was never discovered
117
- * (recorded `uuid: null`) still answers with the row it made.
183
+ * the reconciliation. The replay carries NO undo token — the trail holds no
184
+ * completed-change record for undo to reverse — and takes its uuid from the
185
+ * re-read, which is how a create whose uuid was never discovered (recorded
186
+ * `uuid: null`) still answers with the row it made.
118
187
  * - not satisfied → the change is absent: return null so the write runs.
119
188
  * - no usable oracle → refuse (never a guess).
120
189
  */
121
- function reconcileTimedOut(deps, record) {
190
+ function reconcileAmbiguous(deps, record) {
122
191
  const oracle = presenceOracle(record.expected);
123
192
  if (!oracle.usable)
124
193
  return unreconcilable(record, oracle.why);
@@ -144,15 +213,34 @@ function reconcileTimedOut(deps, record) {
144
213
  }
145
214
  /**
146
215
  * The lookback as a DISPATCH DECISION over an already-read trail: the replay
147
- * result when this key was already applied, a refusal when it matched an
148
- * unsettleable attempt, or null when the write must run. Shared by the batch
149
- * line path and {@link replayIfApplied}.
216
+ * result when this key was already applied, a refusal when it is still running
217
+ * or matched an unsettleable attempt, or null when the write must run. Shared by
218
+ * the batch line path and {@link replayIfApplied}.
219
+ *
220
+ * An unsuperseded intent is consulted FIRST, because it describes the key's
221
+ * present, while any matchable final describes its past. (Both can exist: a key
222
+ * whose first attempt timed out and is now being re-driven has an old timeout
223
+ * final AND a live intent. Acting on the final there would replay a change the
224
+ * running attempt has not finished making.)
150
225
  */
151
226
  export function resolveOpId(deps, records, opId, now) {
227
+ const pending = findPendingIntent(records, opId, now);
228
+ if (pending !== undefined) {
229
+ const holder = pending.holder;
230
+ // No holder recorded (an M3 intent from before write-ahead intents, or a
231
+ // path that writes one unkeyed): liveness is unknowable, and the safe
232
+ // unknowable answer is the one that never doubles — treat it as running.
233
+ if (holder === undefined || instanceAlive(holder)) {
234
+ return stillInFlight(pending, holder?.pid ?? -1);
235
+ }
236
+ // The holder is gone and no outcome was ever recorded: same ambiguity as a
237
+ // timeout, same oracle-driven answer.
238
+ return reconcileAmbiguous(deps, pending);
239
+ }
152
240
  const match = findOpIdRecord(records, opId, now);
153
241
  if (match === undefined)
154
242
  return null;
155
- return match.result === "ok" ? replayResultFromRecord(match) : reconcileTimedOut(deps, match);
243
+ return match.result === "ok" ? replayResultFromRecord(match) : reconcileAmbiguous(deps, match);
156
244
  }
157
245
  /**
158
246
  * The dispatch decision for a SINGLE invocation, reading the trail itself. The
@@ -162,6 +250,12 @@ export function resolveOpId(deps, records, opId, now) {
162
250
  * flip-dance, and the promote-via-clone verbs; they never reach `run`, so
163
251
  * without this the key would be recorded and never honored).
164
252
  *
253
+ * Called TWICE per keyed write, and the second call is the one that matters —
254
+ * see the module header on double-checked locking. Both calls re-read the trail:
255
+ * the whole point of the post-acquire check is that the trail changed while this
256
+ * process was waiting for the lock, so a cached read would answer the stale
257
+ * question all over again.
258
+ *
165
259
  * Three conditions fail-open (run the write) rather than fail-closed: no key, a
166
260
  * dry run (it mints and records nothing, so there is nothing to deduplicate
167
261
  * against), or no trail to read.
@@ -1 +1 @@
1
- {"version":3,"file":"opid.js","sourceRoot":"","sources":["../../src/write/opid.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EACL,sBAAsB,GAIvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAkB,MAAM,mBAAmB,CAAC;AAElF,2FAA2F;AAC3F,MAAM,CAAC,MAAM,QAAQ,GAAG,uBAAuB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAC1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAExD,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAC1B,4FAA4F;IAC5F,+FAA+F;IAC/F,8DAA8D,CAAC;AAEjE,sEAAsE;AACtE,SAAS,SAAS,CAAC,MAA6B;IAC9C,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,uBAAuB,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAsB,EACtB,IAAY,EACZ,GAAS;IAET,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,gBAAgB,CAAC;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACrD,IAAI,KAA8B,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,SAAS;QACtD,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,MAAM;YAAE,SAAS;QAChD,KAAK,GAAG,CAAC,CAAC,CAAC,4DAA4D;IACzE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAaD,MAAM,UAAU,cAAc,CAAC,IAA2B;IACxD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO;YACL,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,wDAAwD;SAC9D,CAAC;IACJ,CAAC;IACD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,GAAG,CAAC;gBACrC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;gBAClB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,qDAAqD,EAAE,CAAC;QACpF,CAAC;QACD,KAAK,gBAAgB;YACnB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAC3B,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;gBAClB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,qDAAqD,EAAE,CAAC;QACpF,KAAK,QAAQ;YACX,sEAAsE;YACtE,uEAAuE;YACvE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC;gBAC9B,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;gBAClB,CAAC,CAAC;oBACE,MAAM,EAAE,KAAK;oBACb,GAAG,EACD,kFAAkF;wBAClF,+BAA+B;iBAClC,CAAC;QACR,KAAK,gBAAgB,CAAC;QACtB,KAAK,MAAM;YACT,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC1B,KAAK,UAAU;YACb,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAC7B,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;gBAClB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,uDAAuD,EAAE,CAAC;QACtF,KAAK,eAAe;YAClB,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,GAAG,EACD,mFAAmF;oBACnF,yDAAyD;aAC5D,CAAC;QACJ,KAAK,YAAY;YACf,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,GAAG,EACD,sFAAsF;oBACtF,+BAA+B;aAClC,CAAC;QACJ,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,UAAU,GAAU,IAAI,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,SAAS,cAAc,CAAC,MAAmB,EAAE,GAAW;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;IAC/D,OAAO;QACL,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,MAAM,CAAC,EAAmB;QAC9B,MAAM,EAAE,WAAW;QACnB,MAAM,EACJ,oDAAoD,MAAM,CAAC,EAAE,wBAAwB;YACrF,eAAe,GAAG,mEAAmE;QACvF,WAAW,EACT,SAAS,MAAM,kCAAkC,MAAM,CAAC,IAAI,IAAI,OAAO,sBAAsB;YAC7F,0FAA0F;YAC1F,2BAA2B;KAC9B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,iBAAiB,CAAC,IAAe,EAAE,MAAmB;IAC7D,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,QAAqB,CAAC;IAC1C,MAAM,UAAU,GAAG,aAAa,CAC9B,IAAI,EACJ,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;IAC9D,0EAA0E;IAC1E,6EAA6E;IAC7E,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAC7B,CAAC;IACF,IAAI,CAAC,UAAU,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,CAAC,6CAA6C;IACtF,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAChD,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,mBAAmB,EAAE,eAAe,CAAC,CAAC;IACpD,OAAO,MAAM,CACX;QACE,GAAG,IAAI;QACP,IAAI,EAAE,UAAU,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI;QAC9C,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC;KAC/E,EACD,GAAG,CACJ,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,IAAe,EACf,OAAsB,EACtB,IAAY,EACZ,GAAS;IAET,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACjD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAChG,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAC,IAAe,EAAE,OAAqB;IACpE,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvE,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACjD,OAAO,WAAW,CAChB,IAAI,EACJ,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,EACnC,OAAO,CAAC,IAAI,EACZ,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,CAC3B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"opid.js","sourceRoot":"","sources":["../../src/write/opid.ts"],"names":[],"mappings":"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"}
@@ -523,6 +523,18 @@ const REPEAT_RULE = {
523
523
  startDaysEarlier: opt(int(0, 366, "a whole number of days ≥ 0")),
524
524
  next: opt(isoDate()),
525
525
  };
526
+ /**
527
+ * reschedule-repeat: the same vocabulary with `frequency` + `interval` OPTIONAL,
528
+ * because the verb has two spellings — restate the rule (both required), or move
529
+ * the next occurrence with `next` alone (the series RE-ANCHOR). Which one this is,
530
+ * and that a re-anchor carries nothing else, is settled by `assertRescheduleRule`
531
+ * — the schema's job is only to let the second shape through the type gate.
532
+ */
533
+ const RESCHEDULE_RULE = {
534
+ ...REPEAT_RULE,
535
+ frequency: opt(enumOf(["daily", "weekly", "monthly", "yearly"])),
536
+ interval: opt(int(1, 99, "a whole number 1–99")),
537
+ };
526
538
  const SET_DATES = {
527
539
  uuid: str("an item uuid"),
528
540
  completedAt: opt(timestamp()),
@@ -685,12 +697,12 @@ export const PARAM_SCHEMAS = {
685
697
  "project.dissolve-heading": { uuid: str("a heading uuid") },
686
698
  "todo.clear-dated-reminder": UUID_ONLY,
687
699
  "todo.make-repeating": REPEAT_RULE,
688
- "todo.reschedule-repeat": REPEAT_RULE,
700
+ "todo.reschedule-repeat": RESCHEDULE_RULE,
689
701
  "todo.pause-repeat": UUID_ONLY,
690
702
  "todo.resume-repeat": UUID_ONLY,
691
703
  "todo.create-next-copy": UUID_ONLY,
692
704
  "todo.convert-to-project": UUID_ONLY,
693
- "project.reschedule-repeat": REPEAT_RULE,
705
+ "project.reschedule-repeat": RESCHEDULE_RULE,
694
706
  "project.pause-repeat": { uuid: str("a project uuid or unique title") },
695
707
  "project.resume-repeat": { uuid: str("a project uuid or unique title") },
696
708
  "area.reorder": {
@@ -1 +1 @@
1
- {"version":3,"file":"param-schema.js","sourceRoot":"","sources":["../../src/write/param-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EACL,mBAAmB,EAEnB,YAAY,EACZ,YAAY,EACZ,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,QAAQ,GAGT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAyDxE,6EAA6E;AAC7E,0EAA0E;AAC1E,4EAA4E;AAC5E,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,6EAA6E;AAC7E,6BAA6B;AAC7B,MAAM,GAAG,GAAG,CAAC,QAAQ,GAAG,oBAAoB,EAAa,EAAE,CAAC,CAAC;IAC3D,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,YAAY;IACpB,QAAQ;CACT,CAAC,CAAC;AAEH,sEAAsE;AACtE,MAAM,IAAI,GAAG,CAAC,QAAQ,GAAG,UAAU,EAAa,EAAE,CAAC,CAAC;IAClD,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,KAAK;IACf,MAAM,EAAE,YAAY;IACpB,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,CAAC,QAAQ,GAAG,eAAe,EAAa,EAAE,CAAC,CAAC;IACvD,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,KAAK;IACf,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,QAAiB,EAAa,EAAE,CAAC,CAAC;IACvE,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,IAAI;IACb,GAAG;IACH,GAAG;IACH,QAAQ,EAAE,QAAQ,IAAI,kBAAkB,GAAG,IAAI,GAAG,EAAE;CACrD,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,CAAC,QAAQ,GAAG,+BAA+B,EAAa,EAAE,CAAC,CAAC;IAC3E,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,KAAK;IACf,MAAM,EAAE,YAAY;IACpB,QAAQ;CACT,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,eAAe,GAAG,CAAC,QAAQ,GAAG,mCAAmC,EAAa,EAAE,CAAC,CAAC;IACtF,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACrB,QAAQ,EAAE,mBAAmB;CAC9B,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,MAAyB,EAAa,EAAE,CAAC,CAAC;IACxD,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,KAAK;IACf,MAAM;IACN,QAAQ,EAAE,UAAU,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;CACzC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,GAAc,EAAE,CAAC,CAAC;IAClC,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,gEAAgE;CAC3E,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CACb,QAAgB,EAChB,QAAyD,EAC9C,EAAE,CAAC,CAAC;IACf,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,KAAK;IACf,QAAQ;IACR,QAAQ;CACT,CAAC,CAAC;AAEH,wDAAwD;AACxD,MAAM,GAAG,GAAG,CAAC,IAAe,EAAa,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAE1E,8EAA8E;AAE9E,oFAAoF;AACpF,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAC5C,QAAQ,OAAO,KAAK,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC;QACpB,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC;QACrB;YACE,OAAO,OAAO,KAAK,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW;IAChE,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,CACL,GAAG,IAAI,sBAAsB,GAAG,qBAAqB,KAAK,2BAA2B;QACrF,GAAG,GAAG,oEAAoE,CAC3E,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAC1C;;;;;GAKG;AACH,MAAM,YAAY,GAAG,oDAAoD,CAAC;AAC1E,MAAM,WAAW,GAAG,iBAAiB,CAAC;AACtC,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAE1E;;;;GAIG;AACH,MAAM,aAAa,GAAG,kDAAkD,CAAC;AACzE,MAAM,SAAS,GAAG,GAAc,EAAE,CAChC,MAAM,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,GAAG,IAAI,cAAc,aAAa,eAAe,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IAChF,CAAC;IACD,IAAK,aAAmC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;QACjF,OAAO,IAAI,CAAC;IACd,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QACxB,CAAC,CAAC,GAAG,IAAI,8GAA8G,KAAK,GAAG;QAC/H,CAAC,CAAC,GAAG,IAAI,cAAc,aAAa,gBAAgB,KAAK,GAAG,CAAC;AACjE,CAAC,CAAC,CAAC;AAEL,MAAM,OAAO,GAAG,GAAc,EAAE,CAC9B,MAAM,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAC5C,OAAO,KAAK,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;IAClD,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,GAAG,IAAI,6CAA6C,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CACzH,CAAC;AAEJ,MAAM,SAAS,GAAG,GAAc,EAAE,CAChC,MAAM,CAAC,6BAA6B,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CACpD,OAAO,KAAK,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;IACnD,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,GAAG,IAAI,cAAc,6BAA6B,eAAe,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CACtI,CAAC;AAEJ,MAAM,YAAY,GAAG,GAAc,EAAE,CACnC,MAAM,CAAC,gCAAgC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CACvD,OAAO,KAAK,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;IAClD,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,GAAG,IAAI,wDAAwD,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CACpI,CAAC;AAEJ,yDAAyD;AACzD,MAAM,YAAY,GAAG,GAAc,EAAE,CACnC,MAAM,CAAC,8BAA8B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IAC5E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,IAAI,mDAAmD,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IACzF,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAE,QAA8B,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9E,OAAO,GAAG,IAAI,IAAI,CAAC,sBAAsB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACzI,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC;AAEL,8EAA8E;AAC9E,SAAS,YAAY,CAAC,EAAc,EAAE,IAAY;IAChD,IAAI,CAAC;QACH,EAAE,EAAE,CAAC;QACL,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IACxE,CAAC;AACH,CAAC;AAED,+CAA+C;AAC/C,SAAS,gBAAgB,CACvB,KAA8B,EAC9B,OAA0B,EAC1B,IAAY;IAEZ,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,SAAS;QACvC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,GAAG,IAAI,IAAI,GAAG,uDAAuD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnG,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kFAAkF;AAClF,MAAM,aAAa,GAAG,GAAc,EAAE,CACpC,MAAM,CACJ,+GAA+G,EAC/G,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACd,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,IAAI,qEAAqE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3G,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7E,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IACrC,OAAO,YAAY,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;AAC5E,CAAC,CACF,CAAC;AAEJ,gEAAgE;AAChE,MAAM,YAAY,GAAG,GAAc,EAAE,CACnC,MAAM,CACJ,sGAAsG,EACtG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACd,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,IAAI,0DAA0D,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IAChG,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IACtF,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAK,KAAgB,GAAG,CAAC,IAAK,KAAgB,GAAG,EAAE,EAAE,CAAC;QAChF,OAAO,GAAG,IAAI,mDAAmD,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IACzF,CAAC;IACD,OAAO,YAAY,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;AAC5E,CAAC,CACF,CAAC;AAEJ,oDAAoD;AACpD,MAAM,SAAS,GAAG,GAAc,EAAE,CAChC,MAAM,CACJ,mGAAmG,EACnG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACd,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,IAAI,6CAA6C,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IACnF,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC/D,OAAO,GAAG,IAAI,6DAA6D,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;IAC3I,CAAC;IACD,MAAM,OAAO,GACX,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1F,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACvD,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IACrC,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,GAAG,IAAI,kDAAkD,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IAChG,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,GAAG,IAAI,oDAAoD,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IACnG,CAAC;IACD,OAAO,YAAY,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAc,CAAC,EAAE,IAAI,CAAC,CAAC;AACnE,CAAC,CACF,CAAC;AAEJ,8FAA8F;AAC9F,MAAM,gBAAgB,GAAG,GAAc,EAAE,CACvC,MAAM,CACJ,mFAAmF,EACnF,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACd,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,IAAI,4CAA4C,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IAClF,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/E,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IACrC,MAAM,KAAK,GAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAW,CAAC,MAAM,CAC7D,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CACnD,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;YACvB,CAAC,CAAC,GAAG,IAAI,4FAA4F;YACrG,CAAC,CAAC,GAAG,IAAI,iFAAiF,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACpH,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAoC,CAAC;IACzD,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;YAClC,OAAO,GAAG,IAAI,+CAA+C,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACpH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,GAAG,IAAI,IAAI,IAAI,6DAA6D,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACvG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CACF,CAAC;AAEJ,mFAAmF;AACnF,MAAM,cAAc,GAAG,GAAc,EAAE,CACrC,MAAM,CACJ,wEAAwE,EACxE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,IAAI,qDAAqD,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3F,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC1E,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QAC3B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBACnB,OAAO,GAAG,EAAE,yDAAyD,CAAC;YACxE,MAAM,IAAI,GAAG,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;YACxD,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,GAAG,EAAE,mEAAmE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACtG,CAAC;QACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC;QACrC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO,GAAG,EAAE,kDAAkD,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC9F,CAAC;QACD,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;QACjF,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QACzC,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9E,OAAO,GAAG,EAAE,iDAAiD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACjG,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CACF,CAAC;AAEJ,yEAAyE;AACzE,MAAM,YAAY,GAAG,GAAc,EAAE,CACnC,MAAM,CAAC,uEAAuE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IAC9F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,IAAI,mDAAmD,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IACzF,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,GAAG,EAAE,8EAA8E,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACjH,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3C,OAAO,GAAG,EAAE,8CAA8C,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1H,CAAC;QACD,MAAM,OAAO,GACX,IAAI,KAAK,SAAS;YAChB,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;YACnB,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC;QACrC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO,GAAG,EAAE,kDAAkD,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC9F,CAAC;QACD,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;QACjF,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QACzC,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,MAAM,UAAU,GAA8B;YAC5C,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;YACtB,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;YACrB,cAAc,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC;SACvC,CAAC;QACF,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAC1D,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC;AAEL,gFAAgF;AAEhF,wEAAwE;AACxE,SAAS,UAAU,CAAC,IAAe,EAAE,KAAc,EAAE,IAAY;IAC/D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO,GAAG,IAAI,yBAAyB,IAAI,CAAC,QAAQ,sBAAsB,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAClH,CAAC;IACD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,aAAa;YAChB,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,GAAG,IAAI,cAAc,IAAI,CAAC,QAAQ,eAAe,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAChF,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjD,OAAO,GAAG,IAAI,cAAc,IAAI,CAAC,QAAQ,6BAA6B,CAAC;YACzE,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC9B,OAAO,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,SAAS;YACZ,OAAO,OAAO,KAAK,KAAK,SAAS;gBAC/B,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,GAAG,IAAI,cAAc,IAAI,CAAC,QAAQ,eAAe,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7E,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrD,OAAO,GAAG,IAAI,cAAc,IAAI,CAAC,QAAQ,eAAe,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAChF,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtD,OAAO,GAAG,IAAI,cAAc,IAAI,CAAC,QAAQ,eAAe,KAAK,EAAE,CAAC;YAClE,CAAC;YACD,IACE,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;gBAC5C,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAC5C,CAAC;gBACD,OAAO,GAAG,IAAI,cAAc,IAAI,CAAC,QAAQ,eAAe,KAAK,EAAE,CAAC;YAClE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,GAAG,IAAI,cAAc,IAAI,CAAC,QAAQ,eAAe,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAChF,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpE,IAAI,OAAO,KAAK,IAAI;oBAAE,OAAO,OAAO,CAAC;YACvC,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAC3B,OAAO,GAAG,IAAI,IAAI,CAAC,6CAA6C,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrF,CAAC;gBACD,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpB,OAAO,GAAG,IAAI,IAAI,CAAC,2DAA2D,CAAC;gBACjF,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBACpE,IAAI,MAAM,KAAK,IAAI;wBAAE,OAAO,MAAM,CAAC;gBACrC,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;YACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzD,OAAO,GAAG,IAAI,cAAc,IAAI,CAAC,QAAQ,eAAe,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3H,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,WAAW;YACd,OAAO,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrC,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;QAC9C,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,UAAU,GAAU,IAAI,CAAC,IAAI,CAAC;YACpC,OAAO,GAAG,IAAI,0BAA0B,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,KAAc,EAAE,IAAY;IAClD,MAAM,QAAQ,GAAG,gEAAgE,CAAC;IAClF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CACL,GAAG,IAAI,cAAc,QAAQ,gDAAgD;YAC7E,sCAAsC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAC/D,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,IAAI,cAAc,QAAQ,eAAe,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3E,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IACjE,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,GAAG,IAAI,cAAc,QAAQ,sCAAsC,CAAC;IAC7E,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI;QACrB,CAAC,MAAM,EAAE,IAAI,CAAC;QACd,CAAC,OAAO,EAAE,KAAK,CAAC;KACR,EAAE,CAAC;QACX,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS;QAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,GAAG,IAAI,IAAI,GAAG,4CAA4C,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,GAAG,IAAI,IAAI,GAAG,0DAA0D,CAAC;QAClF,CAAC;IACH,CAAC;IACD,+EAA+E;IAC/E,+DAA+D;IAC/D,OAAO,IAAI,CAAC;AACd,CAAC;AAMD,8CAA8C;AAC9C,MAAM,SAAS,GAA8B,EAAE,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;AAE3E,0EAA0E;AAC1E,MAAM,aAAa,GAAG;IACpB,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IAClB,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IACxB,YAAY,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;IACtB,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;IAC7B,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;CAChB,CAAC;AAEX,0FAA0F;AAC1F,MAAM,kBAAkB,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3D,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,qBAAqB,CAAC;IAC3C,eAAe,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;IAC7B,OAAO,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC;IAC7B,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;IAC3B,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;CACd,CAAC;AAEX,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC;IACzB,GAAG,kBAAkB;IACrB,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;IAC7B,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IACvE,gBAAgB,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,4BAA4B,CAAC,CAAC;IAChE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,SAAS,GAA+B;IAC5C,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC;IACzB,WAAW,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;IAC7B,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,YAAY,GAA4B,EAAE,MAAM,EAAE,GAAG,CAAC,0BAA0B,CAAC,EAAE,CAAC;AAE1F,MAAM,KAAK,GAA2B;IACpC,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC;IACzB,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IACjB,eAAe,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,QAAQ,GAA8B;IAC1C,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC;IACzB,IAAI,EAAE,QAAQ,CAAC,yDAAyD,CAAC;CAC1E,CAAC;AAEF,iDAAiD;AACjD,MAAM,SAAS,GAA4B,EAAE,CAAC;AAE9C,MAAM,cAAc,GAAG;IACrB,OAAO;IACP,SAAS;IACT,SAAS;IACT,MAAM;IACN,OAAO;IACP,SAAS;IACT,UAAU;IACV,SAAS;IACT,cAAc;IACd,SAAS;IACT,eAAe;IACf,KAAK;IACL,iBAAiB;IACjB,UAAU;IACV,UAAU;CACF,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAA0C;IAClE,UAAU,EAAE;QACV,KAAK,EAAE,GAAG,EAAE;QACZ,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QACtB,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;QAC7B,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QAC7C,cAAc,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC;QACtC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QACzB,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QACnE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QAC3B,WAAW,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;KAC9B;IACD,aAAa,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,GAAG,aAAa,EAAE;IAC9D,eAAe,EAAE,SAAS;IAC1B,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,SAAS;IACxB,WAAW,EAAE;QACX,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC;QACzB,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QACzB,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QACnE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAClB,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;KACnB;IACD,eAAe,EAAE,QAAQ;IACzB,wBAAwB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAChF,0BAA0B,EAAE;QAC1B,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QACjB,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,uCAAuC,CAAC,CAAC;QACnE,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,uCAAuC,CAAC,CAAC;QAChE,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,uCAAuC,CAAC,CAAC;QAChE,QAAQ,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;KACrB;IACD,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE;QACb,KAAK,EAAE,GAAG,EAAE;QACZ,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QACtB,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QACxB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;QACtD,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;QAC1B,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QAC3B,WAAW,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;KAC9B;IACD,gBAAgB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,gCAAgC,CAAC,EAAE,GAAG,aAAa,EAAE;IACnF,kBAAkB,EAAE;QAClB,IAAI,EAAE,GAAG,CAAC,gCAAgC,CAAC;QAC3C,QAAQ,EAAE,MAAM,CAAC,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;KACxD;IACD,gBAAgB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,gCAAgC,CAAC,EAAE;IACjE,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,EAAE;IAC3E,aAAa,EAAE,YAAY;IAC3B,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,EAAE;IAC7E,YAAY,EAAE,YAAY;IAC1B,aAAa,EAAE,SAAS;IACxB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;QAC7B,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QAC3B,KAAK,EAAE,QAAQ,CAAC,mCAAmC,CAAC;QACpD,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,4CAA4C,CAAC,CAAC;QAClE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;KAC5C;IACD,gBAAgB,EAAE,SAAS;IAC3B,aAAa,EAAE;QACb,MAAM,EAAE,GAAG,CAAC,0BAA0B,CAAC;QACvC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QACjB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;KACvD;IACD,YAAY,EAAE;QACZ,MAAM,EAAE,GAAG,CAAC,0BAA0B,CAAC;QACvC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAChD,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QACnB,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACxC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;KAC3B;IACD,cAAc,EAAE;QACd,IAAI,EAAE,GAAG,CAAC,gCAAgC,CAAC;QAC3C,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;KACpB;IACD,cAAc,EAAE,SAAS;IACzB,mBAAmB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,gCAAgC,CAAC,EAAE;IACpE,gBAAgB,EAAE;QAChB,IAAI,EAAE,GAAG,CAAC,gCAAgC,CAAC;QAC3C,QAAQ,EAAE,MAAM,CAAC,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;KACtD;IACD,gBAAgB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,gCAAgC,CAAC,EAAE;IACjE,iBAAiB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,gCAAgC,CAAC,EAAE;IAClE,kBAAkB,EAAE;QAClB,IAAI,EAAE,GAAG,CAAC,gCAAgC,CAAC;QAC3C,IAAI,EAAE,QAAQ,CAAC,yDAAyD,CAAC;KAC1E;IACD,gBAAgB,EAAE,SAAS;IAC3B,mBAAmB,EAAE,SAAS;IAC9B,qBAAqB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC7D,wBAAwB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACvE,yBAAyB,EAAE;QACzB,IAAI,EAAE,GAAG,CAAC,gBAAgB,CAAC;QAC3B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;KAC1D;IACD,2BAA2B,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,gBAAgB,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE;IAC1F,yBAAyB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,gBAAgB,CAAC,EAAE;IAC1D,sBAAsB,EAAE;QACtB,OAAO,EAAE,SAAS,EAAE;QACpB,QAAQ,EAAE,QAAQ,CAAC,0DAA0D,CAAC;QAC9E,SAAS,EAAE,gBAAgB,EAAE;KAC9B;IACD,iCAAiC,EAAE;QACjC,OAAO,EAAE,SAAS,EAAE;QACpB,OAAO,EAAE,GAAG,CAAC,mDAAmD,CAAC;QACjE,SAAS,EAAE,SAAS,EAAE;KACvB;IACD,0BAA0B,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,gBAAgB,CAAC,EAAE;IAC3D,2BAA2B,EAAE,SAAS;IACtC,qBAAqB,EAAE,WAAW;IAClC,wBAAwB,EAAE,WAAW;IACrC,mBAAmB,EAAE,SAAS;IAC9B,oBAAoB,EAAE,SAAS;IAC/B,uBAAuB,EAAE,SAAS;IAClC,yBAAyB,EAAE,SAAS;IACpC,2BAA2B,EAAE,WAAW;IACxC,sBAAsB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,gCAAgC,CAAC,EAAE;IACvE,uBAAuB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,gCAAgC,CAAC,EAAE;IACxE,cAAc,EAAE;QACd,MAAM,EAAE,GAAG,CAAC,8BAA8B,CAAC;QAC3C,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAChD,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC/C,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;KACzC;IACD,wBAAwB,EAAE,WAAW;IACrC,uBAAuB,EAAE;QACvB,GAAG,kBAAkB;QACrB,KAAK,EAAE,GAAG,EAAE;QACZ,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QACtB,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QACxB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;QACtD,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;QAC1B,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;KAC5B;IACD,oBAAoB,EAAE;QACpB,GAAG,kBAAkB;QACrB,KAAK,EAAE,GAAG,EAAE;QACZ,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QACtB,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;QAC7B,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QACxB,gBAAgB,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,4BAA4B,CAAC,CAAC;QAChE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QAC7C,cAAc,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC;QACtC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QACzB,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QACnE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;KAC5B;IACD,YAAY,EAAE,KAAK;IACnB,eAAe,EAAE,KAAK;IACtB,SAAS,EAAE,SAAS;CACrB,CAAC;AAEF,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,EAAiB,EAAE,MAAe;IACxE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,OAAO,iEAAiE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;IACjG,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAA0C,CAAC;IAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAA8B,CAAC,CAAC;IAE1E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,SAAS;QACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;gBACvB,CAAC,CAAC,UAAU,GAAG,MAAM,EAAE,4DAA4D;gBACnF,CAAC,CAAC,UAAU,GAAG,yBAAyB,EAAE,+BAA+B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChG,CAAC;IACH,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC;QAC7D,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sFAAsF;AACtF,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAC9C,qDAAqD;IAC5C,EAAE,CAAgB;IAE3B,YAAY,EAAiB,EAAE,MAAc;QAC3C,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;CACF;AAED,iFAAiF;AACjF,MAAM,UAAU,qBAAqB,CAAC,EAAiB,EAAE,MAAe;IACtE,MAAM,MAAM,GAAG,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACnD,IAAI,MAAM,KAAK,IAAI;QAAE,MAAM,IAAI,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AAC9D,CAAC;AAaD;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,EAAiB;IAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAA8B,CAAC;IAC9D,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACjD,MAAM,GAAG,GAAiB;YACxB,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACxD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,uBAAuB;IACrC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAA2D,EAAE,CAAC;IACvE,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;QACjC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAA8B,CAAC,EAAE,CAAC;YAC3F,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"param-schema.js","sourceRoot":"","sources":["../../src/write/param-schema.ts"],"names":[],"mappings":"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"}
@@ -276,8 +276,13 @@ export type MutationResult = {
276
276
  * an earlier attempt that never finished confirming, and that attempt's
277
277
  * record carries nothing that can tell whether its change landed — so the
278
278
  * caller is told to look rather than handed a guess (src/write/opid.ts).
279
+ *
280
+ * `in-flight` is its LIVE sibling (#639): the key matched an attempt that
281
+ * is still running right now. Distinct from `lock` — that one says some
282
+ * other mutation holds the lock, this one says THIS key is already in
283
+ * progress, so the answer is to poll `things op-result` rather than retry.
279
284
  */
280
- reason: "hazard" | "disruption-tier" | "drift" | "lock" | "environment" | "clock" | "scope" | "reconcile";
285
+ reason: "hazard" | "disruption-tier" | "drift" | "lock" | "environment" | "clock" | "scope" | "reconcile" | "in-flight";
281
286
  hazard?: HazardId;
282
287
  detail: string;
283
288
  remediation: string;
@@ -399,8 +404,44 @@ export declare function normalizeConsumerWhen(params: Record<string, unknown>, n
399
404
  * single op, carrying the composite's own op name. No audit record is written
400
405
  * for it — unlike the single-op path, nothing was attempted, so there is no leg
401
406
  * to record.
407
+ *
408
+ * `keyed` (present exactly when the caller accepted an `--op-id`) adds the two
409
+ * halves of #639 at the SUMMARY layer, where a composite's key lives:
410
+ *
411
+ * - the POST-ACQUIRE half of the double-checked lookback, run before the first
412
+ * leg. Its absence is what let a retry fired mid-drive wait out the lock and
413
+ * then re-run the whole verb — a second clone, a second trashed original, a
414
+ * second series;
415
+ * - the WRITE-AHEAD INTENT: one record, at the summary layer, saying this key
416
+ * is in flight and which process owns it. The legs run with the key stripped
417
+ * and write only their own ordinary M3 intents, so the verb keeps its
418
+ * one-record-per-key discipline.
402
419
  */
403
- export declare function runComposite(deps: WriteDeps, op: OperationKind, body: () => Promise<MutationResult>,
420
+ export interface CompositeKey {
421
+ /** The caller's write options — the `opId` here is what makes this composite keyed. */
422
+ options: WriteOptions;
423
+ /**
424
+ * The verb's start instant — the SAME one its summary will carry, so the two
425
+ * records share a `ts` exactly as the single-op intent/final pair does (and so
426
+ * "in flight since T" names when the caller's verb began, not when it reached
427
+ * the lock). This is also why supersession must be POSITIONAL: with a shared
428
+ * `ts`, file order is the only thing that says which came last.
429
+ */
430
+ startedAt: Date;
431
+ /** The composite's own transaction id, so the intent joins its summary. */
432
+ txnId: string;
433
+ /** The verb's target as far as it is known before the first leg. */
434
+ uuid: string | null;
435
+ /** The normalized request, for the target/title snapshot the intent carries. */
436
+ requested: Record<string, unknown>;
437
+ /**
438
+ * The presence oracle a DEAD holder's resubmission would reconcile against.
439
+ * Omitted when the verb's start knows no assertion that could settle whether
440
+ * its change landed — those resubmissions refuse honestly instead.
441
+ */
442
+ expected?: DeltaSpec;
443
+ }
444
+ export declare function runComposite(deps: WriteDeps, op: OperationKind, body: () => Promise<MutationResult>, keyed?: CompositeKey,
404
445
  /** @internal test seam — see {@link AcquireMutationLockOptions}. */
405
446
  lockOptions?: AcquireMutationLockOptions): Promise<MutationResult>;
406
447
  export declare function runMutation<K extends OperationKind>(deps: WriteDeps, op: K, params: OperationParamsMap[K], options?: WriteOptions): Promise<MutationResult>;