@davidbalzan/groundwork-seam 0.1.15 → 0.1.16

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.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,14 @@ Started at 0.1.6 because a contract change landed in the tree with nowhere to re
6
6
  it — which is the same class of gap as the change itself: a fact that exists and has
7
7
  no home.
8
8
 
9
+ ## [0.1.16] — 2026-09-11
10
+
11
+ ### Fixed
12
+ - `zeroIsUnparsed` no longer reports a pruned-but-healthy queue as unparsed. It measured CONTENT (`substantiveLines`) on every axis — the right question for the done axis, the wrong one for a queue, which keeps its headings and explanatory prose by design. Measured on this repo's own queue: 793 substantive lines, zero rows, `unparsed: true`. Red-when-fine, one axis over from the failure the predicate was written to avoid.
13
+
14
+ ### Added
15
+ - `queueRowAttempts` and an optional `axis` argument to `zeroIsUnparsed`. For `"queue"` the discriminator is checkbox ROW ATTEMPTS — lines somebody wrote as rows — not authored content. **Omitting the axis preserves the previous behaviour exactly**, so the done and board axes are unchanged. Not "any list item": pruning the real queue leaves 0 checkbox lines and 9 plain bullets of template prose, so a bullet-counting predicate stays red on the very case being fixed.
16
+
9
17
  ## [0.1.8] — 2026-08-28
10
18
 
11
19
  ### Added
package/README.md CHANGED
@@ -4,4 +4,51 @@ Schema owner of `docs/QUEUE.md`, `docs/DONE.md`, `docs/WORKSTREAMS.md`, `docs/FA
4
4
 
5
5
  Markdown stays authoritative. This package is a library, not a daemon.
6
6
 
7
+ ## Find the answer without knowing the name
8
+
9
+ **This section is indexed by the QUESTION, not by the export.** If you are about to
10
+ write a regex against one of these documents, the answer is almost certainly here —
11
+ and if it is not, that is a gap in this package, not a reason to hand-roll one.
12
+ See *Gaps* below for the ones we know about.
13
+
14
+ > **Why this section exists.** A consumer re-derived three verdicts this package
15
+ > already owns, each with a local regex. That is a seam-design failure, not a
16
+ > consumer bug: every export was present and none was findable without already
17
+ > knowing its name. The fix is that the name is now the ANSWER rather than the
18
+ > search term.
19
+
20
+ | You want to know… | Ask | Never |
21
+ |---|---|---|
22
+ | Is this queue item done? | `queueItemsOf(doc)` → `item.done` | a `/\[x\]/` or `/done\|merged\|closed/i` regex |
23
+ | What are this queue's items at all? | `queueItemsOf(parseWorkDoc(text))` | splitting on `- [ ]` |
24
+ | What does this DONE entry cite? | `doneEntriesOf(doc)` → `entry.ref` | scraping `#\d+` from the line |
25
+ | Do two refs mean the same PR? | `refsMatch(a, b, { contextRepo })` | string equality |
26
+ | What CLOSED this queue row? | `closingCitation(row)` — a nullish result means *read the row* | any "closed by" in the body; 4 rows say it in prose |
27
+ | …the same commit? | `commitRefMatches(a, b, { contextRepo })` | comparing sha prefixes by hand |
28
+ | Which refs does this text carry? | `refsIn(text)` · `commitRefsIn(text)` | a local `#(\d+)` |
29
+ | Which board grammar is this? | `boardSchemaOf(doc)` | reading the header row yourself |
30
+ | Which board rows are `workstreams.v1`? | `workstreamsV1RowsOf(doc)` | indexing table cells positionally |
31
+ | Does this row carry a leading tag? | `leadingTagsOf(item)` · `sweepTagOf` · `awaitingOf` | matching `**[KEY:value]**` anywhere in the line |
32
+ | Is a zero an answer or an unread file? | `zeroIsUnparsed(count, sourceText, axis?)` | treating `0` as "none" |
33
+ | What is wrong with this document? | `workDocIssues(doc)` · `workDocIssuesDetailed(doc)` | your own validator |
34
+ | Which phase citations CLOSE a task? | `phaseClosureCitationsIn(text)` | `phaseCitationsIn`, which cannot tell "closes" from "unblocks" |
35
+ | Did this diff newly tick a task? | `newlyTickedInDiff(diff)` | diffing checkbox counts |
36
+
37
+ **A verdict this package exports is a verdict this package owns.** If your code
38
+ answers one of the questions above with its own regex, the two answers will
39
+ diverge — and the divergence is silent, because both sides parse cleanly.
40
+
41
+ ## Gaps — questions this package does NOT answer
42
+
43
+ Recorded so a consumer can tell "you missed it" from "we do not offer it", and so
44
+ the check that flags re-derivations knows what it must NOT flag.
45
+
46
+ - **Counting checkboxes in a phase file.** `newlyTickedInDiff` reads a DIFF;
47
+ `phaseCitationsIn` reads citations in prose. Neither counts `- [x]` in a phase
48
+ document. A consumer doing that is filling a gap, not duplicating a verdict.
49
+ - **The source LINE of a parsed item.** No item type carries a line, index or
50
+ offset, so anything that reports `docs/QUEUE.md:<line>` must scan lines itself.
51
+
52
+ ## Notes
53
+
7
54
  PR2 parse contract: any markdown table is a board, arity 5. Header-cell detection is PR3.
package/dist/docs.d.ts CHANGED
@@ -82,9 +82,19 @@ export type Block = {
82
82
  kind: "decisions";
83
83
  items: string[];
84
84
  };
85
+ /** What the continuation check looked at, and the RULE that produced it. */
86
+ export type ContinuationPopulation = {
87
+ rule: string;
88
+ linesConsidered: number;
89
+ loadBearing: number;
90
+ proseOnly: number;
91
+ excludedCommentBlockLines: number;
92
+ excludedBlockquoteLines: number;
93
+ };
85
94
  export type WorkDoc = {
86
95
  trailingNewline: boolean;
87
96
  blocks: Block[];
97
+ population?: ContinuationPopulation;
88
98
  warnings?: string[];
89
99
  advisories?: string[];
90
100
  };
@@ -94,12 +104,44 @@ export declare function parseQueueLine(line: string, section?: string): QueueIte
94
104
  /** The warning an invalid-priority item earns, quoting the tag and naming the set. */
95
105
  export declare function invalidPriorityIssue(item: QueueItem, line?: number): string;
96
106
  export declare function parseDoneLine(line: string, section?: string): DoneEntry | null;
107
+ /**
108
+ * Does this text carry a CITATION — an issue/PR ref or a commit sha?
109
+ *
110
+ * Deliberately delegates to `refsIn`/`hasCommitRef` rather than testing a local
111
+ * regex. The comment below those primitives says why: four separate matchers
112
+ * re-derived "what is a ref" in one day and each got it wrong differently. A
113
+ * fifth here would be the same mistake with a done line instead of a queue item.
114
+ *
115
+ * This is NOT `parseDoneLine`'s tail rule, and the difference is the point. That
116
+ * rule accepts any space-free token after ` — ` as a ref, which is right for a
117
+ * record it is about to keep but far too loose for deciding whether a HEADING was
118
+ * a completion in disguise: `## Phase 5 — shipped` would qualify. A malformation
119
+ * detector that cries wolf on ordinary prose gets switched off, so this one asks
120
+ * for a real citation shape.
121
+ */
122
+ export declare function carriesCitation(text: string): boolean;
123
+ export declare const doneReflessIssue: (line: number, text: string) => string;
124
+ export declare const doneHeadingFormIssue: (line: number, heading: string) => string;
97
125
  export declare function withoutCodeContext(text: string): string;
98
126
  export type Ref = {
99
127
  raw: string;
100
128
  repo: string | null;
101
129
  number: string;
102
130
  };
131
+ /**
132
+ * What a queue continuation line is HIDING, or null if it is only prose.
133
+ *
134
+ * ⟨q-3f81c92e⟩ — `queue.v1` is one line per item, so a continuation is kept for a
135
+ * human and dropped by every consumer. That is tolerable for commentary and not
136
+ * tolerable for the two things a reader ACTS on: the acceptance criteria and the
137
+ * citation. Hidden there, `list_work` hands a worker a row whose acceptance does
138
+ * not exist and whose PR cannot be followed, with nothing to indicate a loss.
139
+ *
140
+ * Reuses `refsIn` rather than re-deriving a ref pattern: four separate matchers
141
+ * re-derived ref matching in one day once and each got it wrong, which is why
142
+ * that primitive is shared (see `REF_RE`'s own note).
143
+ */
144
+ export declare function loadBearingContinuation(line: string): string | null;
103
145
  /** Every issue/PR reference in a string, qualified where the text qualified it. */
104
146
  export declare function refsIn(text: string): Ref[];
105
147
  /**
@@ -146,6 +188,51 @@ export declare function commitRefsIn(text: string): string[];
146
188
  * does not carry that state.
147
189
  */
148
190
  export declare function hasCommitRef(text: string): boolean;
