dorfl 0.5.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,118 @@
1
+ import { existsSync, statSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { workFolderName, workFolderPath, } from './work-layout.js';
4
+ /**
5
+ * The **co-located task/spec sidecar GUARD** (WORK-CONTRACT.md rule 8, the
6
+ * `notes/*`-only scoping).
7
+ *
8
+ * WHAT IT ENFORCES. A `<slug>/` asset sidecar folder co-located with a work item
9
+ * is ALLOWED for `notes/*` ONLY (`ideas`/`observations`/`findings` — they do NOT
10
+ * flow; a note leaves by deletion, so its sidecar never moves). It is FORBIDDEN
11
+ * for a `tasks/*` or `specs/*` item, because those regimes FLOW through status
12
+ * folders (`tasks/ready → tasks/done`, `specs/ready → specs/tasked`, …): a
13
+ * co-located sidecar shares the item's lifecycle and must be `git mv`'d in
14
+ * lockstep on every transition, and in practice gets STRANDED — the `<slug>.md`
15
+ * moves to the new status folder while the `<slug>/` sidecar is left behind in
16
+ * the old one, splitting ONE item across TWO status folders (a
17
+ * one-slug-one-folder violation, the SAME invariant `ledger-lint.ts` reads and
18
+ * the integration core enforces). A task's/spec's durable companion artifacts
19
+ * belong in the STABLE, non-flowing `docs/spikes/<slug>/` home (referenced by
20
+ * path from the `<slug>.md`), NOT a co-located sidecar.
21
+ *
22
+ * WHERE IT RUNS. This is the DETECTOR half; the integration core (`integration-core.ts`)
23
+ * wires it as a HARD BLOCK at LAND, BEFORE the durable `git mv` — a detected
24
+ * sidecar routes the item to needs-attention with {@link formatSidecarGuardReason},
25
+ * consistent with the status=folder / one-item-one-location contract the stranding
26
+ * violates. Fix = `git mv` the sidecar contents to `docs/spikes/<slug>/` + a
27
+ * reference edit in the `<slug>.md`.
28
+ *
29
+ * NO FALSE POSITIVES on: (a) the `work/questions/<type>-<slug>.md` needs-attention
30
+ * file — it is a tooling-owned STATUS-MECHANISM file, NOT scanned here (only
31
+ * `tasks/*` + `specs/*` FLOWING folders are); (b) a legitimate `notes/*` sidecar —
32
+ * the note buckets are deliberately EXCLUDED from the scan set; (c) a
33
+ * `docs/spikes/<slug>/` outside `work/` — this only ever looks INSIDE the FLOWING
34
+ * `work/` status folders.
35
+ */
36
+ /**
37
+ * The FLOWING status folders a `tasks/*` / `specs/*` item moves through — the ONLY
38
+ * folders scanned for an illegal co-located sidecar. Deliberately EXCLUDES the
39
+ * `notes/*` capture buckets (`ideas`/`observations`/`findings`, which legitimately
40
+ * MAY carry a sidecar) and the top-level `questions`/`protocol` surfaces (neither
41
+ * holds a flowing work item). A sidecar under any of THESE is a rule-8 violation
42
+ * because the item it sits beside will be `git mv`'d to another status folder and
43
+ * strand it.
44
+ */
45
+ export const SIDECAR_GUARD_FLOWING_FOLDERS = [
46
+ 'tasks-backlog',
47
+ 'tasks-ready',
48
+ 'done',
49
+ 'cancelled',
50
+ 'specs-proposed',
51
+ 'specs-ready',
52
+ 'specs-tasked',
53
+ 'specs-dropped',
54
+ ];
55
+ /** Does `<dir>/<name>` exist AND is it a directory? (a sidecar is a folder). */
56
+ function isDir(dir, name) {
57
+ try {
58
+ return statSync(join(dir, name)).isDirectory();
59
+ }
60
+ catch {
61
+ return false;
62
+ }
63
+ }
64
+ /**
65
+ * Detect a co-located `<slug>/` asset sidecar directory sitting beside the
66
+ * `<slug>.md` of a FLOWING task/spec item, in the given `cwd`'s working tree.
67
+ * Scans ONLY {@link SIDECAR_GUARD_FLOWING_FOLDERS} for a `<slug>/` DIRECTORY whose
68
+ * sibling `<slug>.md` FILE is present (both must be there: a lone `<slug>/`
69
+ * directory with no item file is not this item's sidecar). Returns every offender
70
+ * found (typically at most one, for the item being landed), or `[]` when clean.
71
+ *
72
+ * PURE-ish: reads the filesystem, no writes, no throws. The integration core
73
+ * passes the specific `slug` being landed so the block is scoped to THAT item.
74
+ */
75
+ export function detectColocatedSidecars(cwd, slug) {
76
+ const found = [];
77
+ for (const folder of SIDECAR_GUARD_FLOWING_FOLDERS) {
78
+ const dir = workFolderPath(cwd, folder);
79
+ // The item file `<slug>.md` AND the sidecar dir `<slug>/` must BOTH be
80
+ // present for this to be the item's stranded-able sidecar. A stray `<slug>/`
81
+ // with no `<slug>.md` in the same folder is not an item's sidecar.
82
+ if (!existsSync(join(dir, `${slug}.md`))) {
83
+ continue;
84
+ }
85
+ if (isDir(dir, slug)) {
86
+ found.push({
87
+ folder,
88
+ slug,
89
+ dirRel: `work/${workFolderName(folder)}/${slug}/`,
90
+ });
91
+ }
92
+ }
93
+ return found;
94
+ }
95
+ /**
96
+ * Format the ACTIONABLE needs-attention reason for a detected co-located sidecar
97
+ * (the message the LAND-time hard block surfaces VERBATIM). Names the offending
98
+ * path, the correct destination, and the exact fix — a `git mv` to
99
+ * `docs/spikes/<slug>/` plus a reference edit.
100
+ */
101
+ export function formatSidecarGuardReason(sidecars) {
102
+ if (sidecars.length === 0) {
103
+ return '';
104
+ }
105
+ const lines = [
106
+ 'task/spec artifacts belong in docs/spikes/<slug>/, not a co-located ' +
107
+ 'work/tasks|specs/<slug>/ sidecar; only notes/* may carry a sidecar ' +
108
+ '(WORK-CONTRACT rule 8) — relocate + reference by path:',
109
+ ];
110
+ for (const s of sidecars) {
111
+ lines.push(` - ${s.dirRel}: git mv its contents to docs/spikes/${s.slug}/ ` +
112
+ `(a STABLE, non-flowing home), then reference them by that path from ` +
113
+ `work/${workFolderName(s.folder)}/${s.slug}.md (a flowing item's ` +
114
+ `co-located sidecar strands on the ready→done move).`);
115
+ }
116
+ return lines.join('\n');
117
+ }
118
+ //# sourceMappingURL=sidecar-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidecar-guard.js","sourceRoot":"","sources":["../src/sidecar-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,EACN,cAAc,EACd,cAAc,GAEd,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC5C,eAAe;IACf,aAAa;IACb,MAAM;IACN,WAAW;IACX,gBAAgB;IAChB,aAAa;IACb,cAAc;IACd,eAAe;CAC6B,CAAC;AAY9C,gFAAgF;AAChF,SAAS,KAAK,CAAC,GAAW,EAAE,IAAY;IACvC,IAAI,CAAC;QACJ,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CACtC,GAAW,EACX,IAAY;IAEZ,MAAM,KAAK,GAAuB,EAAE,CAAC;IACrC,KAAK,MAAM,MAAM,IAAI,6BAA6B,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxC,uEAAuE;QACvE,6EAA6E;QAC7E,mEAAmE;QACnE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1C,SAAS;QACV,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC;gBACV,MAAM;gBACN,IAAI;gBACJ,MAAM,EAAE,QAAQ,cAAc,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG;aACjD,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACvC,QAAqC;IAErC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACX,CAAC;IACD,MAAM,KAAK,GAAG;QACb,sEAAsE;YACrE,qEAAqE;YACrE,wDAAwD;KACzD,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CACT,OAAO,CAAC,CAAC,MAAM,wCAAwC,CAAC,CAAC,IAAI,IAAI;YAChE,sEAAsE;YACtE,QAAQ,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,wBAAwB;YAClE,qDAAqD,CACtD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC"}
@@ -183,6 +183,16 @@ transition (the durable main-moves AND the per-item lock acquire/release/amend).
183
183
  (Your TESTS may freely create and operate on their OWN throwaway git repos — that
184
184
  is expected.)
185
185
 
186
+ If this task produces a DURABLE, REUSABLE artifact — a patch, a build/measurement
187
+ script, a captured measurement, a diagram — write it to docs/spikes/<slug>/ (a
188
+ STABLE path that does NOT move when the task lands) and REFERENCE it from the task
189
+ record / finding / ADR. Do NOT create a <slug>/ sidecar folder next to a task or
190
+ spec (work/tasks/<slug>/, work/specs/<slug>/): only notes/* items may carry a
191
+ co-located sidecar, because tasks and specs FLOW through status folders and a
192
+ co-located sidecar gets STRANDED on the ready→done move (one item split across two
193
+ folders — WORK-CONTRACT rule 8). Transient BUILD SCRATCH (source trees, GBs of
194
+ objects) belongs OUTSIDE the repo entirely.
195
+
186
196
  Leave a CLEAN working tree — only the changes this task intends. The runner
187
197
  commits everything untracked (`git add -A`), so any scratch, debug, or
188
198
  runtime-artifact file you or your tools created would otherwise be swept into the
@@ -191,6 +201,16 @@ commit. Before you stop, delete such stray untracked files, or add them to
191
201
  untracked file or editing .gitignore is producing clean WORK, like writing source
192
202
  — the "no git" rule above (no stage/commit/push/move) still holds.
193
203
 
204
+ This repo may declare STANDING per-change conventions — things EVERY change must do
205
+ regardless of the task (e.g. add a release/changelog entry, regenerate a file,
206
+ update a manifest). They live in the repo's conventions doc: read CONTEXT.md (its
207
+ `## Conventions` section) and, if present, AGENTS.md, and satisfy any that apply to
208
+ your change. Several are ENFORCED by the `verify` gate, so skipping one makes the
209
+ gate go red at LAND time — a bounce — even though your task's own code is correct.
210
+ The classic case: a change that touched a package but added no changeset entry
211
+ (the gate reports the changed package has no changeset). When in doubt, follow the
212
+ conventions doc; it is the repo's source of truth for these standing rules.
213
+
194
214
  When the acceptance criteria are met and the repo's build/test/format checks are
195
215
  green, STOP and report what you did. The runner handles the durable `git mv` of the
196
216
  body tasks/ready/ -> work/tasks/done/, the completion commit, the lock release, and
@@ -144,7 +144,11 @@ The rule is symmetric: _a discrepancy between a doc and reality is not something
144
144
  5. **Content-derived slugs, never counters.** Use a URL-safe slug from the title (e.g. "Historical store schema" → `historical-store-schema`). NO monotonic integer IDs — two agents would both grab "next = 43". A short hash or date prefix is fine if disambiguation is needed (`historical-store-schema` or `2026-06-03-historical-store-schema`).
145
145
  6. **Dependencies by slug, read-only.** `blockedBy: [other-slug]` references other items; an item never writes another item's file. The blocker owns its own status (its folder).
146
146
  7. **Claim state is the per-item LOCK, never a frontmatter field (and not a folder move).** Claiming an item acquires its per-item lock (`refs/dorfl/lock/<type>-<slug>`, `action: implement`) — a create-only ref push that is self-arbitrating (the loser is definitively told "lost", no retry budget); the body STAYS in `tasks/ready/` (claim writes nothing to `main`, so an agent can claim even on a protected `main`). The holder/since ride the lock entry; `git` (the ref + its parentless commit) holds the authoritative record. There is NO `claimed_by` / `claimed_at` frontmatter, and no `git mv` into an `in-progress/` folder — the claimable predicate is "in the pool `tasks/ready/` on `main` AND no lock held on its ref".
147
- 8. **An item MAY carry a co-located `<slug>/` asset sidecar folder.** The item is ALWAYS the `<slug>.md` file (that is its identity and the only thing scanned). When an item needs companion resources — a `.patch`, a mockup image, a diagram, a sample payload — put them in a sibling folder of the SAME slug, `<umbrella>/<slug>/` (e.g. `notes/ideas/my-idea.md` + `notes/ideas/my-idea/fix.patch`). This is safe and disturbs NOTHING because every scanner lists a bucket by `isWorkItemFile` (= name ends in `.md`), so a sidecar folder is silently skipped — it is never mistaken for an item, and `(umbrella, slug)` addressing is unchanged. Rules: the sidecar is OPTIONAL and most items have none; it is OWNED by its `<slug>.md` (the markdown references its assets by relative path, e.g. `[the patch](<slug>/fix.patch)`); it shares the item's lifecycle (when the item is deleted, delete its sidecar too — a note leaves by deletion, and an orphaned sidecar is litter); and it is NOT a second item, so never put another item's `<slug>.md` inside it (that would hide it from scanning). This applies to ANY bucket (`notes/*`, `tasks/*`, `specs/*`), not just ideas, though ideas are the common case. It does NOT violate rule 1 (one file per ITEM) or rule 2 (no shared index) — the sidecar holds an item's OWN assets, not a manifest over many items.
147
+ 8. **A co-located `<slug>/` asset sidecar folder is for `notes/*` ONLY — tasks/specs use a STABLE `docs/spikes/<slug>/` home and REFERENCE it.** The item is ALWAYS the `<slug>.md` file (that is its identity and the only thing scanned). A `notes/*` note (`ideas/`/`observations/`/`findings/`) MAY carry companion resources — a `.patch`, a mockup image, a diagram, a sample payload — in a sibling folder of the SAME slug, `notes/<bucket>/<slug>/` (e.g. `notes/ideas/my-idea.md` + `notes/ideas/my-idea/fix.patch`). This is safe and disturbs NOTHING because every scanner lists a bucket by `isWorkItemFile` (= name ends in `.md`), so a sidecar folder is silently skipped — it is never mistaken for an item, and `(umbrella, slug)` addressing is unchanged. Rules: the sidecar is OPTIONAL and most notes have none; it is OWNED by its `<slug>.md` (the markdown references its assets by relative path, e.g. `[the patch](<slug>/fix.patch)`); it shares the note's deletion-only lifecycle (when the note is deleted, delete its sidecar too — a note leaves by deletion, and an orphaned sidecar is litter); and it is NOT a second item, so never put another item's `<slug>.md` inside it (that would hide it from scanning). It does NOT violate rule 1 (one file per ITEM) or rule 2 (no shared index) — the sidecar holds a note's OWN assets, not a manifest over many items.
148
+
149
+ **`tasks/*` and `specs/*` MUST NOT carry a `<slug>/` sidecar.** They are FLOWING regimes: a task moves `tasks/ready → tasks/done` (and to `tasks/cancelled/`), a spec moves `specs/ready → specs/tasked` (and to `specs/dropped/`), and a co-located sidecar — which shares the item's lifecycle — would have to be `git mv`'d in lockstep on EVERY status transition. In practice it gets STRANDED: the `<slug>.md` moves to the new status folder while the sidecar is left behind in the old one, splitting ONE item across TWO status folders — a one-slug-one-folder violation (a Gate-2 BLOCK) that also buries durable, reusable engineering assets inside a transient task position no one does archaeology in. So a task's/spec's durable companion artifacts (a rebased `.patch`, a build/measurement script, a captured measurement, a diagram) live in a STABLE, NON-FLOWING home that NEVER moves on a status change — the convention is **`docs/spikes/<slug>/`** (reference material that sits alongside the ADRs it supports) — and the task/spec `<slug>.md` REFERENCES them by that stable path (any spawned finding/ADR links there too). Rationale: this removes a whole class of `ready → done` `git mv` fragility (there is nothing to move but the `.md`) and puts durable assets in a durable home instead of a transient one.
150
+
151
+ Carve-outs (unaffected by this rule): (a) TRANSIENT BUILD SCRATCH — source trees, GBs of build objects — belongs OUTSIDE the repo entirely (the `dorfl` scratch area), never in `docs/spikes/` or a sidecar; (b) the needs-attention `work/questions/<type>-<slug>.md` file is a tooling-owned STATUS-MECHANISM file (identity-keyed, it deliberately does NOT move with the item), NOT an item asset sidecar — it is not what this rule governs; (c) `notes/*` sidecars are explicitly ALLOWED (the paragraph above) because notes do NOT flow — they leave only by deletion, so a note's sidecar never moves and cannot strand.
148
152
 
149
153
  ## Task quality rule — tests must not touch the real environment
150
154
 
@@ -1 +1 @@
1
- {"version":3,"file":"tasking.d.ts","sourceRoot":"","sources":["../src/tasking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasking.d.ts","sourceRoot":"","sources":["../src/tasking.ts"],"names":[],"mappings":"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"}
package/dist/tasking.js CHANGED
@@ -413,6 +413,37 @@ export async function performTask(options) {
413
413
  `marked the per-item lock stuck (needs attention; no tasks landed).`,
414
414
  };
415
415
  }
416
+ if (core.outcome === 'sidecar-violation') {
417
+ // A co-located `<slug>/` asset sidecar sits beside the FLOWING spec item
418
+ // (WORK-CONTRACT.md rule 8): the tasking transition would `git mv`
419
+ // `specs/ready → specs/tasked` and STRAND the sidecar. The core HARD-BLOCKED
420
+ // before the stage/integrate; route the held spec to needs-attention through
421
+ // the SAME `spec:<slug>` lock-release seam the block path uses (no tasks land),
422
+ // carrying the actionable relocate-to-`docs/spikes/<slug>/` reason.
423
+ const reason = `The spec '${slug}' carries a co-located asset sidecar: ` +
424
+ `${core.reviewBlockReason ?? core.reason ?? ''}`;
425
+ const routed = await lock.release({
426
+ slug,
427
+ cwd,
428
+ arbiter,
429
+ lockedBlob,
430
+ routeToNeedsAttention: { reason },
431
+ env,
432
+ note,
433
+ });
434
+ if (routed.outcome !== 'released') {
435
+ return releaseFailureToResult(routed, slug);
436
+ }
437
+ note(reason);
438
+ return {
439
+ exitCode: 1,
440
+ outcome: 'needs-attention',
441
+ slug,
442
+ message: `The spec '${slug}' carries a co-located asset sidecar (WORK-CONTRACT ` +
443
+ `rule 8); marked the per-item lock stuck (needs attention; no tasks ` +
444
+ `landed; relocate it to docs/spikes/${slug}/ and reference by path).`,
445
+ };
446
+ }
416
447
  if (core.outcome === 'review-unparseable') {
417
448
  // The task-set acceptance gate RAN but its verdict was UNPARSEABLE (malformed
418
449
  // JSON). Route the held spec to needs-attention through the SAME lock-release
@@ -1 +1 @@
1
- {"version":3,"file":"tasking.js","sourceRoot":"","sources":["../src/tasking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasking.js","sourceRoot":"","sources":["../src/tasking.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EACV,SAAS,EACT,WAAW,EACX,YAAY,EACZ,MAAM,EACN,aAAa,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AAClD,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAC,QAAQ,EAAiB,MAAM,UAAU,CAAC;AAClD,OAAO,EACN,aAAa,EACb,cAAc,EACd,YAAY,EACZ,WAAW,EACX,cAAc,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,kBAAkB,GAElB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACN,yBAAyB,GAEzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,kBAAkB,EAClB,kBAAkB,GAKlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,WAAW,EAAe,MAAM,cAAc,CAAC;AACvD,OAAO,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAE,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAC,qBAAqB,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAClD,OAAO,EACN,iBAAiB,GAGjB,MAAM,yBAAyB,CAAC;AAyGjC,MAAM,iBAAiB,GAAoB;IAC1C,OAAO,EAAE,kBAAkB;IAC3B,OAAO,EAAE,kBAAkB;CAC3B,CAAC;AA+KF,MAAM,eAAe,GAAG,QAAQ,CAAC;AAEjC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;AAE/D;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;AAEpD,iEAAiE;AACjE,MAAM,oBAAoB,GAAG;IAC5B,OAAO,EAAE,gBAAgB;IACzB,IAAI,EAAE,cAAc;CACX,CAAC;AAEX;;;;;;;;;GASG;AACH,SAAS,aAAa,CACrB,OAAwC;IAExC,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC;IACvC,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,sFAAsF;AACtF,SAAS,cAAc,CAAC,IAAY;IACnC,OAAO,GAAG,gBAAgB,IAAI,IAAI,EAAE,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,OAA2B;IAE3B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,eAAe,CAAC;IACnD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,8EAA8E;IAC9E,6EAA6E;IAC7E,uEAAuE;IACvE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,iBAAiB,CAAC;IAE/C,oFAAoF;IACpF,uDAAuD;IACvD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,YAAY,IAAI,cAAc,aAAa,CAAC,aAAa,CAAC,IAAI,IAAI,MAAM,CAAC;QACzF,IAAI,CAAC,OAAO,CAAC,CAAC;QACd,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC;IAC7D,CAAC;IACD,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAE7C,6EAA6E;IAC7E,wDAAwD;IACxD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,gBAAgB,CACnC,GAAG,EACH,IAAI,EACJ,MAAM,EACN,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,QAAQ,IAAI,KAAK,CACzB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YACtE,IAAI,CAAC,OAAO,CAAC,CAAC;YACd,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC;QAC9D,CAAC;IACF,CAAC;IAED,8EAA8E;IAC9E,sEAAsE;IACtE,IAAI,UAA8B,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC;IACjC,IAAI,OAAO,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC;QACrE,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YACjC,OAAO;gBACN,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,WAAW;gBACpB,IAAI;gBACJ,OAAO,EAAE,QAAQ,CAAC,OAAO;aACzB,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;YACtC,OAAO;gBACN,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,WAAW;gBACpB,IAAI;gBACJ,OAAO,EAAE,QAAQ,CAAC,OAAO;aACzB,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACN,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,aAAa;gBACtB,IAAI;gBACJ,OAAO,EAAE,QAAQ,CAAC,OAAO;aACzB,CAAC;QACH,CAAC;QACD,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IAClC,CAAC;IAED,gFAAgF;IAChF,kFAAkF;IAClF,2FAA2F;IAC3F,iFAAiF;IACjF,oHAAoH;IACpH,gFAAgF;IAChF,kFAAkF;IAClF,mFAAmF;IACnF,kFAAkF;IAClF,IAAI,OAAO,EAAE,CAAC;QACb,MAAM,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,uDAAuD;IACvD,sFAAsF;IACtF,+EAA+E;IAC/E,0EAA0E;IAC1E,0EAA0E;IAC1E,0DAA0D;IAC1D,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACxC,iFAAiF;IACjF,gFAAgF;IAChF,iEAAiE;IACjE,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACrC,0EAA0E;IAC1E,gBAAgB;IAChB,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,KAAqC,CAAC;IAC1C,IAAI,CAAC;QACJ,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,KAAK,GAAG;YACP,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,6BAA6B,IAAI,IAAI,CAAC;QACrE,MAAM,OAAO,GAAG,yBAAyB,IAAI,MAAM,MAAM,IAAI,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,CAAC;QACd,0EAA0E;QAC1E,yEAAyE;QACzE,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC;IAC9D,CAAC;IAED,iFAAiF;IACjF,iFAAiF;IACjF,kFAAkF;IAClF,+EAA+E;IAC/E,kFAAkF;IAClF,gFAAgF;IAChF,mFAAmF;IACnF,uEAAuE;IACvE,IAAI,eAAoD,CAAC;IACzD,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5C,eAAe,GAAG,MAAM,iBAAiB,CAAC;YACzC,IAAI;YACJ,GAAG;YACH,IAAI,EAAE,OAAO,CAAC,UAAU;YACxB,yEAAyE;YACzE,kEAAkE;YAClE,8DAA8D;YAC9D,MAAM;YACN,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC;YACzC,UAAU,EAAE,OAAO,CAAC,gBAAgB;YACpC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,yEAAyE;YACzE,GAAG,EAAE,QAAQ;YACb,IAAI;SACJ,CAAC,CAAC;QACH,wEAAwE;QACxE,gFAAgF;QAChF,mFAAmF;QACnF,wFAAwF;QACxF,IAAI,eAAe,CAAC,OAAO,KAAK,uBAAuB,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,0BAA0B,CACxC,IAAI,EACJ,eAAe,CAAC,aAAa,CAC7B,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;oBACjC,IAAI;oBACJ,GAAG;oBACH,OAAO;oBACP,UAAU;oBACV,qBAAqB,EAAE,EAAC,MAAM,EAAC;oBAC/B,GAAG;oBACH,IAAI;iBACJ,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBACnC,OAAO,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC7C,CAAC;YACF,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO;gBACN,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,iBAAiB;gBAC1B,IAAI;gBACJ,OAAO,EAAE,eAAe,CAAC,OAAO;aAChC,CAAC;QACH,CAAC;QACD,2EAA2E;QAC3E,yEAAyE;QACzE,gEAAgE;QAChE,IAAI,eAAe,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;YACnD,KAAK,MAAM,SAAS,IAAI,eAAe,CAAC,cAAc,EAAE,CAAC;gBACxD,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACtE,CAAC;QACF,CAAC;IACF,CAAC;IAED,6EAA6E;IAC7E,4FAA4F;IAC5F,gFAAgF;IAChF,iFAAiF;IACjF,8EAA8E;IAC9E,mCAAmC;IACnC,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC1D,uCAAuC;IACvC,+EAA+E;IAC/E,0EAA0E;IAC1E,6EAA6E;IAC7E,6EAA6E;IAC7E,0EAA0E;IAC1E,uEAAuE;IACvE,qEAAqE;IACrE,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACpD,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC;KACrD,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,eAAe,CACnC,oBAAoB,EACpB,iBAAiB,CAAC,MAAM,CACxB,CAAC;IACF,6EAA6E;IAC7E,+EAA+E;IAC/E,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAChC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,YAAY,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAC3C,CAAC;IACF,MAAM,OAAO,GACZ,eAAe,EAAE,OAAO,KAAK,WAAW;QACvC,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,eAAe,EAAE,OAAO,KAAK,iBAAiB;YAC/C,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,SAAS,CAAC;IAEf,IAAI,OAAO,EAAE,CAAC;QACb,+EAA+E;QAC/E,4EAA4E;QAC5E,+EAA+E;QAC/E,gFAAgF;QAChF,qDAAqD;QACrD,qFAAqF;QACrF,sFAAsF;QACtF,6EAA6E;QAC7E,oEAAoE;QACpE,+EAA+E;QAC/E,2EAA2E;QAC3E,yBAAyB;QACzB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QACzE,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;YACzD,MAAM,OAAO,GACZ,yBAAyB,IAAI,2BAA2B,OAAO,GAAG;gBAClE,cAAc,OAAO,yDAAyD;gBAC9E,uEAAuE;gBACvE,iDAAiD,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,CAAC;YACd,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC;QACvD,CAAC;QAED,gEAAgE;QAChE,6EAA6E;QAC7E,gGAAgG;QAChG,+EAA+E;QAC/E,gFAAgF;QAChF,6EAA6E;QAC7E,iFAAiF;QACjF,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC;YACrC,GAAG;YACH,OAAO;YACP,IAAI;YACJ,4EAA4E;YAC5E,yEAAyE;YACzE,MAAM,EAAE,aAAa;YACrB,UAAU,EAAE,KAAK;YACjB,6EAA6E;YAC7E,wEAAwE;YACxE,UAAU,EAAE,IAAI;YAChB,mEAAmE;YACnE,kEAAkE;YAClE,sEAAsE;YACtE,sEAAsE;YACtE,yEAAyE;YACzE,4EAA4E;YAC5E,qEAAqE;YACrE,2DAA2D;YAC3D,6EAA6E;YAC7E,6DAA6D;YAC7D,4EAA4E;YAC5E,mDAAmD;YACnD,0EAA0E;YAC1E,2EAA2E;YAC3E,wEAAwE;YACxE,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,WAAW,EAAE,OAAO,CAAC,qBAAqB;YAC1C,eAAe,EAAE,CAAC;YAClB,yEAAyE;YACzE,iEAAiE;YACjE,mCAAmC;YACnC,uEAAuE;YACvE,2DAA2D;YAC3D,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,wEAAwE;YACxE,2EAA2E;YAC3E,6EAA6E;YAC7E,4EAA4E;YAC5E,yEAAyE;YACzE,gBAAgB;YAChB,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,SAAS;YACtC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,8EAA8E;YAC9E,2EAA2E;YAC3E,0EAA0E;YAC1E,4EAA4E;YAC5E,wEAAwE;YACxE,4EAA4E;YAC5E,6EAA6E;YAC7E,qEAAqE;YACrE,wEAAwE;YACxE,6DAA6D;YAC7D,IAAI,EAAE,yBAAyB,CAAC,IAAI,EAAE,SAAS,CAAC;YAChD,IAAI,EAAE,SAAS;YACf,SAAS,EAAE;gBACV,2EAA2E;gBAC3E,SAAS,EAAE,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC;gBACjD,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE,GAAG,EAAE,CACX,qBAAqB,CAAC;oBACrB,GAAG;oBACH,IAAI;oBACJ,SAAS;oBACT,UAAU;oBACV,YAAY;oBACZ,eAAe,EAAE,iBAAiB,CAAC,MAAM;oBACzC,IAAI;oBACJ,GAAG;iBACH,CAAC;aACH;YACD,GAAG;YACH,mEAAmE;YACnE,4DAA4D;YAC5D,QAAQ;YACR,IAAI;SACJ,CAAC,CAAC;QAEH,2EAA2E;QAC3E,6EAA6E;QAC7E,wEAAwE;QACxE,2EAA2E;QAC3E,+EAA+E;QAC/E,8EAA8E;QAC9E,+EAA+E;QAC/E,mFAAmF;QACnF,kEAAkE;QAClE,IAAI,IAAI,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;gBACjC,IAAI;gBACJ,GAAG;gBACH,OAAO;gBACP,UAAU;gBACV,qBAAqB,EAAE,EAAC,MAAM,EAAC;gBAC/B,GAAG;gBACH,IAAI;aACJ,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBACnC,OAAO,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,CAAC;YACb,OAAO;gBACN,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,iBAAiB;gBAC1B,IAAI;gBACJ,OAAO,EACN,0DAA0D,IAAI,KAAK;oBACnE,oEAAoE;aACrE,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC;YAC1C,yEAAyE;YACzE,mEAAmE;YACnE,6EAA6E;YAC7E,6EAA6E;YAC7E,gFAAgF;YAChF,oEAAoE;YACpE,MAAM,MAAM,GACX,aAAa,IAAI,wCAAwC;gBACzD,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;gBACjC,IAAI;gBACJ,GAAG;gBACH,OAAO;gBACP,UAAU;gBACV,qBAAqB,EAAE,EAAC,MAAM,EAAC;gBAC/B,GAAG;gBACH,IAAI;aACJ,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBACnC,OAAO,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,CAAC;YACb,OAAO;gBACN,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,iBAAiB;gBAC1B,IAAI;gBACJ,OAAO,EACN,aAAa,IAAI,sDAAsD;oBACvE,qEAAqE;oBACrE,sCAAsC,IAAI,2BAA2B;aACtE,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,oBAAoB,EAAE,CAAC;YAC3C,8EAA8E;YAC9E,8EAA8E;YAC9E,6EAA6E;YAC7E,+EAA+E;YAC/E,4EAA4E;YAC5E,gDAAgD;YAChD,MAAM,MAAM,GACX,iCAAiC,IAAI,oCAAoC;gBACzE,yBAAyB,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;gBACjC,IAAI;gBACJ,GAAG;gBACH,OAAO;gBACP,UAAU;gBACV,qBAAqB,EAAE,EAAC,MAAM,EAAC;gBAC/B,GAAG;gBACH,IAAI;aACJ,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBACnC,OAAO,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,CAAC;YACb,OAAO;gBACN,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,iBAAiB;gBAC1B,IAAI;gBACJ,OAAO,EACN,iEAAiE,IAAI,KAAK;oBAC1E,4EAA4E;aAC7E,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;YAClC,2FAA2F;YAC3F,mFAAmF;YACnF,qEAAqE;YACrE,+EAA+E;YAC/E,4CAA4C;YAC5C,+EAA+E;YAC/E,4EAA4E;YAC5E,0EAA0E;YAC1E,uDAAuD;YACvD,uEAAuE;YACvE,+DAA+D;YAC/D,IAAI,OAAO,EAAE,CAAC;gBACb,MAAM,eAAe,CAAC,EAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAC,CAAC,CAAC;YAClE,CAAC;QACF,CAAC;QACD,OAAO,uBAAuB,CAAC,IAAI,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;IACtE,CAAC;IAED,6EAA6E;IAC7E,+EAA+E;IAC/E,kFAAkF;IAClF,oCAAoC;IACpC,MAAM,OAAO,GACZ,WAAW,IAAI,QAAQ,OAAO,CAAC,MAAM,eAAe;QACpD,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,2CAA2C;QAC7E,0EAA0E,CAAC;IAC5E,IAAI,CAAC,OAAO,CAAC,CAAC;IACd,OAAO;QACN,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,QAAQ;QACjB,IAAI;QACJ,OAAO;QACP,IAAI,EAAE,OAAO;QACb,OAAO;KACP,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAC9B,QAAkC,EAClC,IAAY;IAEZ,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAClC,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAC,CAAC;IACzE,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,IAAI,QAAQ,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO;YACN,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,WAAW;YACpB,IAAI;YACJ,OAAO,EAAE,QAAQ,CAAC,OAAO;SACzB,CAAC;IACH,CAAC;IACD,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAC,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,uBAAuB,CAC/B,IAA2B,EAC3B,GAIC;IAED,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,GAAG,GAAG,CAAC;IAClC,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,MAAM,GACX,IAAI,CAAC,WAAW,EAAE,IAAI,KAAK,OAAO;YACjC,CAAC,CAAC,iCAAiC;YACnC,CAAC,CAAC,4CAA4C,CAAC;QACjD,MAAM,OAAO,GACZ,WAAW,IAAI,QAAQ,OAAO,CAAC,MAAM,eAAe;YACpD,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,yCAAyC;YAC3E,8EAA8E;YAC9E,6BAA6B,MAAM,GAAG,CAAC;QACxC,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,CAAC;IACvE,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;QACxC,OAAO;YACN,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,OAAO;YAChB,IAAI;YACJ,OAAO,EACN,IAAI,CAAC,MAAM;gBACX,+BAA+B,IAAI,kCAAkC;oBACpE,GAAG,IAAI,8DAA8D;SACvE,CAAC;IACH,CAAC;IACD,OAAO;QACN,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,aAAa;QACtB,IAAI;QACJ,OAAO,EACN,IAAI,CAAC,MAAM;YACX,+BAA+B,IAAI,wBAAwB;KAC5D,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,kBAAkB,CAChC,GAAW,EACX,OAAe,EACf,IAAY,EACZ,GAAkC;IAElC,+EAA+E;IAC/E,oFAAoF;IACpF,8EAA8E;IAC9E,+EAA+E;IAC/E,mFAAmF;IACnF,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,OAAO,CACZ,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,OAAO,CAAC,EACtD,GAAG,EACH,GAAG,CACH,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,eAAe,CAC7B,GAAW,EACX,OAAe,EACf,IAAY,EACZ,UAA8B,EAC9B,GAAkC;IAElC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,MAAM,OAAO,CACzB,CAAC,WAAW,EAAE,GAAG,OAAO,SAAS,aAAa,CAAC,aAAa,CAAC,IAAI,IAAI,KAAK,CAAC,EAC3E,GAAG,EACH,GAAG,CACH,CAAC;IACF,2EAA2E;IAC3E,kFAAkF;IAClF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,qBAAqB,CAAC,MAuBpC;IACA,MAAM,EACL,GAAG,EACH,IAAI,EACJ,SAAS,EACT,UAAU,EACV,YAAY,EACZ,eAAe,EACf,IAAI,EACJ,GAAG,GACH,GAAG,MAAM,CAAC;IACX,MAAM,IAAI,GAAG,WAAW,CAAC,aAAa,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,WAAW,CAAC,cAAc,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;IAC7D,8CAA8C;IAC9C,2EAA2E;IAC3E,4EAA4E;IAC5E,uEAAuE;IACvE,iFAAiF;IACjF,8EAA8E;IAC9E,aAAa;IACb,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAChC,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;QACzC,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC,CAAC,EAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC,CAAC;IAC/C,IAAI,eAAe,KAAK,kBAAkB,EAAE,CAAC;QAC5C,IAAI,CACH,0BAA0B,IAAI,sCAAsC;YACnE,IAAI,YAAY,iDAAiD;YACjE,yEAAyE,CAC1E,CAAC;IACH,CAAC;IACD,wFAAwF;IACxF,2FAA2F;IAC3F,gFAAgF;IAChF,sEAAsE;IACtE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IAC7D,MAAM,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClD,MAAM,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACnD,qDAAqD;IACrD,2EAA2E;IAC3E,8EAA8E;IAC9E,iFAAiF;IACjF,8EAA8E;IAC9E,4EAA4E;IAC5E,8EAA8E;IAC9E,2EAA2E;IAC3E,+EAA+E;IAC/E,MAAM,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IAC3C,wEAAwE;IACxE,8EAA8E;IAC9E,4EAA4E;IAC5E,+EAA+E;IAC/E,8EAA8E;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,GAAG,YAAY,IAAI,QAAQ,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACnC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QAC/C,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;QACjE,MAAM,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAChD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;YAC9B,iEAAiE;YACjE,kCAAkC;YAClC,MAAM,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,cAAc,CAC5B,GAAW,EACX,UAA+B,EAC/B,GAAkC;IAElC,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC/C,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACJ,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO;IACR,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,SAAS;QACV,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;gBACtC,SAAS;YACV,CAAC;YACD,oEAAoE;YACpE,MAAM,OAAO,CACZ,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,EAC5D,GAAG,EACH,GAAG,CACH,CAAC;YACF,SAAS;QACV,CAAC;QACD,wDAAwD;QACxD,MAAM,CAAC,GAAG,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;IAC5B,CAAC;AACF,CAAC;AAED,sEAAsE;AACtE,SAAS,OAAO,CACf,IAAc,EACd,GAAW,EACX,GAAkC;IAElC,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;AAC1C,CAAC;AAED,2EAA2E;AAC3E,KAAK,UAAU,OAAO,CACrB,IAAc,EACd,GAAW,EACX,GAAkC;IAElC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACd,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAC/E,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,qBAAqB,CAC7B,IAAY,EACZ,cAAkC;IAElC,MAAM,IAAI,GACT,8EAA8E;QAC9E,IAAI,IAAI,yEAAyE;QACjF,mDAAmD,CAAC;IACrD,OAAO,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/D,CAAC;AAED;;;;GAIG;AACH,SAAS,0BAA0B,CAAC,IAAY,EAAE,SAAmB;IACpE,MAAM,IAAI,GACT,6EAA6E;QAC7E,IAAI,IAAI,+EAA+E;QACvF,iEAAiE,CAAC;IACnE,MAAM,IAAI,GACT,SAAS,CAAC,MAAM,GAAG,CAAC;QACnB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3C,CAAC,CAAC,0EAA0E,CAAC;IAC/E,OAAO,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAC5B,GAAW,EACX,OAAe,EACf,SAAmB,EACnB,IAA+B;IAE/B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/C,IACC,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,gBAAgB,GAAG,CAAC;QAC9C,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EACxB,CAAC;QACF,IAAI,CACH,uCAAuC,gBAAgB,MAAM,OAAO,IAAI,CACxE,CAAC;QACF,OAAO;IACR,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,0DAA0D,OAAO,GAAG,CAAC,CAAC;QAC3E,OAAO;IACR,CAAC;IACD,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpD,aAAa,CAAC,GAAG,EAAE,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,iFAAiF;AACjF,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAEnD;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,OAAe,EAAE,SAAmB;IACjE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,sBAAsB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CACxB,GAAW,EACX,IAAY,EACZ,MAA4E,EAC5E,QAA6B,EAC7B,QAAiB;IAEjB,OAAO,yBAAyB,CAAC;QAChC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW,EAAE,eAAe,CAAC,GAAG,CAAC;QACjC,QAAQ,EAAE,QAAQ,IAAI,KAAK;QAC3B,QAAQ;KACR,CAAC,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,SAAS,iBAAiB,CACzB,IAAY,EACZ,MAAqD,EACrD,WAAqC,EACrC,OAA2B;IAE3B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CACX,+DAA+D,CAC/D,CAAC;IACH,CAAC;IACD,8EAA8E;IAC9E,+EAA+E;IAC/E,8EAA8E;IAC9E,IACC,OAAO,CAAC,QAAQ,KAAK,IAAI;QACzB,MAAM,CAAC,SAAS,KAAK,IAAI;QACzB,MAAM,CAAC,YAAY,KAAK,IAAI;QAC5B,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,IAAI,EACnC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CACX,uCAAuC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnF,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GACR,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC;IACtE,OAAO,oBAAoB,IAAI,MAAM,GAAG,GAAG,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,eAAe,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACrC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,gBAAgB,CAAC,IAAY,EAAE,KAAyB;IAChE,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IACjD,OAAO;QACN,iDAAiD,SAAS,IAAI,IAAI,QAAQ;QAC1E,+EAA+E;QAC/E,+EAA+E;QAC/E,wEAAwE;QACxE,0EAA0E;QAC1E,4BAA4B;QAC5B,EAAE;QACF,2EAA2E;QAC3E,4EAA4E;QAC5E,8EAA8E;QAC9E,4EAA4E;QAC5E,iEAAiE;QACjE,EAAE;QACF,6EAA6E;QAC7E,uEAAuE;QACvE,+EAA+E;QAC/E,+EAA+E;QAC/E,4EAA4E;QAC5E,uDAAuD;QACvD,EAAE;QACF,+EAA+E;QAC/E,0EAA0E;QAC1E,gFAAgF;QAChF,iFAAiF;QACjF,kFAAkF;QAClF,mFAAmF;QACnF,8EAA8E;QAC9E,kFAAkF;QAClF,gFAAgF;QAChF,yEAAyE;QACzE,gFAAgF;QAChF,gFAAgF;QAChF,iFAAiF;QACjF,oDAAoD;QACpD,EAAE;QACF,yCAAyC,gBAAgB,0BAA0B;QACnF,qFAAqF;QACrF,+EAA+E;QAC/E,kFAAkF;QAClF,iDAAiD;QACjD,EAAE;QACF,8DAA8D,IAAI,YAAY;QAC9E,iCAAiC;QACjC,EAAE;QACF,6EAA6E;QAC7E,4EAA4E;QAC5E,+DAA+D,UAAU,OAAO;KAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,KAAK,UAAU,YAAY,CAC1B,OAA2B,EAC3B,GAAW,EACX,MAAc,EACd,IAAY;IAEZ,yEAAyE;IACzE,gFAAgF;IAChF,kCAAkC;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;IACjD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC,KAAK,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,WAAW,EAAE,CAAC;IACrD,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC;QAC9C,OAAO;QACP,GAAG,EAAE,GAAG;QACR,IAAI;QACJ,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;QAC/B,MAAM;QACN,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,QAAQ,IAAI,EAAE;QACzB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,GAAG,EAAE,QAAQ;KACb,CAAC,CAAC;IACH,OAAO,EAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAC,CAAC;AACnD,CAAC;AAED,uEAAuE;AACvE,SAAS,mBAAmB,CAAC,GAAW;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAC/B,GAAW,EACX,MAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACxC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACtD,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC;IACF,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,uFAAuF;AACvF,SAAS,YAAY,CAAC,GAAW;IAChC,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,4EAA4E;AAC5E,SAAS,mBAAmB,CAC3B,GAAW,EACX,QAAkB;IAElB,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,yBAAyB,CACxC,QAAgB,EAChB,SAAiC;IAEjC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,OAAO;SACnB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;SACvD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,KAAK,CAAC,IAAI,CACT,iBAAiB,QAAQ,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAC1E,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IACD,yEAAyE;IACzE,6EAA6E;IAC7E,2EAA2E;IAC3E,sEAAsE;IACtE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACpC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAC1C,CAAC;IACF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACjC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CACzE,CAAC;IACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC;IACF,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACtD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;gBACnD,SAAS;YACV,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxB,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAYD;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,GAAW,EAAE,OAAe;IACrD,MAAM,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IAC9C,OAAO;QACN,IAAI;QACJ,KAAK;QACL,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC;QAChC,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,YAAY,EAAE,EAAE,CAAC,YAAY,KAAK,IAAI;QACtC,aAAa,EAAE,iBAAiB,CAAC,OAAO,CAAC;KACzC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,OAAe;IACtC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACxC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,KAAK,KAAK,EAAE;YAAE,OAAO,SAAS,CAAC;QACnC,0EAA0E;QAC1E,IACC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9C,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAC7C,CAAC;YACF,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,IAAI,KAAK,CAAC,CAAC;YAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACxD,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IACzC,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,OAAe;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACX,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACxC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC;IACX,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAChD,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,OAAO,CAAC,CAAC,CAAC,CAAC;aACT,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;aAChD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACzC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,sBAAsB,EAAE,CAAC,CAAC;IAClE,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACX,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,KAAK,EAAE;YAAE,SAAS;QAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC;YAAE,MAAM;QACd,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,wEAAwE;AACxE,SAAS,YAAY,CAAC,GAAW;IAChC,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACJ,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9D,CAAC"}
package/dist/verify.d.ts CHANGED
@@ -72,6 +72,22 @@ export interface RunVerifyResult {
72
72
  commands: string[];
73
73
  /** Whether the gate passed (exitCode === 0). */
74
74
  passed: boolean;
75
+ /**
76
+ * The EXACT command that failed (the first non-zero exit — `&&`-short-circuit
77
+ * semantics), verbatim from the resolved gate list. Present ONLY on a failing
78
+ * result with a configured gate. This is the load-bearing context a bare `exit
79
+ * N` throws away: in a multi-command gate (`build && test && format:check`) it
80
+ * tells the human WHICH step failed without re-running the whole gate.
81
+ */
82
+ failedCommand?: string;
83
+ /**
84
+ * The TAIL of the failed command's combined stdout+stderr (last
85
+ * {@link VERIFY_OUTPUT_TAIL_LINES} non-empty lines), so the surfaced
86
+ * needs-attention question carries the ACTUAL error text (e.g. "no changesets
87
+ * were found") rather than an opaque exit code. Bounded so a noisy gate cannot
88
+ * bloat the sidecar. Present ONLY on a failing result with a configured gate.
89
+ */
90
+ outputTail?: string;
75
91
  /**
76
92
  * True iff the gate could not run because NO `verify` is declared (unset /
77
93
  * empty / all-blank). A distinct, always-failing outcome (`passed: false`)
@@ -80,6 +96,14 @@ export interface RunVerifyResult {
80
96
  */
81
97
  notConfigured?: boolean;
82
98
  }