191
+ /** Every state the fleet's boards actually declare. `unknown` is a real answer. */
192
+ export type WorkState = "blocked" | "in-progress" | "in-review" | "done" | "parked" | "orphaned" | "accepted-risk" | "staffable" | "skipped" | "no-downstream" | "unstaffable" | "unclassified" | "unknown";
193
+ /** The projection a renderer asks for: is anybody working on this? */
194
+ export type CoarseWorkState = "in-flight" | "finished" | "open" | "unknown";
195
+ export declare const declarationOf: (status: string) => string;
196
+ /**
197
+ * The state a board status DECLARES.
198
+ *
199
+ * Leading glyph decides; an unknown glyph is `unknown`; a glyphless status is read
200
+ * from its declaration only. Commentary never answers.
201
+ */
202
+ export declare function workStateOf(status: string | null | undefined): WorkState;
203
+ export declare function coarseOf(state: WorkState): CoarseWorkState;
204
+ /** What a queue row's CLOSING POSITION cites. */
205
+ export type ClosingCitation = {
206
+ token: string;
207
+ refs: Ref[];
208
+ commits: string[];
209
+ };
210
+ /**
211
+ * What the row's closing position cites, or `null` when it has none.
212
+ *
213
+ * ⚠ THE RETURN IS THREE-VALUED AND THE THIRD VALUE IS THE POINT:
214
+ * - a citation — the closing position names these refs/commits;
215
+ * - `null` — THERE IS NO CLOSING POSITION TO READ, so *read the row*.
216
+ *
217
+ * ⛔ `null` is returned BOTH when there is no token AND when no token cites
218
+ * anything, and the collapse is deliberate: a trailer saying something
219
+ * unparseable must not make a row uncited on the strength of its own prose.
220
+ *
221
+ * ⛔⛆ DO NOT "SIMPLIFY" THIS TO AN EMPTY REF LIST. An empty list reads as *"the
222
+ * closing position says nothing owes"* — a positive claim — where `null` says
223
+ * *"I cannot answer; ask the row."* On the delivery-marker side that substitution
224
+ * turns an honest `answerable: false` into a confident wrong zero.
225
+ *
226
+ * ⛔ THIS IS A **READER**, NOT A DECISION. It does not decide the tie, does not
227
+ * resolve repositories (that is `refsMatch` + a `contextRepo`, and a BARE `270`
228
+ * is correctly untieable with no origin), does not match `DONE.md` entries, and
229
+ * does not read commit subjects. Its consumers ask DIFFERENT questions of the
230
+ * same answer — `doctor` falls back to the whole row because it asks "can this
231
+ * row be tied at all?", while the delivery-marker gate stays untied and says so
232
+ * because it asks "which refs CLOSED it?" — so sharing this reader is correct
233
+ * and sharing either of those decisions is not.
234
+ */
235
+ export declare function closingCitation(text: string): ClosingCitation | null;
149
236
  /**
150
237
  * Do two cited shas name the same commit? Compared as a PREFIX, not
151
238
  * equality: git's own abbreviation convention means a 7-char short sha and a
@@ -247,12 +334,32 @@ export type ZeroAxis = {
247
334
  };
248
335
  /** Non-blank lines that are not headings, frontmatter delimiters or comments. */
249
336
  export declare function substantiveLines(text: string): number;
337
+ /** Checkbox list items outside frontmatter: queue rows somebody attempted to write. */
338
+ export declare function queueRowAttempts(text: string): number;
250
339
  /**
251
340
  * Is this axis's zero an ANSWER or an UNANSWERED QUESTION?
252
341
  *
253
342
  * `count > 0` is never in doubt, so this only ever qualifies a zero.
343
+ *
344
+ * THE QUEUE AXIS ASKS A NARROWER QUESTION THAN THE OTHERS, because on a queue
345
+ * document prose is not evidence of a missed row. `substantiveLines` was built
346
+ * for the done axis, where any authored line under an empty log is a fair
347
+ * reason to doubt the zero. A pruned `docs/QUEUE.md` keeps its headings AND its
348
+ * explanatory prose by design, so that same measure reported a perfectly
349
+ * healthy empty queue as unparsed — red-when-fine, measured at 793 substantive
350
+ * lines with zero rows present.
351
+ *
352
+ * So for `axis: "queue"` the discriminator is ROW ATTEMPTS, not content. The
353
+ * four states this separates, measured on this repo's real `docs/QUEUE.md`:
354
+ * populated (168 rows, count 168) `false` · pruned-but-prose-kept (0 attempts)
355
+ * `false` · heading-removed, so the rows exist but nothing parses them (168
356
+ * attempts, count 0) `true` · rows present but refused by the grammar (2
357
+ * attempts, count 0) `true`.
358
+ *
359
+ * Axis is OPTIONAL and omitting it preserves the old behaviour exactly, so the
360
+ * done and board axes are untouched by this change.
254
361
  */
255
- export declare function zeroIsUnparsed(count: number, sourceText: string): boolean;
362
+ export declare function zeroIsUnparsed(count: number, sourceText: string, axis?: ZeroAxis["axis"]): boolean;
256
363
  export declare function renderWorkDoc(doc: WorkDoc): string;
257
364
  export declare function queueItemsOf(doc: WorkDoc): QueueItem[];
258
365
  export declare function doneEntriesOf(doc: WorkDoc): DoneEntry[];
package/dist/docs.js CHANGED
@@ -154,6 +154,49 @@ export function parseDoneLine(line, section) {
154
154
  ...(section ? { section } : {}),
155
155
  };
156
156
  }
157
+ /**
158
+ * Does this text carry a CITATION — an issue/PR ref or a commit sha?
159
+ *
160
+ * Deliberately delegates to `refsIn`/`hasCommitRef` rather than testing a local
161
+ * regex. The comment below those primitives says why: four separate matchers
162
+ * re-derived "what is a ref" in one day and each got it wrong differently. A
163
+ * fifth here would be the same mistake with a done line instead of a queue item.
164
+ *
165
+ * This is NOT `parseDoneLine`'s tail rule, and the difference is the point. That
166
+ * rule accepts any space-free token after ` — ` as a ref, which is right for a
167
+ * record it is about to keep but far too loose for deciding whether a HEADING was
168
+ * a completion in disguise: `## Phase 5 — shipped` would qualify. A malformation
169
+ * detector that cries wolf on ordinary prose gets switched off, so this one asks
170
+ * for a real citation shape.
171
+ */
172
+ export function carriesCitation(text) {
173
+ return refsIn(text).length > 0 || hasCommitRef(text);
174
+ }
175
+ // THE TWO WAYS A COMPLETION LINE GOES WRONG FAIL IN OPPOSITE DIRECTIONS, AND
176
+ // NEITHER USED TO SAY ANYTHING (q-2f6ba85e).
177
+ //
178
+ // An ASCII hyphen or a period instead of ` — ` / ` · ` still PARSES: the entry is
179
+ // kept, counted, and carries no ref — so `list_work` reports one more completion
180
+ // than exists and cites nothing for it. A heading-form completion goes the other
181
+ // way: a level-2 heading ENDS the done section, so every entry after it
182
+ // disappears and the count reads zero.
183
+ //
184
+ // One row too many, or none. An instrument silent in both directions cannot be
185
+ // trusted in either, which is why these are warnings and not advisories: both
186
+ // corrupt a number the bus reports.
187
+ export const doneReflessIssue = (line, text) => carriesCitation(text)
188
+ ? `line ${line}: done entry parses but its citation is NOT in the ref position, so nothing links this completion to a merge — ` +
189
+ `the separator before the ref must be an em-dash " \u2014 " and the one before the date a middot " \u00b7 ". ` +
190
+ `The entry is KEPT and COUNTED as done, which is why this is a warning: an ASCII hyphen or period here inflates the done count silently.`
191
+ : `line ${line}: done entry cites no issue/PR ref and no QUALIFIED commit ref. ` +
192
+ `A BARE SHA DOES NOT COUNT and this is not a typo in the message: ` + "`" + `owner/repo@sha` + "`" + ` names a repository, ` +
193
+ `a bare ` + "`" + `47b26aa` + "`" + ` does not, so nothing can resolve it — if there is a sha on this line already, qualify and reposition it rather than finding another. ` +
194
+ `Add ` + "`" + ` \u2014 owner/repo#N` + "`" + ` or ` + "`" + ` \u2014 owner/repo@sha` + "`" + `, optionally ` + "`" + ` \u00b7 YYYY-MM-DD` + "`" + `.`;
195
+ export const doneHeadingFormIssue = (line, heading) => `line ${line}: "${heading}" is a completion written as a HEADING, not as a done line — it carries a citation but no ` +
196
+ "`- [x] `" +
197
+ ` marker, so it is not parsed as an entry. ` +
198
+ `A level-1 or level-2 heading also ENDS the done section, so entries below it are dropped too: this malformation reads as ZERO completions, not one missing. ` +
199
+ `Rewrite it as ` + "`" + `- [x] <what shipped> \u2014 <ref> \u00b7 <date>` + "`" + `.`;
157
200
  // ---------- issue / PR references ----------
158
201
  //
159
202
  // THE REF THAT CLOSED AN ITEM IS A DIFFERENT FACT FROM A REF MENTIONED IN IT, AND