99
+ /**
100
+ * How many trailing non-empty output lines of the FAILED gate command are kept
101
+ * in {@link RunVerifyResult.outputTail}. Small enough to keep the surfaced
102
+ * question readable, large enough to carry the actual error (most tool errors
103
+ * are 1–3 lines). The tail is captured per-command and reset on each command so
104
+ * only the failing command's output is retained.
105
+ */
106
+ export declare const VERIFY_OUTPUT_TAIL_LINES = 20;
83
107
  /**
84
108
  * Run the resolved gate command(s) in `cwd`, streaming output, and resolve with
85
109
  * the gate's status: exit 0 iff every command passed. Commands run in sequence;
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAE7C;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,QAIW,CAAC;AAEtD;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;gBACtC,OAAO,GAAE,MAAsC;CAI3D;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,YAAY,GAAG,SAAS,GAC9B,MAAM,EAAE,CAUV;AAED,MAAM,WAAW,gBAAgB;IAChC,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,yFAAyF;IACzF,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC/B,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gDAAgD;IAChD,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,SAAS,CAC9B,OAAO,EAAE,gBAAgB,GACvB,OAAO,CAAC,eAAe,CAAC,CA4B1B"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAE7C;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,QAIW,CAAC;AAEtD;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;gBACtC,OAAO,GAAE,MAAsC;CAI3D;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,YAAY,GAAG,SAAS,GAC9B,MAAM,EAAE,CAUV;AAED,MAAM,WAAW,gBAAgB;IAChC,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,yFAAyF;IACzF,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC/B,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gDAAgD;IAChD,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;;;;;;;;GAYG;AACH,wBAAsB,SAAS,CAC9B,OAAO,EAAE,gBAAgB,GACvB,OAAO,CAAC,eAAe,CAAC,CAwD1B"}
package/dist/verify.js CHANGED
@@ -46,6 +46,14 @@ export function resolveVerifyCommands(verify) {
46
46
  }
47
47
  return commands;
48
48
  }
49
+ /**
50
+ * How many trailing non-empty output lines of the FAILED gate command are kept
51
+ * in {@link RunVerifyResult.outputTail}. Small enough to keep the surfaced
52
+ * question readable, large enough to carry the actual error (most tool errors
53
+ * are 1–3 lines). The tail is captured per-command and reset on each command so
54
+ * only the failing command's output is retained.
55
+ */
56
+ export const VERIFY_OUTPUT_TAIL_LINES = 20;
49
57
  /**
50
58
  * Run the resolved gate command(s) in `cwd`, streaming output, and resolve with
51
59
  * the gate's status: exit 0 iff every command passed. Commands run in sequence;
@@ -75,16 +83,60 @@ export async function runVerify(options) {
75
83
  const onStdout = options.onStdout ?? ((chunk) => process.stdout.write(chunk));
76
84
  const onStderr = options.onStderr ?? ((chunk) => process.stderr.write(chunk));
77
85
  for (const command of commands) {
86
+ // Capture a bounded ring of this command's combined output so a FAILURE can
87
+ // carry the actual error text (not just an exit code). Reset per command so
88
+ // only the failing command's tail is retained. The captured chunks still
89
+ // stream through the sinks unchanged (the console/log is unaffected).
90
+ const tail = [];
91
+ const capture = (chunk) => {
92
+ for (const line of chunk.split('\n')) {
93
+ tail.push(line);
94
+ }
95
+ // Keep a little slack over the reported budget; trimmed to the exact budget
96
+ // (non-empty lines only) when a failure surfaces.
97
+ const maxRing = VERIFY_OUTPUT_TAIL_LINES * 4;
98
+ if (tail.length > maxRing) {
99
+ tail.splice(0, tail.length - maxRing);
100
+ }
101
+ };
78
102
  const exitCode = await runOne(command, options.cwd, options.env, {
79
- onStdout,
80
- onStderr,
103
+ onStdout: (chunk) => {
104
+ capture(chunk);
105
+ onStdout(chunk);
106
+ },
107
+ onStderr: (chunk) => {
108
+ capture(chunk);
109
+ onStderr(chunk);
110
+ },
81
111
  });
82
112
  if (exitCode !== 0) {
83
- return { exitCode, commands, passed: false };
113
+ return {
114
+ exitCode,
115
+ commands,
116
+ passed: false,
117
+ failedCommand: command,
118
+ outputTail: lastNonEmptyLines(tail, VERIFY_OUTPUT_TAIL_LINES),
119
+ };
84
120
  }
85
121
  }
86
122
  return { exitCode: 0, commands, passed: true };
87
123
  }
124
+ /**
125
+ * Join the last `n` NON-EMPTY lines of a captured output ring into a single
126
+ * string (newline-separated), preserving order. Blank lines are dropped so the
127
+ * tail is dense signal (tool errors, not the trailing whitespace many gates
128
+ * emit). Returns `undefined` when nothing was captured, so callers can omit the
129
+ * context cleanly rather than surfacing an empty block.
130
+ */
131
+ function lastNonEmptyLines(lines, n) {
132
+ const dense = lines
133
+ .map((line) => line.trimEnd())
134
+ .filter((line) => line !== '');
135
+ if (dense.length === 0) {
136
+ return undefined;
137
+ }
138
+ return dense.slice(-n).join('\n');
139
+ }
88
140
  /** Spawn one command via `bash -c`, streaming its output, resolving its code. */
89
141
  function runOne(command, cwd, env, sinks) {
90
142
  return new Promise((resolvePromise, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dorfl",
3
- "version": "0.5.1",
3
+ "version": "0.7.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/wighawag/dorfl.git",
@@ -518,7 +518,7 @@ export async function performMergeAction(
518
518
  };
519
519
  }
520
520
  // gate-failed / prepare-failed / review-blocked / review-unparseable /
521
- // rebase-conflict / invariant-violation: the land was REFUSED;
521
+ // rebase-conflict / sidecar-violation / invariant-violation: the land was REFUSED;
522
522
  // performIntegration routed the bounce per its own shared seam (gated by
523
523
  // `surfaceArbiter`), so `main` never received a failing tree.
524
524
  return {
package/src/complete.ts CHANGED
@@ -107,6 +107,7 @@ export type CompleteOutcome =
107
107
  | 'review-blocked' // Gate 2 (PR/code review) returned `block` (or exhausted rounds)
108
108
  | 'review-unparseable' // Gate 2 ran but its verdict JSON was malformed/unparseable — work-preserving route, classified `transient-infra` (NOT a reviewer block)
109
109
  | 'rebase-conflict' // rebase onto arbiter/main conflicted (aborted; human resolves)
110
+ | 'sidecar-violation' // a co-located <slug>/ sidecar sits beside a flowing task/spec item (WORK-CONTRACT rule 8) — routed to needs-attention before the durable move
110
111
  | 'invariant-violation' // one-slug-one-folder would break (slug in two folders on the arbiter)
111
112
  | 'strand-surfaced' // autonomous source-strand refusal (or empty-staged) surfaced to needs-attention on the arbiter (parity with run's never-strand-in-in-progress posture)
112
113
  | 'surface-unmoved' // autonomous source-strand surface tried but did NOT land on the arbiter — the item is HONESTLY still in-progress (CAS contention / no arbiter); never a fake success
@@ -985,6 +986,20 @@ async function runComplete(
985
986
  message: core.reason ?? '',
986
987
  };
987
988
  }
989
+ if (core.outcome === 'sidecar-violation') {
990
+ // A co-located `<slug>/` sidecar sits beside a FLOWING task/spec item
991
+ // (WORK-CONTRACT rule 8): a HARD BLOCK before the durable move (the sidecar
992
+ // would strand on `ready → done`). Routed to needs-attention by the same
993
+ // seam the red gate / review block use; the actionable relocate-to-
994
+ // `docs/spikes/<slug>/` reason rides `core.reason`.
995
+ return {
996
+ exitCode: surfaceExit(core.routedToNeedsAttention),
997
+ outcome: 'sidecar-violation',
998
+ routedToNeedsAttention: core.routedToNeedsAttention,
999
+ branch: core.branch,
1000
+ message: core.reason ?? '',
1001
+ };
1002
+ }
988
1003
  if (core.outcome === 'already-integrated') {
989
1004
  // Stranded-done auto-recover: the kept tip is ALREADY on `<arbiter>/main`
990
1005
  // (the PR merged out-of-band before the re-run). A clean, successful no-op