@@ -222,6 +265,30 @@ export function withoutCodeContext(text) {
222
265
  // that only understood the fully-qualified form would classify every real
223
266
  // shorthand as bare, which is the ambiguous bucket where nothing matches.
224
267
  const REF_RE = /(?:([\w.-]+(?:\/[\w.-]+)?))?#(\d+)\b/g;
268
+ /**
269
+ * What a queue continuation line is HIDING, or null if it is only prose.
270
+ *
271
+ * ⟨q-3f81c92e⟩ — `queue.v1` is one line per item, so a continuation is kept for a
272
+ * human and dropped by every consumer. That is tolerable for commentary and not
273
+ * tolerable for the two things a reader ACTS on: the acceptance criteria and the
274
+ * citation. Hidden there, `list_work` hands a worker a row whose acceptance does
275
+ * not exist and whose PR cannot be followed, with nothing to indicate a loss.
276
+ *
277
+ * Reuses `refsIn` rather than re-deriving a ref pattern: four separate matchers
278
+ * re-derived ref matching in one day once and each got it wrong, which is why
279
+ * that primitive is shared (see `REF_RE`'s own note).
280
+ */
281
+ export function loadBearingContinuation(line) {
282
+ const hasAcceptance = /\bacceptance\s*:/i.test(line);
283
+ const refs = refsIn(line);
284
+ if (hasAcceptance && refs.length)
285
+ return "an acceptance clause and a citation";
286
+ if (hasAcceptance)
287
+ return "an acceptance clause";
288
+ if (refs.length)
289
+ return `a citation (${refs[0]?.raw})`;
290
+ return null;
291
+ }
225
292
  /** Every issue/PR reference in a string, qualified where the text qualified it. */
226
293
  export function refsIn(text) {
227
294
  return [...String(text).matchAll(REF_RE)].map((m) => ({
@@ -283,6 +350,260 @@ export function commitRefsIn(text) {
283
350
  export function hasCommitRef(text) {
284
351
  return commitRefsIn(text).length > 0;
285
352
  }
353
+ /*
354
+ * ⛔ EMPHASIS IS STRIPPED BEFORE THE STATE IS READ, AND `⭐` IS NOT A STATE.
355
+ *
356
+ * A live row opens `⭐⭐ **THE HELD CLOSURE IS ITSELF WHAT ARMS THE DEFECT…`. Without
357
+ * this, `⭐` is read as the leading glyph and the row gets a state invented for it;
358
+ * with it, the row correctly reaches `unknown`, because stripping reveals no state
359
+ * glyph rather than conjuring one. `**` is stripped for the same reason — board
360
+ * cells bold their state (`**⛔ Blocked**`) and the glyph is the state, not the bold.
361
+ *
362
+ * ⚠ THE SET IS EVIDENCE-BASED, NOT A JUDGEMENT ABOUT TASTE: `⭐` is the only
363
+ * decoration observed in leading position on a status cell. An unlisted decoration
364
+ * therefore lands on the middle branch and returns `unknown` — which is the safe
365
+ * direction, and why this list does not need to be exhaustive to be correct.
366
+ */
367
+ const STATUS_DECORATION = /^[\s*⭐]+/u;
368
+ /*
369
+ * ⭐ GLYPH -> STATE, and every entry is DOCUMENTED somewhere rather than inferred.
370
+ *
371
+ * The discriminator for "is this a state?" is whether the fleet writes it down, NOT
372
+ * whether a checker's regex already knows it. `doctor`'s regexes and the console's
373
+ * four-value model are BOTH stale subsets — of different boards — so deriving this
374
+ * table from either would codify that board's blind spots:
375
+ *
376
+ * 🔻 Orphaned protocol: coord-playbook/README.md, skills/references/handoff.md
377
+ * ⚠ Accepted risk board convention: docs/WORKSTREAMS.md
378
+ * ▶ Staffable board convention: docs/WORKSTREAMS.md
379
+ * 🚫 Unstaffable · 🔍 In Review coord-mcp/src/tools/stall.ts + the board
380
+ * ⏭ Skipped · ◻ No downstream the console's shipped tone table (c3d7b43)
381
+ *
382
+ * ⛆⛆ `unclassified` IS NOT A SYNONYM FOR `unknown`, AND CONFLATING THEM IS A SILENT
383
+ * UI REGRESSION AT ADOPTION. The console's shipped `workStateOf`
384
+ * (`apps/web/src/lib/status.ts:73-76` on its `origin/main`) distinguishes TWO
385
+ * unrecognised cases and gives them DIFFERENT coarse answers:
386
+ *
387
+ * unrecognised leading GLYPH -> `unknown` (ANY_GLYPH, :73)
388
+ * GLYPHLESS and no word matched -> `open` (the bare `return "open"`, :76)
389
+ *
390
+ * My first version returned `unknown` for both, so `"Ops hold — ✅ done upstream"`
391
+ * came back `unknown` where the console renders it `open` — measured against the
392
+ * consumer's four-row migration contract, 1 of 4 disagreed. Since `coarseOf` IS the
393
+ * console's projection, a disagreement there changes the UI the moment it re-pins,
394
+ * and the console cannot catch it until then.
395
+ *
396
+ * ⭐ SO THE FIX IS A SECOND STATE, NOT A WIDER ONE: `unclassified` means "this is on
397
+ * the board, it is glyphless, and no vocabulary entry matched" — which is still work
398
+ * nobody is doing and not complete, hence `open`. `unknown` stays reserved for "I was
399
+ * given a marker I do not recognise", which is genuinely unanswerable. Collapsing
400
+ * them would make the board check and the renderer disagree in opposite directions.
401
+ *
402
+ * ⛔ NOTHING IS INVENTED FOR A GLYPH NOBODY DOCUMENTS. An unrecognised glyph is not
403
+ * a state, and guessing one is how a vocabulary starts lying.
404
+ */
405
+ const GLYPH_STATE = [
406
+ ["⛔", "blocked"],
407
+ ["🚧", "in-progress"],
408
+ ["🔍", "in-review"],
409
+ ["✅", "done"],
410
+ ["⏸", "parked"],
411
+ ["🔻", "orphaned"],
412
+ ["⚠", "accepted-risk"],
413
+ ["▶", "staffable"],
414
+ ["⏭", "skipped"],
415
+ ["◻", "no-downstream"],
416
+ ["🚫", "unstaffable"],
417
+ ];
418
+ /** Any pictographic lead — the middle branch's test, never a state by itself. */
419
+ const ANY_LEADING_GLYPH = /^[\p{Extended_Pictographic}■-➿⬀-⯿]/u;
420
+ /*
421
+ * The part of a status that DECLARES something. Commentary after the first
422
+ * separator is a note to a human, and reading it is the defect above: the
423
+ * declaration of `🔍 In Review — **MERGED WILL NOT MEAN DELIVERED**` is
424
+ * `🔍 In Review`, and the rest is prose that must never answer.
425
+ *
426
+ * Separator set taken verbatim from the console's shipped `declarationOf` so the
427
+ * two sides cut the string in the same place; a seam that split differently would
428
+ * reintroduce the divergence this export exists to remove.
429
+ */
430
+ export const declarationOf = (status) => String(status ?? "").split(/\s+[—·]\s+|\s+--\s+/)[0].trim();
431
+ /*
432
+ * ⚠ PROSE IS CONSULTED ONLY FOR A GLYPHLESS STATUS, AND ONLY ITS DECLARATION.
433
+ *
434
+ * Glyphless boards are real — lanes-v0 rows say "working" and "gate pending" — so
435
+ * refusing them outright would silence a third of this fleet's own board, which is
436
+ * a coverage loss dressed as rigour. Ordered, first match wins.
437
+ *
438
+ * ⭐ `unstaffable` IS GUARDED TWICE, AND THE ORDERING IS THE WEAKER OF THE TWO.
439
+ * `\bstaffable\b` already cannot match inside "unstaffable" — there is no word
440
+ * boundary between "n" and "s" — so the boundary anchors, not the row order, are
441
+ * what actually decide it. Measured: reordering alone still returns `unstaffable`;
442
+ * only dropping the anchors AND reordering flips it. The order is kept as defence
443
+ * in depth and is documented as such, because a comment that credits the wrong
444
+ * guard is how the load-bearing one gets removed as redundant.
445
+ */
446
+ const PROSE_STATE = [
447
+ [/\bblocked\b|\bblocker\b/i, "blocked"],
448
+ [/\bunstaffable\b/i, "unstaffable"],
449
+ [/\bstaffable\b/i, "staffable"],
450
+ [/\bin\s+review\b|\bgate\s+pending\b/i, "in-review"],
451
+ [/\bin\s+progress\b|\bclaimed\b|\bworking\b/i, "in-progress"],
452
+ [/\bdone\b|\bmerged\b|\bdeployed\b|\bcomplete(?:d)?\b|\bclosed\b|\bresolved\b/i, "done"],
453
+ [/\bparked\b/i, "parked"],
454
+ [/\borphaned\b/i, "orphaned"],
455
+ [/\bskipped\b/i, "skipped"],
456
+ [/\bno[-\s]?downstream\b/i, "no-downstream"],
457
+ ];
458
+ /**
459
+ * The state a board status DECLARES.
460
+ *
461
+ * Leading glyph decides; an unknown glyph is `unknown`; a glyphless status is read
462
+ * from its declaration only. Commentary never answers.
463
+ */
464
+ export function workStateOf(status) {
465
+ const raw = String(status ?? "").trim();
466
+ if (!raw)
467
+ return "unknown";
468
+ const s = raw.replace(STATUS_DECORATION, "");
469
+ if (!s)
470
+ return "unknown";
471
+ for (const [glyph, state] of GLYPH_STATE)
472
+ if (s.startsWith(glyph))
473
+ return state;
474
+ if (ANY_LEADING_GLYPH.test(s))
475
+ return "unknown";
476
+ const decl = declarationOf(s);
477
+ for (const [re, state] of PROSE_STATE)
478
+ if (re.test(decl))
479
+ return state;
480
+ // Glyphless and nothing matched — NOT `unknown`. See the `unclassified` note above:
481
+ // the console renders this row `open`, and `coarseOf` is its projection.
482
+ return "unclassified";
483
+ }
484
+ /*
485
+ * ⭐⭐ THE PROJECTION A RENDERER CALLS — and `blocked -> open` IS THE ANSWER TO
486
+ * ⟨q-fcc9858e⟩ RATHER THAN A PREFERENCE, WHICH IS WHY THE REASON SHIPS WITH IT.
487
+ *
488
+ * That row is titled "the two status vocabularies that disagree about what NOT
489
+ * BEING WORKED ON means". This is that disagreement settled: the question `coarse`
490
+ * answers is IS ANYBODY WORKING ON THIS, so a BLOCKED item is NOT in flight — it is
491
+ * work nobody is doing. Filing `blocked` under `in-flight` is the intuitive answer
492
+ * and it is the bug: it makes a stalled board look busy.
493
+ *
494
+ * ⚠ TONE AND STATE ARE DIFFERENT QUESTIONS, DELIBERATELY: the console renders `⛔`
495
+ * as a BAD pill and classifies it `open` at the same time, and both are right. A
496
+ * reader who collapses them will "fix" one of the two.
497
+ *
498
+ * The range is exactly the console's four values, because the console RENDERS this
499
+ * projection: a projection a consumer CALLS is consuming, and one it RE-DERIVES is
500
+ * guessing — which is what left ⟨q-fcc9858e⟩ open with its own half already shipped.
501
+ */
502
+ export function coarseOf(state) {
503
+ switch (state) {
504
+ case "in-progress":
505
+ case "in-review":
506
+ return "in-flight";
507
+ case "done":
508
+ return "finished";
509
+ case "unknown":
510
+ return "unknown";
511
+ // `unclassified` deliberately does NOT land here — it falls to `open` below,
512
+ // matching the console's bare `return "open"` for a glyphless unmatched row.
513
+ // Everything else is work NOBODY IS DOING and NOT complete — blocked included.
514
+ default:
515
+ return "open";
516
+ }
517
+ }
518
+ /**
519
+ * ⛔ THE DISCRIMINATOR IS THE TOKEN'S **STRUCTURE**, NOT ITS DISTANCE FROM THE END.
520
+ *
521
+ * A row's closing citation is the bold-delimited trailer `· **closed by <ref>**`.
522
+ * This was once END-ANCHORED, until a curation addendum was appended AFTER
523
+ * ⟨q-6a4f0c38⟩'s citation and pushed it 1,144 characters from the end: the
524
+ * citation became unreadable and the row's green fell back onto a `#270` sitting
525
+ * in the addendum's PROSE, with nothing going red at the moment it broke.
526
+ *
527
+ * ⭐ THE REJECTED FIX WAS A WRITING CONVENTION — *"curation appends BEFORE the
528
+ * token"*. A rule with no enforcement that every future writer must remember,
529
+ * and the fleet demonstrably does not: that addendum was written four hours
530
+ * after the same practice was adopted for `docs/DONE.md`, in another file, for a
531
+ * good reason.
532
+ *
533
+ * ⛔⛆ AND "LAST OCCURRENCE" IS NOT THE CURE EITHER — `parseDoneLine` below has
534
+ * used `lastIndexOf(EM_DASH_SEP)` all along, which IS the last-occurrence rule,
535
+ * and it still returned `"see note"` AS THE REF when an addendum carried an
536
+ * em-dash and a date, because its shape guard runs only on the no-date branch.
537
+ * ⭐ ***SHAPE DECIDES CANDIDACY; POSITION ONLY DECIDES WHICH CANDIDATE WINS.***
538
+ *
539
+ * ⚠ DROPPING THE ANCHOR IS NOT DROPPING THE STRUCTURE. The counterexample lives
540
+ * in ⟨q-6a4f0c38⟩'s own body — *"A gap closed by someone choosing to disclose is
541
+ * not a gap that is closed"* — and 4 closed rows carry that phrase outside any
542
+ * token, one of them 8 times with ZERO tokens. The `· ** … **` delimiters are
543
+ * what exclude every one of them; the `$` never was.
544
+ */
545
+ const CLOSING_TOKEN_RE = /·\s*\*\*\s*closed by\s+([^*]+?)\s*\*\*/g;
546
+ /** A closing token that is nothing but digits — `land`'s bare form. */
547
+ const BARE_CLOSING_NUMBER_RE = /^(\d+)$/;
548
+ /**
549
+ * What the row's closing position cites, or `null` when it has none.
550
+ *
551
+ * ⚠ THE RETURN IS THREE-VALUED AND THE THIRD VALUE IS THE POINT:
552
+ * - a citation — the closing position names these refs/commits;
553
+ * - `null` — THERE IS NO CLOSING POSITION TO READ, so *read the row*.
554
+ *
555
+ * ⛔ `null` is returned BOTH when there is no token AND when no token cites
556
+ * anything, and the collapse is deliberate: a trailer saying something
557
+ * unparseable must not make a row uncited on the strength of its own prose.
558
+ *
559
+ * ⛔⛆ DO NOT "SIMPLIFY" THIS TO AN EMPTY REF LIST. An empty list reads as *"the
560
+ * closing position says nothing owes"* — a positive claim — where `null` says
561
+ * *"I cannot answer; ask the row."* On the delivery-marker side that substitution
562
+ * turns an honest `answerable: false` into a confident wrong zero.
563
+ *
564
+ * ⛔ THIS IS A **READER**, NOT A DECISION. It does not decide the tie, does not
565
+ * resolve repositories (that is `refsMatch` + a `contextRepo`, and a BARE `270`
566
+ * is correctly untieable with no origin), does not match `DONE.md` entries, and
567
+ * does not read commit subjects. Its consumers ask DIFFERENT questions of the
568
+ * same answer — `doctor` falls back to the whole row because it asks "can this
569
+ * row be tied at all?", while the delivery-marker gate stays untied and says so
570
+ * because it asks "which refs CLOSED it?" — so sharing this reader is correct
571
+ * and sharing either of those decisions is not.
572
+ */
573
+ export function closingCitation(text) {
574
+ const line = String(text ?? "");
575
+ // ⚠ THE LAST WELL-FORMED TOKEN WINS, so every structural match is read and the
576
+ // LAST one that actually CITES something is kept. "Well-formed" means the token
577
+ // BEARS a ref, commit or bare number: an unparseable later token must not end
578
+ // the search, or it would mask a real citation earlier in the row.
579
+ //
580
+ // `CLOSING_TOKEN_RE` is `g`-flagged and `lastIndex` is stateful, so it is reset
581
+ // on entry rather than trusted across calls.
582
+ CLOSING_TOKEN_RE.lastIndex = 0;
583
+ let found = null;
584
+ for (const m of line.matchAll(CLOSING_TOKEN_RE)) {
585
+ const token = String(m[1]).trim();
586
+ // ⚠ THE TOKEN IS NOT REQUIRED TO **BE** A REF: `land --result` writes
587
+ // `owner/repo#233 — init refuses unknown flags`, so the token carries a ref
588
+ // PLUS prose. A reader requiring the whole token to match a ref drops every
589
+ // one of those — the obvious reading, and wrong. Run the primitives OVER the
590
+ // token and take what they find.
591
+ const refs = refsIn(token);
592
+ const commits = commitRefsIn(token);
593
+ if (refs.length > 0 || commits.length > 0) {
594
+ found = { token, refs, commits };
595
+ continue;
596
+ }
597
+ // ⭐ THE BARE FORM, which `land` has written: `· **closed by 270**`. Dropping
598
+ // it leaves that row untieable while its closing position says plainly what
599
+ // closed it. Recognised ONLY when the token is nothing but digits — a number
600
+ // inside prose is not a citation, the same positional rule one level down.
601
+ const bare = BARE_CLOSING_NUMBER_RE.exec(token);
602
+ if (bare)
603
+ found = { token, refs: refsIn(`#${bare[1]}`), commits: [] };
604
+ }
605
+ return found;
606
+ }
286
607
  /**
287
608
  * Do two cited shas name the same commit? Compared as a PREFIX, not
288
609
  * equality: git's own abbreviation convention means a 7-char short sha and a
@@ -321,7 +642,27 @@ export function commitRefMatches(a, b) {
321
642
  // and each reader asks for its key. Order between tags is irrelevant; the run
322
643
  // stops at the first token that is not a tag, so a tag quoted in the body is
323
644
  // never carried.
324
- const LEADING_TAG = /^\*\*\[([a-z]+):([a-z0-9._@-]+)\]\*\*\s+/i;
645
+ // THE VALUE CLASS MUST ADMIT `/`, AND ITS ABSENCE WAS SILENT IN THE WORST
646
+ // DIRECTION. `[UNDELIVERED:<pkg>@<version>]` reused this grammar for a value that
647
+ // is a PACKAGE SPEC, and npm scopes contain a slash — so
648
+ // `@davidbalzan/groundwork@0.4.13` returned `[]`, BYTE-IDENTICAL to "this row
649
+ // carries no tag". Two of the three packages this fleet currently owes are
650
+ // scoped, and console #91's `carriedTagCensus` has been blind to every one of
651
+ // them on `main`.
652
+ //
653
+ // ⭐ THE REUSABLE FINDING IS THE AIDE'S, ABOUT ITS OWN EDIT: reusing a syntax
654
+ // silently INHERITS ITS DOMAIN, and the inheritance is invisible because the old
655
+ // values all still work. `sweep` and `awaits` values have never contained a
656
+ // slash, so the class was never wrong until a third tag arrived whose values do —
657
+ // and nothing failed at the moment the assumption broke.
658
+ //
659
+ // ⚠ `sweep` and `awaits` READ THIS SAME LEXER and were correct only by that same
660
+ // luck. They are fixtured here too rather than left resting on it.
661
+ //
662
+ // Only `/` is added: the measured need. Widening further — `+` for semver build
663
+ // metadata, say — would admit values nobody writes while increasing what prose
664
+ // can look like.
665
+ const LEADING_TAG = /^\*\*\[([a-z]+):([a-z0-9._@/-]+)\]\*\*\s+/i;
325
666
  /** The tags an item CARRIES, in order, lowercased. Body mentions are not tags. */
326
667
  export function leadingTagsOf(item) {
327
668
  const out = [];
@@ -564,6 +905,25 @@ export function parseWorkDoc(source) {
564
905
  let subsection;
565
906
  let inFence = false;
566
907
  let inHtmlComment = false;
908
+ /**
909
+ * ⟨q-a83b56af⟩ — THE POPULATION THIS PASS ACTUALLY LOOKED AT.
910
+ *
911
+ * ⛔ THREE COUNTS OF ONE DEFECT DISAGREED IN ONE AFTERNOON — 499 continuation
912
+ * lines, 65 items, 336 lines / 68 load-bearing — AND NONE WAS WRONG ABOUT WHAT
913
+ * IT COUNTED. The difference was receipts, and no count said so, so reconciling
914
+ * three correct numbers took three seats and two hours.
915
+ *
916
+ * ⭐⭐ SO THE CHECK STATES THE **RULE**, NOT A NUMBER. A bare count is the thing
917
+ * that failed three times; the rule is what makes two runs comparable without
918
+ * re-deriving either.
919
+ */
920
+ const pop = {
921
+ continuationLinesConsidered: 0,
922
+ loadBearing: 0,
923
+ proseOnly: 0,
924
+ excludedCommentBlockLines: 0,
925
+ excludedBlockquoteLines: 0,
926
+ };
567
927
  const flushText = () => {
568
928
  if (text.length)
569
929
  blocks.push({ kind: "text", lines: text });
@@ -613,6 +973,12 @@ export function parseWorkDoc(source) {
613
973
  // Template examples live inside the coordinator-extensions HTML comment.
614
974
  // Live sections sit *after* a one-line fence comment (deepblackjack).
615
975
  if (inHtmlComment) {
976
+ // ⛔ COUNTED INSIDE THE BLOCK BRANCH, AND THE PLACEMENT *IS* THE NEGATIVE
977
+ // CONTROL: the coordinator counted 30 receipts where the aide counted 169,
978
+ // because it matched the `queue-prune:` MARKER LINE while the block runs on
979
+ // for ~139 more lines. Counting at the marker reproduces the smaller
980
+ // number; counting here cannot.
981
+ pop.excludedCommentBlockLines += 1;
616
982
  text.push(line);
617
983
  if (/-->/.test(line))
618
984
  inHtmlComment = false;
@@ -620,11 +986,20 @@ export function parseWorkDoc(source) {
620
986
  }
621
987
  if (/<!--/.test(line) && !/-->/.test(line)) {
622
988
  inHtmlComment = true;
989
+ pop.excludedCommentBlockLines += 1; // the opening line belongs to the block too
623
990
  text.push(line);
624
991
  continue;
625
992
  }
626
993
  if (/^#{1,6}\s/.test(line)) {
627
994
  const level = (line.match(/^#+/) ?? [""])[0].length;
995
+ // Checked BEFORE `kind` is reassigned, because reassignment is the damage:
996
+ // a level<=2 heading sets `kind` to whatever `sectionKindOf` makes of it,
997
+ // which for a completion-shaped heading is "none" — so the done section
998
+ // ENDS here and every entry below it stops being a record.
999
+ const headingText = line.replace(/^#+\s*/, "").trim();
1000
+ if (kind === "done" && carriesCitation(headingText)) {
1001
+ warnings.push(doneHeadingFormIssue(i + 1, headingText));
1002
+ }
628
1003
  if (level <= 2) {
629
1004
  kind = sectionKindOf(line);
630
1005
  subsection = undefined;
@@ -651,6 +1026,49 @@ export function parseWorkDoc(source) {
651
1026
  // an item is almost always a wrapped continuation — every parser drops
652
1027
  // it silently (seen live: a consumer fleet's queue cut at "…surfaced"). Name it.
653
1028
  const prev = blocks[blocks.length - 1];
1029
+ // ⛔ LOAD-BEARING CONTENT IN A CONTINUATION IS A WARNING, NOT AN ADVISORY,
1030
+ // AND THE DIFFERENCE IS WHAT THE READER LOSES.
1031
+ //
1032
+ // The advisory below says "this line is invisible to parsers". That is the
1033
+ // right severity for commentary — the item parsed, the count is honest, and
1034
+ // a body under it is a style cost. But an `acceptance:` clause or a PR
1035
+ // citation is not commentary: it is the part a consumer ACTS on. Hidden
1036
+ // there, `list_work` hands a worker a row whose acceptance criteria do not
1037
+ // exist and whose citation cannot be followed, and nothing looks wrong.
1038
+ //
1039
+ // Measured on this repo's own queue when this was written: 396 continuation
1040
+ // lines, of which 38 carry `acceptance:` and 2 carry a PR ref. So this
1041
+ // separates ~40 rows that are hiding something actionable from ~356 that
1042
+ // are hiding prose — which is exactly the triage the fold needs, and the
1043
+ // reason it is a separate severity rather than a louder advisory.
1044
+ //
1045
+ // Deliberately NOT gated on `text.length === 0`: the advisory fires once per
1046
+ // item-run to avoid crying wolf, but an `acceptance:` on the fifth line of a
1047
+ // run is just as invisible as one on the first, and there are only ~40 of
1048
+ // them in total. Rarity is what makes per-line honest here.
1049
+ //
1050
+ // ⚠ BLOCKQUOTES ARE EXCLUDED, and that exclusion was MEASURED rather than
1051
+ // anticipated: without it this flagged 82 lines where an independent scan
1052
+ // of the same file found 79. The three extras were all `>` prose sitting
1053
+ // after the items — a blockquote is its own block, like a fence or an HTML
1054
+ // comment, and quoting a `#123` inside one is not a row hiding a citation.
1055
+ // Two instruments disagreeing by three was the only reason it was found.
1056
+ if (prev?.kind === "queue" && line.trim() && !/^\s*<!--/.test(line) && /^\s*>/.test(line)) {
1057
+ pop.excludedBlockquoteLines += 1;
1058
+ }
1059
+ if (prev?.kind === "queue" && line.trim() && !/^\s*<!--/.test(line) && !/^\s*>/.test(line)) {
1060
+ pop.continuationLinesConsidered += 1;
1061
+ const hidden = loadBearingContinuation(line);
1062
+ if (hidden)
1063
+ pop.loadBearing += 1;
1064
+ else
1065
+ pop.proseOnly += 1;
1066
+ if (hidden) {
1067
+ warnings.push(`queue.v1 is one line per item: line ${i + 1} hides ${hidden} in a continuation, ` +
1068
+ "which every consumer drops — a worker reading this row through `list_work` gets " +
1069
+ "neither. Fold it into the item line, or point the row at a file that holds it.");
1070
+ }
1071
+ }
654
1072
  if (prev?.kind === "queue" && text.length === 0 && line.trim() && !/^\s*<!--/.test(line)) {
655
1073
  // ADVISORY, not a warning. The first line IS the contract and it parsed:
656
1074
  // the item is present, correctly shaped and counted, and the body below
@@ -664,6 +1082,13 @@ export function parseWorkDoc(source) {
664
1082
  const entry = parseDoneLine(line, subsection);
665
1083
  if (entry) {
666
1084
  pushEntry(entry);
1085
+ // The entry is KEPT — a completion with no parseable ref is still a
1086
+ // completion, and dropping it would swap a wrong count for a short one.
1087
+ // It is NAMED instead, because it is counted: `list_work` reports
1088
+ // `doneEntriesOf(...).length` and returns these issues beside it, so the
1089
+ // count can no longer be read as clean.
1090
+ if (entry.ref === undefined)
1091
+ warnings.push(doneReflessIssue(i + 1, entry.text));
667
1092
  continue;
668
1093
  }
669
1094
  }
@@ -742,9 +1167,56 @@ export function parseWorkDoc(source) {
742
1167
  text.push(line);
743
1168
  }
744
1169
  flushText();
1170
+ /**
1171
+ * ⟨q-a83b56af⟩ — THE CONTINUATION CHECK DECLARES ITS POPULATION WITH ITS RESULT.
1172
+ *
1173
+ * ⛔ THE ANTI-CONTROL THE ROW NAMES: this clause is NOT satisfied by printing a
1174
+ * number. The population is the RULE THAT PRODUCED the number — a bare count is
1175
+ * exactly what failed three times in one afternoon, when 499, 65 and 336/68 were
1176
+ * each correct about a different population and none of them said which.
1177
+ *
1178
+ * ⛔⛆ AND THE RULE NAMES THE DISTINCTION THAT CAUSED IT: receipts are excluded
1179
+ * BY BLOCK, not by matching the `queue-prune:` marker line. That is the whole
1180
+ * 30-versus-169 disagreement — the marker is one line and the block runs on for
1181
+ * ~139 more — so a statement that did not distinguish them would not be this
1182
+ * clause.
1183
+ *
1184
+ * ⚠ Emitted only when a continuation was actually considered. A population
1185
+ * statement over an empty population is noise, and it would also make every
1186
+ * non-queue document carry a line about queue rows.
1187
+ */
1188
+ /**
1189
+ * ⟨q-a83b56af⟩ — THE POPULATION TRAVELS AS DATA, CARRYING ITS OWN RULE.
1190
+ *
1191
+ * ⛔ NOT AS AN ADVISORY, and that was measured rather than preferred: emitting
1192
+ * it into `workDocIssues` put a queue-population line on a document that has
1193
+ * an HTML comment and NO QUEUE, and broke two suites that pin exact issue
1194
+ * counts. This file's own comment says why that channel is wrong — *"17 benign
1195
+ * one-line advisories trained the reader to skim past a real failure"*. An
1196
+ * issue list is for issues; this is metadata about the run.
1197
+ *
1198
+ * ⭐⭐ AND THE `rule` FIELD IS THE CLAUSE, not the counts. Three counts of one
1199
+ * defect disagreed in an afternoon — 499 lines, 65 items, 336/68 — and each was
1200
+ * correct about a different population while none said which. A number that
1201
+ * travels without its rule is the thing that failed; these cannot be separated.
1202
+ */
1203
+ const population = {
1204
+ rule: "a non-blank line after a queue item, EXCLUDING (1) lines inside an HTML comment BY BLOCK, " +
1205
+ "not by matching the `queue-prune:` marker line, and (2) `>` blockquote lines, which are " +
1206
+ "their own block like a fence. UNIT: lines — the per-item continuation advisory counts ITEMS, " +
1207
+ "so the two are not comparable.",
1208
+ linesConsidered: pop.continuationLinesConsidered,
1209
+ loadBearing: pop.loadBearing,
1210
+ proseOnly: pop.proseOnly,
1211
+ excludedCommentBlockLines: pop.excludedCommentBlockLines,
1212
+ excludedBlockquoteLines: pop.excludedBlockquoteLines,
1213
+ };
745
1214
  return {
746
1215
  trailingNewline,
747
1216
  blocks,
1217
+ // ⚠ Only when a queue was actually examined. A population over an empty
1218
+ // population is noise, and it would put a queue line on every document.
1219
+ ...(population.linesConsidered > 0 ? { population } : {}),
748
1220
  ...(warnings.length ? { warnings } : {}),
749
1221
  ...(advisories.length ? { advisories } : {}),
750
1222
  };
@@ -885,13 +1357,67 @@ export function substantiveLines(text) {
885
1357
  }
886
1358
  return n;
887
1359
  }
1360
+ /**
1361
+ * A line shaped like a QUEUE ROW — a markdown checkbox list item — whether or
1362
+ * not the grammar could read it. The queue axis's analogue of
1363
+ * `looksLikeBoardAttempt`: evidence that somebody wrote a row here.
1364
+ *
1365
+ * NOT "any list item", and the difference is the whole fix. Measured on this
1366
+ * repo's own `docs/QUEUE.md` with every item line removed: 0 checkbox lines
1367
+ * remain and 9 PLAIN BULLETS do — the prose furniture of the template itself.
1368
+ * A predicate counting bullets would have gone on reporting the pruned queue as
1369
+ * unparsed, which is the exact red-when-fine case being fixed here.
1370
+ */
1371
+ const QUEUE_ROW_ATTEMPT = /^\s*[-*+] \[[ xX]\]\s/;
1372
+ /** Checkbox list items outside frontmatter: queue rows somebody attempted to write. */
1373
+ export function queueRowAttempts(text) {
1374
+ const lines = String(text).split("\n");
1375
+ let inFrontmatter = false;
1376
+ let n = 0;
1377
+ for (const [i, line] of lines.entries()) {
1378
+ if (i === 0 && /^---\s*$/.test(line)) {
1379
+ inFrontmatter = true;
1380
+ continue;
1381
+ }
1382
+ if (inFrontmatter) {
1383
+ if (/^---\s*$/.test(line))
1384
+ inFrontmatter = false;
1385
+ continue;
1386
+ }
1387
+ if (QUEUE_ROW_ATTEMPT.test(line))
1388
+ n += 1;
1389
+ }
1390
+ return n;
1391
+ }
888
1392
  /**
889
1393
  * Is this axis's zero an ANSWER or an UNANSWERED QUESTION?
890
1394
  *
891
1395
  * `count > 0` is never in doubt, so this only ever qualifies a zero.
1396
+ *
1397
+ * THE QUEUE AXIS ASKS A NARROWER QUESTION THAN THE OTHERS, because on a queue
1398
+ * document prose is not evidence of a missed row. `substantiveLines` was built
1399
+ * for the done axis, where any authored line under an empty log is a fair
1400
+ * reason to doubt the zero. A pruned `docs/QUEUE.md` keeps its headings AND its
1401
+ * explanatory prose by design, so that same measure reported a perfectly
1402
+ * healthy empty queue as unparsed — red-when-fine, measured at 793 substantive
1403
+ * lines with zero rows present.
1404
+ *
1405
+ * So for `axis: "queue"` the discriminator is ROW ATTEMPTS, not content. The
1406
+ * four states this separates, measured on this repo's real `docs/QUEUE.md`:
1407
+ * populated (168 rows, count 168) `false` · pruned-but-prose-kept (0 attempts)
1408
+ * `false` · heading-removed, so the rows exist but nothing parses them (168
1409
+ * attempts, count 0) `true` · rows present but refused by the grammar (2
1410
+ * attempts, count 0) `true`.
1411
+ *
1412
+ * Axis is OPTIONAL and omitting it preserves the old behaviour exactly, so the
1413
+ * done and board axes are untouched by this change.
892
1414
  */
893
- export function zeroIsUnparsed(count, sourceText) {
894
- return count === 0 && substantiveLines(sourceText) > 0;
1415
+ export function zeroIsUnparsed(count, sourceText, axis) {
1416
+ if (count !== 0)
1417
+ return false;
1418
+ if (axis === "queue")
1419
+ return queueRowAttempts(sourceText) > 0;
1420
+ return substantiveLines(sourceText) > 0;
895
1421
  }
896
1422
  export function renderWorkDoc(doc) {
897
1423
  const out = [];
@@ -952,13 +1478,40 @@ export function workstreamsV1RowsOf(doc) {
952
1478
  // Hence three distinct return values, and the distinction is the whole point:
953
1479
  //
954
1480
  // the schema id — a board block is present and its header classified
955
- // "unknown" — a board table is present and its header did NOT classify
956
- // null — this document has no board table at all
1481
+ // "unknown" — a table is present, LOOKS LIKE A BOARD ATTEMPT, and its
1482
+ // header did NOT classify
1483
+ // null — no board table here: either the document has none at all,
1484
+ // or such tables as it has were not trying to be one
957
1485
  //
958
1486
  // Collapsing "unknown" into null is exactly defect (1); collapsing null into
959
1487
  // "unknown" is the same error pointed the other way, and it is the one that put
960
1488
  // an alarming reading on David's console. A caller that genuinely does not care
961
1489
  // can write `boardSchemaOf(doc) ?? "none"` — but it has to say so.
1490
+ //
1491
+ // ⛔⛆ THE RUNTIME ANSWER IS THE CONTRACT, AND THIS ONE HAS ALREADY MOVED ONCE
1492
+ // WITHOUT SAYING SO — ⟨q-3a71ce85⟩. At 0.1.8 ANY unrecognised header answered
1493
+ // "unknown"; since `looksLikeBoardAttempt` began gating it, a header below the
1494
+ // intent threshold answers null. The type signature was byte-identical across
1495
+ // that change, `tsc` was green on both sides, and it shipped under PATCH bumps,
1496
+ // so nothing a consumer could run would have shown it.
1497
+ //
1498
+ // ⚠ THE THIRD LINE ABOVE USED TO READ "this document has no board table at
1499
+ // all", which described the OLD boundary and was false here for two releases: a
1500
+ // table that IS present and does NOT classify answers null whenever it shares
1501
+ // fewer than two column names with the board vocabulary.
1502
+ //
1503
+ // ⭐ WHAT A CONSUMER IS ENTITLED TO RELY ON:
1504
+ // - these three values are DISTINCT and none collapses into another;
1505
+ // - "unknown" means somebody wrote a table that was trying to be a board;
1506
+ // - null is NOT a promise that the document contains no tables.
1507
+ //
1508
+ // ⭐⭐ AND WHAT ANY FUTURE CHANGE OWES: every input class above is pinned by
1509
+ // value in `test/board-schema-of.test.mjs`, including the intent threshold
1510
+ // itself, because that threshold is what actually moves the answer. Changing
1511
+ // what this function RETURNS therefore reds the KIT's gate rather than a
1512
+ // consumer's — the party who changes it is the party who finds out. A change to
1513
+ // an exported function's runtime contract is a MINOR at minimum; the type
1514
+ // signature is not evidence of compatibility.
962
1515
  export function boardSchemaOf(doc) {
963
1516
  for (const b of doc.blocks) {
964
1517
  if (b.kind !== "board" || !b.schema)
package/dist/docs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"docs.js","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,+EAA+E;AAC/E,aAAa;AACb,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,+EAA+E;AAC/E,6EAA6E;AAC7E,2EAA2E;AAC3E,2CAA2C;AAC3C,EAAE;AACF,2EAA2E;AAC3E,+EAA+E;AAC/E,8EAA8E;AAC9E,mEAAmE;AACnE,EAAE;AACF,0EAA0E;AAC1E,8EAA8E;AAC9E,wEAAwE;AACxE,6EAA6E;AAC7E,yDAAyD;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GAGvB,MAAM,aAAa,CAAC;AA+DrB,6EAA6E;AAC7E,0EAA0E;AAC1E,uCAAuC;AACvC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAsB7B,MAAM,UAAU,cAAc,CAAC,CAAc;IAC3C,OAAQ,CAAkB,CAAC,SAAS,KAAK,IAAI,CAAC;AAChD,CAAC;AAaD,MAAM,UAAU,kBAAkB,CAAC,CAAc;IAC/C,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,QAAQ,IAAI,CAAC,CAAC;AAC7C,CAAC;AAaD,MAAM,UAAU,cAAc,CAAC,CAAc;IAC3C,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,WAAW,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;AAChE,CAAC;AAmCD,2CAA2C;AAC3C,EAAE;AACF,6EAA6E;AAC7E,yEAAyE;AACzE,6EAA6E;AAC7E,8EAA8E;AAC9E,yDAAyD;AACzD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACnC,MAAM,QAAQ,GAAG,qBAAqB,CAAC;AAEvC,+EAA+E;AAC/E,+EAA+E;AAC/E,wCAAwC;AACxC,SAAS,KAAK,CAAC,IAAY,EAAE,IAAY;IACvC,OAAO,GAAG,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,+CAA+C;AAE/C,2EAA2E;AAC3E,EAAE;AACF,8EAA8E;AAC9E,yEAAyE;AACzE,kEAAkE;AAClE,iFAAiF;AACjF,8EAA8E;AAC9E,iEAAiE;AACjE,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,+DAA+D;AAC/D,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,0EAA0E;AAC1E,2EAA2E;AAC3E,sEAAsE;AACtE,MAAM,QAAQ,GAAG,uBAAuB,CAAC;AACzC,MAAM,UAAU,GAAG,mCAAmC,CAAC;AACvD,8EAA8E;AAC9E,2EAA2E;AAC3E,yEAAyE;AACzE,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACxE,MAAM,SAAS,GAAG,oBAAoB,CAAC;AAEvC,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,OAAgB;IAC3D,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC;QACN,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,0EAA0E;QAC1E,uEAAuE;QACvE,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5D,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,CAAC,CAAE,OAAO,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;YACvD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,QAAQ,EAAE,QAAoB;YAC9B,IAAI;YACJ,IAAI,EAAE,IAAI,KAAK,GAAG;YAClB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC;IACJ,CAAC;IACD,2EAA2E;IAC3E,6EAA6E;IAC7E,wCAAwC;IACxC,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;IAChC,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;QAC1B,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,GAAG,IAAI,EAAE;QACtB,IAAI,EAAE,IAAI,IAAI,EAAE;QAChB,IAAI,EAAE,IAAI,KAAK,GAAG;QAClB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAAC,IAAe,EAAE,IAAa;IACjE,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;IACzD,OAAO,CACL,GAAG,KAAK,qBAAqB,IAAI,CAAC,WAAW,cAAc,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAC1F,+FAA+F,CAChG,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,4EAA4E;AAC5E,6EAA6E;AAC7E,sDAAsD;AACtD,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAAgB;IAC1D,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtB,IAAI,GAAuB,CAAC;IAC5B,IAAI,IAAwB,CAAC;IAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,IAAI,GAAG,SAAS,CAAC;gBACjB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,qEAAqE;QACrE,wDAAwD;QACxD,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,GAAG,GAAG,IAAI,CAAC;QACzD,IAAI,GAAG,KAAK,SAAS;YAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;IACD,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;QACpD,IAAI,EAAE,IAAI;QACV,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,8CAA8C;AAC9C,EAAE;AACF,kFAAkF;AAClF,oCAAoC;AACpC,EAAE;AACF,+EAA+E;AAC/E,mFAAmF;AACnF,iFAAiF;AACjF,mFAAmF;AACnF,0BAA0B;AAC1B,EAAE;AACF,qCAAqC;AACrC,6EAA6E;AAC7E,mFAAmF;AACnF,gFAAgF;AAChF,2EAA2E;AAE3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,2EAA2E;QAC3E,6EAA6E;QAC7E,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM;gBAAE,KAAK,GAAG,IAAI,CAAC;YAC7E,SAAS;QACX,CAAC;QACD,IAAI,CAAC,EAAE,CAAC;YACN,KAAK,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;YACd,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QACD,8EAA8E;QAC9E,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAID,kFAAkF;AAClF,kFAAkF;AAClF,0EAA0E;AAC1E,0EAA0E;AAC1E,MAAM,MAAM,GAAG,uCAAuC,CAAC;AAEvD,mFAAmF;AACnF,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpD,GAAG,EAAE,CAAC,CAAC,CAAC,CAAW;QACnB,IAAI,EAAG,CAAC,CAAC,CAAC,CAAwB,IAAI,IAAI;QAC1C,MAAM,EAAE,CAAC,CAAC,CAAC,CAAW;KACvB,CAAC,CAAC,CAAC;AACN,CAAC;AAgCD,MAAM,UAAU,SAAS,CAAC,CAAM,EAAE,CAAM,EAAE,IAAI,GAAoB,EAAE;IAClE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;IACrC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;IACzB,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;IACzB,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC7B,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACvB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACvB,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,8EAA8E;IAC9E,iFAAiF;IACjF,+EAA+E;IAC/E,gFAAgF;IAChF,0CAA0C;IAC1C,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,mDAAmD;AACnD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAQ,EAAE,IAAW,EAAE,IAAI,GAAoB,EAAE,EAAW,EAAE,CAClF,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AAE5C,oCAAoC;AACpC,EAAE;AACF,0EAA0E;AAC1E,6EAA6E;AAC7E,8EAA8E;AAC9E,uEAAuE;AACvE,8EAA8E;AAC9E,6EAA6E;AAC7E,+CAA+C;AAE/C,MAAM,aAAa,GAAG,yBAAyB,CAAC;AAEhD,qEAAqE;AACrE,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,CAAC,CAAY,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS,EAAE,CAAS;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,mCAAmC;AACnC,EAAE;AACF,sDAAsD;AACtD,EAAE;AACF,gFAAgF;AAChF,kFAAkF;AAClF,mFAAmF;AACnF,gFAAgF;AAChF,iDAAiD;AACjD,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,4EAA4E;AAC5E,qEAAqE;AACrE,EAAE;AACF,gFAAgF;AAChF,mFAAmF;AACnF,sEAAsE;AACtE,6EAA6E;AAC7E,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,iBAAiB;AACjB,MAAM,WAAW,GAAG,2CAA2C,CAAC;AAIhE,kFAAkF;AAClF,MAAM,UAAU,aAAa,CAAC,IAAe;IAC3C,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,CAAC;QACR,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAG,CAAC,CAAC,CAAC,CAAY,CAAC,WAAW,EAAE,EAAE,KAAK,EAAG,CAAC,CAAC,CAAC,CAAY,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACzF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAe;IACxC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;AAC3E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,IAAe;IACxC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;AAC5E,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,eAAe,CAAC,KAAkB,EAAE,GAAW;IAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7E,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,KAAkB;IAC/C,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAe;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IACpD,2EAA2E;IAC3E,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACtE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,IAAe;IAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAgB;IAC7C,IAAI,IAAI,GAAG,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;QAAE,IAAI,IAAI,GAAG,WAAW,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,IAAI,GAAG,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oCAAoC;AAEpC,MAAM,SAAS,GAAG,eAAe,CAAC;AAClC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAExC,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,SAAS,CAAC,KAAe;IAChC,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACpC,CAAC;AAED,SAAS,UAAU,CAAC,CAAW;IAC7B,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,OAAO,CAAC,CAAmB;IAClC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,cAAc,CAAC,CAAS;IAC/B,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,YAAY,CAAC,KAAe,EAAE,QAA2B;IAChE,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACnD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,gFAAgF;AAChF,SAAS,oBAAoB,CAAC,KAAe;IAC3C,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7C,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAe;IAC1C,IAAI,YAAY,CAAC,KAAK,EAAE,sBAAsB,CAAC;QAAE,OAAO,MAAM,CAAC,WAAW,CAAC;IAC3E,IAAI,YAAY,CAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,oBAAoB,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,kBAAkB,CAAC;IAC3G,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACjD,IAAI,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,GAAG,CAAC,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,mEAAmE;AACnE,2EAA2E;AAC3E,6EAA6E;AAC7E,2EAA2E;AAC3E,2EAA2E;AAC3E,+EAA+E;AAC/E,2EAA2E;AAC3E,6EAA6E;AAC7E,kDAAkD;AAClD,EAAE;AACF,uEAAuE;AACvE,2EAA2E;AAC3E,gFAAgF;AAChF,4EAA4E;AAC5E,8DAA8D;AAC9D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CACnD,CAAC,GAAG,sBAAsB,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAC7G,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,KAAe;IACnD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAe;IAC1C,MAAM,QAAQ,GAAG,sBAAsB,CAAC;IACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7E,2EAA2E;IAC3E,2EAA2E;IAC3E,uBAAuB;IACvB,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,QAAQ;aACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACpD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,KAAK;iBACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,GAAG,CAAC;iBACnE,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,CACL,gCAAgC,MAAM,sCAAsC,YAAY,IAAI;gBAC5F,sFAAsF;gBACtF,uEAAuE,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,wBAAwB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,IAAI,OAAO,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrF,IAAI,UAAU,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChG,OAAO,CACL,gCAAgC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,YAAY,IAAI;QACtG,4DAA4D,CAC7D,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,wEAAwE;AACxE,0CAA0C;AAC1C,MAAM,UAAU,cAAc,CAAC,CAA4D;IACzF,IAAI,cAAc,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;IACzC,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC,GAAG,CAAC;QAC/F,CAAC;QACD,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,oBAAoB,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC,GAAG,CAAC;QACxG,CAAC;QACD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,GAAG,CAAC;IAClG,CAAC;IACD,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAMD,oEAAoE;AACpE,2EAA2E;AAC3E,uDAAuD;AACvD,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7D,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAClC,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAChC,IAAI,CAAC,KAAK,oBAAoB;QAAE,OAAO,WAAW,CAAC;IACnD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,eAAe;QAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,6CAA6C;IAE/E,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,IAAI,GAAa,EAAE,CAAC;IACxB,IAAI,IAAI,GAAgB,MAAM,CAAC;IAC/B,IAAI,UAA8B,CAAC;IACnC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAI,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC;IACF,yEAAyE;IACzE,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,QAAQ,GAAG,CAAC,IAAe,EAAE,EAAE;QACnC,SAAS,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YAC7C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,KAAgB,EAAE,EAAE;QACrC,SAAS,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;YAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE;QACpC,SAAS,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YACjD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5B,wEAAwE;QACxE,oEAAoE;QACpE,wCAAwC;QACxC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC,OAAO,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,SAAS;QACX,CAAC;QAED,yEAAyE;QACzE,sEAAsE;QACtE,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,aAAa,GAAG,KAAK,CAAC;YAC5C,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,aAAa,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACpD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC3B,UAAU,GAAG,SAAS,CAAC;YACzB,CAAC;iBAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC3B,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACjD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9C,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACf,qEAAqE;gBACrE,uEAAuE;gBACvE,sEAAsE;gBACtE,iEAAiE;gBACjE,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;oBAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC7E,SAAS;YACX,CAAC;YACD,wEAAwE;YACxE,uEAAuE;YACvE,iFAAiF;YACjF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvC,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzF,yEAAyE;gBACzE,wEAAwE;gBACxE,uEAAuE;gBACvE,2EAA2E;gBAC3E,MAAM;gBACN,UAAU,CAAC,IAAI,CACb,uCAAuC,CAAC,GAAG,CAAC,mFAAmF,CAChI,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9C,IAAI,KAAK,EAAE,CAAC;gBACV,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjB,SAAS;YACX,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,EAAE,CAAC;gBACN,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzB,SAAS;YACX,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACjE,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAAE,CAAC,EAAE,CAAC;YAE/D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,yDAAyD;gBACzD,4DAA4D;gBAC5D,IAAI,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC;oBACvC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACtE,CAAC;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtD,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACV,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,MAAM,KAAK,MAAM,CAAC,WAAW;gBAC5C,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,GAAG;oBACH,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM;oBACpB,CAAC,CAAC,WAAW,CAAC;YAClB,MAAM,IAAI,GAAkE,EAAE,CAAC;YAC/E,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC9B,IAAI,CAAC,IAAI,CAAC;wBACR,SAAS,EAAE,IAAI;wBACf,QAAQ,EAAE,GAAG;wBACb,KAAK,EACH,qBAAqB,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,MAAM,wBAAwB,QAAQ,KAAK;4BACnF,yFAAyF;4BACzF,sBAAsB,GAAG,EAAE;qBAC9B,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,EAAE,CAAC;oBACR,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC9C,SAAS;gBACX,CAAC;gBACD,IAAI,MAAM,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;oBAClC,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,cAAc,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;oBACvG,IAAI,CAAC,IAAI,CAAC;wBACR,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;wBACtB,MAAM;wBACN,KAAK;wBACL,cAAc;wBACd,MAAM;wBACN,OAAO;wBACP,QAAQ;wBACR,GAAG;qBACJ,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;oBAClF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACrF,CAAC;YACH,CAAC;YACD,SAAS,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACtF,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACV,SAAS;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IACD,SAAS,EAAE,CAAC;IACZ,OAAO;QACL,eAAe;QACf,MAAM;QACN,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAClC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,CAAC,CAAC;QACjC,OAAO;YACL,GAAG,CAAC;YACJ,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvB,IAAI,CAAC,CAAC,UAAU;oBAAE,OAAO,CAAC,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnB,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAClD,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,aAAa,GAAG,iCAAiC,CAAC;AACxD,2DAA2D;AAC3D,MAAM,wBAAwB,GAAG,gCAAgC,CAAC;AAClE,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAI5C,iFAAiF;AACjF,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,sBAAsB,GAAG,CAAC,CAAC,CAAC;IAChC,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,aAAa,GAAG,IAAI,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,aAAa,GAAG,KAAK,CAAC;YACjD,SAAS;QACX,CAAC;QACD,0EAA0E;QAC1E,EAAE;QACF,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,aAAa;QACb,EAAE;QACF,6EAA6E;QAC7E,4EAA4E;QAC5E,6EAA6E;QAC7E,sDAAsD;QACtD,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzE,IAAI,sBAAsB,KAAK,CAAC,GAAG,CAAC;gBAAE,CAAC,IAAI,CAAC,CAAC;YAC7C,SAAS;QACX,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,CAAC,IAAI,CAAC,CAAC;YACP,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,sBAAsB,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,UAAkB;IAC9D,OAAO,KAAK,KAAK,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;aAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;aAC1E,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;aAC1E,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;aACpF,CAAC;YACJ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,0CAA0C;AAE1C,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9B,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,kBAAkB;QAC1D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACzG,CAAC,CAAC,EAAE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9B,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,WAAW;QACnD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAyB,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,EAAE,CACP,CAAC;AACJ,CAAC;AAED,6DAA6D;AAC7D,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,qBAAqB;AACrB,EAAE;AACF,iFAAiF;AACjF,2EAA2E;AAC3E,gFAAgF;AAChF,iFAAiF;AACjF,0DAA0D;AAC1D,4EAA4E;AAC5E,iFAAiF;AACjF,+CAA+C;AAC/C,6EAA6E;AAC7E,6EAA6E;AAC7E,gFAAgF;AAChF,2DAA2D;AAC3D,EAAE;AACF,8EAA8E;AAC9E,EAAE;AACF,wEAAwE;AACxE,8EAA8E;AAC9E,6DAA6D;AAC7D,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,gFAAgF;AAChF,mEAAmE;AACnE,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM;YAAE,SAAS;QAC9C,qEAAqE;QACrE,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,SAAS;QACpC,OAAO,CAAC,CAAC,MAAM,CAAC;IAClB,CAAC;IACD,yEAAyE;IACzE,mEAAmE;IACnE,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,OAAO,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC;AAED,2EAA2E;AAC3E,8CAA8C;AAC9C,MAAM,OAAO,GAAwB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE9F,2EAA2E;AAC3E,6EAA6E;AAC7E,kCAAkC;AAClC,MAAM,eAAe,GAAG,6BAA6B,CAAC;AAWtD,SAAS,WAAW,CAAC,GAAgD,EAAE,KAAe;IACpF,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9B,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAY;IAClD,MAAM,GAAG,GAA0B;QACjC,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;KACd,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC3B,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM;YAAE,SAAS;QAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBAAE,SAAS;YACtD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAuBD,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,MAAM,GAAG,GAAuB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,cAAc,EAAE,CAAC,CAAC,cAAc;YAChC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,MAAM,CAAC,kBAAkB;YACjC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAqB;IACpD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,kBAAkB;QAAE,OAAO,GAAG,CAAC;IACzD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,kBAAkB;QACjC,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,MAAM;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,MAAM;QACjB,YAAY,EAAE,GAAG,CAAC,QAAQ;QAC1B,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAID,8EAA8E;AAC9E,4EAA4E;AAC5E,mDAAmD;AACnD,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACvC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAC5E,CAAC;IACF,OAAO;QACL,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAe,EAAE,OAAO,EAAE,CAAC,CAAC;QAChG,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAe,EAAE,OAAO,EAAE,CAAC,CAAC;KAClF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,wEAAwE;AACxE,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAC/B,gGAAgG,CAAC;AAEnG,uFAAuF;AACvF,MAAM,UAAU,wBAAwB,CAAC,GAAY;IACnD,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,kBAAkB,CAAC;QACzF,CAAC,CAAC,CAAC,oBAAoB,CAAC;QACxB,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAKD;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,gFAAgF;AAChF,MAAM,UAAU,GAAG,yGAAyG,CAAC;AAE7H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,cAAc;AAClB,6EAA6E;AAC7E,yEAAyE;AACzE,6EAA6E;AAC7E,8EAA8E;AAC9E,wEAAwE;AACxE,+DAA+D;AAC/D,8UAA8U,CAAC;AAEjV,oFAAoF;AACpF,SAAS,YAAY,CAAC,IAAY,EAAE,KAAa;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAClB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EACxB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EACvB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EACvB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EACxB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CACzB,CAAC;IACF,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACnD,CAAC;AAWD,sFAAsF;AACtF,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7D,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpB,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO;gBACrC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACzF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QACrD,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,qEAAqE;AACrE,MAAM,QAAQ,GAAG,gDAAgD,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,+DAA+D;IAC/D,EAAE;IACF,qEAAqE;IACrE,0EAA0E;IAC1E,8EAA8E;IAC9E,2EAA2E;IAC3E,+EAA+E;IAC/E,2EAA2E;IAC3E,6EAA6E;IAC7E,cAAc;IACd,EAAE;IACF,8EAA8E;IAC9E,2EAA2E;IAC3E,+EAA+E;IAC/E,aAAa;IACb,EAAE;IACF,yEAAyE;IACzE,+EAA+E;IAC/E,iDAAiD;IACjD,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,IAAI,GAAG,qCAAqC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,GAAG,iDAAiD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC;YACpC,SAAS;QACX,CAAC;QACD,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;YAAE,SAAS;QAC3C,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@davidbalzan/groundwork-seam",
3
- "version": "0.1.15",
3
+ "version": "0.1.16",
4
4
  "description": "Schema owner of QUEUE / DONE / WORKSTREAMS / FACTS plus protocol record types.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -26,6 +26,14 @@
26
26
  "CHANGELOG.md",
27
27
  "LICENSE"
28
28
  ],
29
+ "scripts": {
30
+ "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
31
+ "build": "pnpm run clean && tsc",
32
+ "prepare": "pnpm run clean && tsc",
33
+ "prepack": "pnpm run build",
34
+ "pretest": "tsc",
35
+ "test": "node ../../scripts/assert-tests-exist.mjs test/*.test.mjs && node --test test/*.test.mjs"
36
+ },
29
37
  "engines": {
30
38
  "node": ">=20"
31
39
  },
@@ -33,11 +41,5 @@
33
41
  "devDependencies": {
34
42
  "@types/node": "^26.2.0",
35
43
  "typescript": "^7.0.2"
36
- },
37
- "scripts": {
38
- "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
39
- "build": "pnpm run clean && tsc",
40
- "pretest": "tsc",
41
- "test": "node ../../scripts/assert-tests-exist.mjs test/*.test.mjs && node --test test/*.test.mjs"
42
44
  }
43
- }
45
+ }