@milehimikey/em 1.9.1 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/.claude/skills/event-modeling/SKILL.md +1 -1
  2. package/.claude/skills/event-modeling-conform/SKILL.md +5 -1
  3. package/.claude/skills/event-modeling-design/SKILL.md +31 -12
  4. package/.claude/skills/event-modeling-discover/SKILL.md +1 -1
  5. package/.claude/skills/event-modeling-implement/SKILL.md +14 -3
  6. package/.claude/skills/event-modeling-implement/reference/implement.md +73 -6
  7. package/.claude/skills/event-modeling-review/SKILL.md +14 -3
  8. package/.claude/skills/event-modeling-shared/reference/em-dsl.md +110 -11
  9. package/.claude/skills/event-modeling-shared/reference/slice-doc-schema.md +4 -1
  10. package/.claude/skills/event-modeling-shared/templates/constitution.md +111 -0
  11. package/.claude/skills/event-modeling-shared/templates/model-readme.md +2 -2
  12. package/.claude/skills/event-modeling-shared/templates/slice.md +4 -0
  13. package/README.md +8 -1
  14. package/dist/catalog/docJoin.d.ts +8 -0
  15. package/dist/catalog/docJoin.js +4 -0
  16. package/dist/catalog/docJoin.js.map +1 -1
  17. package/dist/catalog/sliceDoc.d.ts +8 -0
  18. package/dist/catalog/sliceDoc.js +2 -0
  19. package/dist/catalog/sliceDoc.js.map +1 -1
  20. package/dist/cli/ciInit.d.ts +10 -3
  21. package/dist/cli/ciInit.js +22 -14
  22. package/dist/cli/ciInit.js.map +1 -1
  23. package/dist/cli/ledgerCheck.d.ts +72 -0
  24. package/dist/cli/ledgerCheck.js +122 -1
  25. package/dist/cli/ledgerCheck.js.map +1 -1
  26. package/dist/cli/ratify.d.ts +37 -5
  27. package/dist/cli/ratify.js +106 -9
  28. package/dist/cli/ratify.js.map +1 -1
  29. package/dist/cli/reratify.js +14 -5
  30. package/dist/cli/reratify.js.map +1 -1
  31. package/dist/cli/review.d.ts +38 -0
  32. package/dist/cli/review.js +160 -0
  33. package/dist/cli/review.js.map +1 -0
  34. package/dist/cli/sliceIndex.d.ts +3 -0
  35. package/dist/cli/sliceIndex.js +5 -4
  36. package/dist/cli/sliceIndex.js.map +1 -1
  37. package/dist/cli/stateFile.d.ts +10 -0
  38. package/dist/cli/stateFile.js +14 -0
  39. package/dist/cli/stateFile.js.map +1 -1
  40. package/dist/cli/status.d.ts +44 -3
  41. package/dist/cli/status.js +75 -18
  42. package/dist/cli/status.js.map +1 -1
  43. package/dist/cli/systemInputs.d.ts +34 -0
  44. package/dist/cli/systemInputs.js +129 -0
  45. package/dist/cli/systemInputs.js.map +1 -0
  46. package/dist/cli.js +362 -23
  47. package/dist/cli.js.map +1 -1
  48. package/dist/emit/freshnessJson.d.ts +1 -1
  49. package/dist/emit/freshnessJson.js +5 -1
  50. package/dist/emit/freshnessJson.js.map +1 -1
  51. package/dist/emit/json.d.ts +37 -1
  52. package/dist/emit/json.js +67 -1
  53. package/dist/emit/json.js.map +1 -1
  54. package/dist/emit/ledgerJson.d.ts +1 -1
  55. package/dist/emit/ledgerJson.js +6 -1
  56. package/dist/emit/ledgerJson.js.map +1 -1
  57. package/dist/emit/queryJson.d.ts +6 -0
  58. package/dist/emit/queryJson.js +33 -0
  59. package/dist/emit/queryJson.js.map +1 -0
  60. package/dist/emit/statusJson.d.ts +1 -1
  61. package/dist/emit/statusJson.js +5 -1
  62. package/dist/emit/statusJson.js.map +1 -1
  63. package/dist/emit/systemJson.d.ts +8 -0
  64. package/dist/emit/systemJson.js +38 -0
  65. package/dist/emit/systemJson.js.map +1 -0
  66. package/dist/mcp/server.d.ts +1 -1
  67. package/dist/mcp/server.js +195 -9
  68. package/dist/mcp/server.js.map +1 -1
  69. package/dist/model/edges.d.ts +28 -1
  70. package/dist/model/edges.js +77 -15
  71. package/dist/model/edges.js.map +1 -1
  72. package/dist/model/model.d.ts +6 -0
  73. package/dist/model/model.js +2 -0
  74. package/dist/model/model.js.map +1 -1
  75. package/dist/model/qualifiedRef.d.ts +47 -0
  76. package/dist/model/qualifiedRef.js +100 -0
  77. package/dist/model/qualifiedRef.js.map +1 -0
  78. package/dist/model/queryIndex.d.ts +53 -0
  79. package/dist/model/queryIndex.js +114 -0
  80. package/dist/model/queryIndex.js.map +1 -0
  81. package/dist/model/rules.d.ts +88 -0
  82. package/dist/model/rules.js +101 -0
  83. package/dist/model/rules.js.map +1 -1
  84. package/dist/model/sliceDocIndex.d.ts +30 -0
  85. package/dist/model/sliceDocIndex.js +110 -0
  86. package/dist/model/sliceDocIndex.js.map +1 -0
  87. package/dist/model/validate.js +85 -11
  88. package/dist/model/validate.js.map +1 -1
  89. package/dist/parser/ast.d.ts +25 -0
  90. package/dist/parser/parser.d.ts +2 -0
  91. package/dist/parser/parser.js +104 -34
  92. package/dist/parser/parser.js.map +1 -1
  93. package/dist/query/format.d.ts +8 -0
  94. package/dist/query/format.js +80 -0
  95. package/dist/query/format.js.map +1 -0
  96. package/dist/query/pipeline.d.ts +17 -0
  97. package/dist/query/pipeline.js +38 -0
  98. package/dist/query/pipeline.js.map +1 -0
  99. package/dist/query/system.d.ts +60 -0
  100. package/dist/query/system.js +87 -0
  101. package/dist/query/system.js.map +1 -0
  102. package/dist/query/verbs.d.ts +100 -0
  103. package/dist/query/verbs.js +306 -0
  104. package/dist/query/verbs.js.map +1 -0
  105. package/dist/render/drawEdges.js +15 -4
  106. package/dist/render/drawEdges.js.map +1 -1
  107. package/dist/render/drawNotes.d.ts +13 -3
  108. package/dist/render/drawNotes.js +96 -20
  109. package/dist/render/drawNotes.js.map +1 -1
  110. package/dist/render/render.js +6 -5
  111. package/dist/render/render.js.map +1 -1
  112. package/dist/render/sliceDiagram.js +1 -0
  113. package/dist/render/sliceDiagram.js.map +1 -1
  114. package/dist/system/manifest.d.ts +45 -0
  115. package/dist/system/manifest.js +178 -0
  116. package/dist/system/manifest.js.map +1 -0
  117. package/dist/system/verify.d.ts +88 -0
  118. package/dist/system/verify.js +263 -0
  119. package/dist/system/verify.js.map +1 -0
  120. package/dist/templates.d.ts +14 -1
  121. package/dist/templates.js +134 -5
  122. package/dist/templates.js.map +1 -1
  123. package/dist/util/slug.js +16 -10
  124. package/dist/util/slug.js.map +1 -1
  125. package/package.json +10 -1
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/model/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/model/validate.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,19 @@ export interface Field {
25
25
  * slice's commands. Still visible to view↔event field tracing; the marker only narrows
26
26
  * the event↔command completeness check, not the view-facing one. */
27
27
  assigned?: boolean;
28
+ /** Trailing `derived` clause on the field line (view fields only, MIL-200): marks this
29
+ * field as computed from which events have landed, rather than copied from a single
30
+ * source event's payload — so `fields-completeness/view-field-no-source` never checks it
31
+ * against the view's source events. Optionally traced: `derivedFrom` names the event(s)
32
+ * whose arrival the value depends on (`derived from "Event A", "Event B"`); when given,
33
+ * `em validate` still checks something — every named event must resolve among the view's
34
+ * actual sources (see `model/validate.ts`'s `derived-from-unresolved`). `undefined` when
35
+ * absent. */
36
+ derived?: boolean;
37
+ /** The event name(s) a `derived from "Event A", "Event B"` clause traces to, in declaration
38
+ * order — `undefined` on a bare `derived` (no traced source) or when the field carries no
39
+ * `derived` clause at all. See `Field.derived`. */
40
+ derivedFrom?: string[];
28
41
  }
29
42
  /** Kind of an element-level `tag` clause (`ElementNode.tags`) — the inline field `tag` (identity)
30
43
  * isn't one of these; it lives on `Field.tag` instead and is merged in only at export/validate
@@ -79,6 +92,14 @@ export interface ElementNode {
79
92
  * remove+add, no-inference philosophy); this is purely additive metadata a consumer opts
80
93
  * into reading. `undefined` when absent. */
81
94
  renamedFrom?: string[];
95
+ /** `loops-to "View"` clause(s) — event only (MIL-199): the name(s) of an earlier read model
96
+ * this event re-feeds, e.g. a poll/retry loop where a later fact must re-trigger an
97
+ * automation that already ran. Repeatable (`loops-to "A" loops-to "B"`), in declaration
98
+ * order. Deliberately not drawn as an arrow — the timeline's forward-only laws stay intact;
99
+ * this is a labeled legend entry instead (see `render/drawNotes.ts`). `undefined` when
100
+ * absent. See `model/validate.ts` for the "target must be strictly earlier" rule and
101
+ * `model/edges.ts`'s `resolveLoopsToTarget`. */
102
+ loopsTo?: string[];
82
103
  line: number;
83
104
  }
84
105
  export interface SliceNode {
@@ -104,6 +125,10 @@ export interface TypeDeclNode {
104
125
  }
105
126
  export interface ModelNode {
106
127
  name: string;
128
+ /** True when the source declared `model "Name"`; false when `name` is the parser's default
129
+ * title. The distinction matters to `model/qualifiedRef.ts` (MIL-193), whose model key is the
130
+ * slugged declared name — an undeclared name must not become a key. */
131
+ nameDeclared: boolean;
107
132
  /** Declared persona lanes, in order. */
108
133
  personas: string[];
109
134
  /** Declared context/concept lanes, in order. */
@@ -3,4 +3,6 @@ export declare class ParseError extends Error {
3
3
  line: number;
4
4
  constructor(message: string, line: number);
5
5
  }
6
+ /** Title used when a file declares no `model "Name"` line. */
7
+ export declare const DEFAULT_MODEL_NAME = "Event Model";
6
8
  export declare function parse(source: string): ModelNode;
@@ -10,7 +10,7 @@
10
10
  // ui <free text> [@Persona]
11
11
  // command <free text>
12
12
  // view <free text> [from "Event"[, "Event2" ...]]
13
- // event <free text> [@Context] [public]
13
+ // event <free text> [@Context] [public] [loops-to "View"[ loops-to "View2" ...]]
14
14
  // automation|processor|saga|translation <free text>
15
15
  // }
16
16
  // arrow <From Element> -> <To Element>
@@ -35,9 +35,12 @@ const ELEMENT_KEYWORDS = new Set([
35
35
  "saga",
36
36
  "translation",
37
37
  ]);
38
+ /** Title used when a file declares no `model "Name"` line. */
39
+ export const DEFAULT_MODEL_NAME = "Event Model";
38
40
  export function parse(source) {
39
41
  const model = {
40
42
  name: "",
43
+ nameDeclared: false,
41
44
  personas: [],
42
45
  contexts: [],
43
46
  slices: [],
@@ -177,6 +180,7 @@ export function parse(source) {
177
180
  switch (keyword) {
178
181
  case "model":
179
182
  model.name = unquote(remainder);
183
+ model.nameDeclared = true;
180
184
  break;
181
185
  case "persona":
182
186
  pushUnique(model.personas, unquote(remainder));
@@ -247,8 +251,10 @@ export function parse(source) {
247
251
  if (currentSlice) {
248
252
  throw new ParseError(`slice "${currentSlice.name}" is missing a closing '}'`, currentSlice.line);
249
253
  }
250
- if (!model.name)
251
- model.name = "Event Model";
254
+ if (!model.name) {
255
+ model.name = DEFAULT_MODEL_NAME;
256
+ model.nameDeclared = false;
257
+ }
252
258
  return model;
253
259
  }
254
260
  function parseElement(kind, raw, line) {
@@ -376,6 +382,25 @@ function extractClauses(node, raw, line) {
376
382
  node.renamedFrom = renamedFromClause.values;
377
383
  rest = renamedFromClause.rest;
378
384
  }
385
+ // `loops-to "View"` clause(s) (event only, MIL-199): the name of an earlier read model this
386
+ // event re-feeds — a poll/retry loop the timeline's forward-only `from`/`arrow` can't
387
+ // express. Case-sensitive and quote-anchored, same discipline as `from` below (MIL-82): a
388
+ // title-cased free-text event name (`event Widget Loops To Cabinet`) never collides, since
389
+ // the hyphenated lowercase keyword never appears in it. Repeatable — `loops-to "A" loops-to
390
+ // "B"` — so this loops on the extraction itself (unlike every single-shot clause above),
391
+ // accumulating each hit's values onto `node.loopsTo` in declaration order. Extracted before
392
+ // the plain `from` clause below only by convention (the two never actually collide: this
393
+ // one is event-only, `from` is view/reaction-only). No arrow is ever drawn for this — see
394
+ // `render/drawNotes.ts`'s legend instead.
395
+ for (;;) {
396
+ const loopsToClause = extractQuotedListClause(rest, "loops-to", "loops-to", line);
397
+ if (!loopsToClause)
398
+ break;
399
+ if (node.kind !== "event")
400
+ throw new ParseError("`loops-to` is only valid on event — only a recorded fact can re-feed an earlier read model", line);
401
+ node.loopsTo = [...(node.loopsTo ?? []), ...loopsToClause.values];
402
+ rest = loopsToClause.rest;
403
+ }
379
404
  // `from "A", "B"` clause (views and reactions). The keyword is case-sensitive
380
405
  // and its operand must open with a quote, so a capitalized `From` — or a bare
381
406
  // lowercase `from` — inside an element name (`event Widget Removed From
@@ -569,6 +594,15 @@ function extractTagClauses(node, raw, line) {
569
594
  * stops once a pass finds nothing new. At most as many passes as there are clauses ever do real
570
595
  * work (each clause can only unblock another once), so this never loops meaningfully longer than
571
596
  * a fixed clause chain would.
597
+ *
598
+ * `derived from "Event A", "Event B"` (view fields only, MIL-200) is checked in the same loop,
599
+ * BEFORE the bare `derived` check below it — mirroring how the element-level `renamed from` is
600
+ * extracted before the plain `from` clause (`extractClauses`) — so the two-word clause's own
601
+ * "from"-adjacent text is never at risk of being mistaken for anything the bare form's regex
602
+ * might otherwise reach into. (In practice the two never actually collide: the bare form's
603
+ * `/^(.*\S)\s+derived$/` only matches text ending in the literal word "derived", and a traced
604
+ * clause's text ends in a quoted list instead — but the ordering keeps this function's clauses
605
+ * checked in the same "two-word form before its bare prefix" discipline throughout.)
572
606
  */
573
607
  function extractFieldClauses(raw, line, context) {
574
608
  const clauses = {};
@@ -611,6 +645,35 @@ function extractFieldClauses(raw, line, context) {
611
645
  progressed = true;
612
646
  }
613
647
  }
648
+ // `derived from "Event A", "Event B"` (view fields only, MIL-200) — checked before the
649
+ // bare `derived` keyword below, same "two-word form first" discipline as `renamed from`
650
+ // vs. plain `from` at the element level.
651
+ if (clauses.derived === undefined && clauses.derivedFrom === undefined) {
652
+ const derivedFromClause = extractQuotedListClause(rest, "derived\\s+from", "derived from", line);
653
+ if (derivedFromClause) {
654
+ if (context !== "view") {
655
+ throw new ParseError("`derived from` is only valid on a view field — it names the events a computed " +
656
+ `value's arrival depends on, so it can't describe a ${context === "type-decl" ? "type" : context} field`, line);
657
+ }
658
+ clauses.derived = true;
659
+ clauses.derivedFrom = derivedFromClause.values;
660
+ rest = derivedFromClause.rest;
661
+ progressed = true;
662
+ }
663
+ }
664
+ if (clauses.derived === undefined) {
665
+ const derivedMatch = rest.match(/^(.*\S)\s+derived$/);
666
+ if (derivedMatch) {
667
+ if (context !== "view") {
668
+ throw new ParseError("`derived` is only valid on a view field — it marks a field computed from which " +
669
+ `events have landed, not copied from a triggering command or event payload, so ` +
670
+ `it can't describe a ${context === "type-decl" ? "type" : context} field`, line);
671
+ }
672
+ clauses.derived = true;
673
+ rest = derivedMatch[1];
674
+ progressed = true;
675
+ }
676
+ }
614
677
  if (!progressed)
615
678
  break;
616
679
  }
@@ -643,43 +706,49 @@ function parseFieldSpec(raw, line, context) {
643
706
  field.renamedFrom = clauses.renamedFrom;
644
707
  if (field && clauses.assigned)
645
708
  field.assigned = true;
709
+ if (field && clauses.derived)
710
+ field.derived = true;
711
+ if (field && clauses.derivedFrom)
712
+ field.derivedFrom = clauses.derivedFrom;
646
713
  return field;
647
714
  }
648
- /** Matches a fragment ending in an in-progress `renamed from` list: `renamed from` followed by
649
- * one or more quoted items, comma-separated, the LAST one flush against the fragment's end —
650
- * exactly the shape `splitTopLevel` leaves on the fragment that owns the list once it's split
651
- * the top-level commas BETWEEN list items apart (see `mergeRenamedFromContinuations`). */
652
- const RENAMED_FROM_TAIL = /(?:^|\s)renamed\s+from\s+"(?:[^"\\]|\\.)*"(?:\s*,\s*"(?:[^"\\]|\\.)*")*$/;
715
+ /** Matches a fragment ending in an in-progress field-level quoted-list clause: `renamed from`
716
+ * or `derived from` (MIL-200 — the same hazard, same fix) followed by one or more quoted
717
+ * items, comma-separated, the LAST one flush against the fragment's end — exactly the shape
718
+ * `splitTopLevel` leaves on the fragment that owns the list once it's split the top-level
719
+ * commas BETWEEN list items apart (see `mergeQuotedListContinuations`). */
720
+ const QUOTED_LIST_CLAUSE_TAIL = /(?:^|\s)(?:renamed|derived)\s+from\s+"(?:[^"\\]|\\.)*"(?:\s*,\s*"(?:[^"\\]|\\.)*")*$/;
653
721
  /** Matches a fragment that, trimmed, STARTS with a quoted string — capturing that leading
654
722
  * quoted span so the caller can inspect what (if anything) follows it (see
655
- * `mergeRenamedFromContinuations`). */
723
+ * `mergeQuotedListContinuations`). */
656
724
  const LEADING_QUOTED_STRING = /^"(?:[^"\\]|\\.)*"/;
657
725
  /**
658
- * Re-merges `splitTopLevel`'s fragments across a field-level `renamed from "Old1", "Old2"`
659
- * list's own internal commas (MIL-68, hazard 4). `splitTopLevel` only treats a comma as
660
- * literal WHILE INSIDE a single quoted span — the commas BETWEEN two list items are
661
- * themselves top-level separators, so `{ a: X renamed from "A", "B", b: Y }` splits into
662
- * THREE raw fragments (`a: X renamed from "A"`, `"B"`, `b: Y`), not two fields. Worse, a
663
- * continuation fragment need not be JUST the quoted string — `{ paymentId: UUID renamed from
664
- * "id", "pid" tag }` splits into `paymentId: UUID renamed from "id"` and `"pid" tag`, and that
665
- * second fragment must fold in WHOLE (quote and trailing ` tag` both) or the ` tag` survives as
666
- * a fabricated field of its own — a phantom identity tag flowing into the export with no
667
- * diagnostic.
726
+ * Re-merges `splitTopLevel`'s fragments across a field-level quoted-list clause's own internal
727
+ * commas (MIL-68, hazard 4; extended to `derived from` by MIL-200 — the identical hazard on a
728
+ * different keyword). `splitTopLevel` only treats a comma as literal WHILE INSIDE a single
729
+ * quoted span — the commas BETWEEN two list items are themselves top-level separators, so
730
+ * `{ a: X renamed from "A", "B", b: Y }` splits into THREE raw fragments (`a: X renamed from
731
+ * "A"`, `"B"`, `b: Y`), not two fields, and `{ status: String derived from "A", "B" }` splits
732
+ * the same way. Worse, a continuation fragment need not be JUST the quoted string —
733
+ * `{ paymentId: UUID renamed from "id", "pid" tag }` splits into `paymentId: UUID renamed from
734
+ * "id"` and `"pid" tag`, and that second fragment must fold in WHOLE (quote and trailing ` tag`
735
+ * both) or the ` tag` survives as a fabricated field of its own — a phantom identity tag
736
+ * flowing into the export with no diagnostic.
668
737
  *
669
738
  * A fragment whose trimmed text STARTS with a quoted string is folded back into the PREVIOUS
670
739
  * fragment in full (`prev + ", " + frag`) whenever both (a) that previous fragment's own
671
- * trailing text is itself an in-progress `renamed from` list, and (b) the text right after the
672
- * fragment's leading quote is not a `:` (allowing leading whitespace) — otherwise it's left
673
- * alone. Condition (b) preserves the documented escape hatch: a quoted field name immediately
674
- * followed by `: Type` (`{ a: X renamed from "A", "B": Type }`) is an ordinary field with a
675
- * quoted name, not a list continuation, unchanged from pre-MIL-68 behavior. Anything else
676
- * trailing the quote (a bare quoted field, or trailing clause text like ` tag`) is swept into
677
- * the list fragment and left for `extractFieldClauses`'s fixpoint loop to sort out — this makes
678
- * the ambiguous case always resolve to "continuation of the rename list", never "next field
679
- * (or fields)"; see docs/dsl.md for the two escape hatches (multi-line field blocks, or giving
680
- * the quoted-name field a type).
740
+ * trailing text is itself an in-progress `renamed from`/`derived from` list, and (b) the text
741
+ * right after the fragment's leading quote is not a `:` (allowing leading whitespace) —
742
+ * otherwise it's left alone. Condition (b) preserves the documented escape hatch: a quoted
743
+ * field name immediately followed by `: Type` (`{ a: X renamed from "A", "B": Type }`) is an
744
+ * ordinary field with a quoted name, not a list continuation, unchanged from pre-MIL-68
745
+ * behavior. Anything else trailing the quote (a bare quoted field, or trailing clause text
746
+ * like ` tag`) is swept into the list fragment and left for `extractFieldClauses`'s fixpoint
747
+ * loop to sort out — this makes the ambiguous case always resolve to "continuation of the
748
+ * list", never "next field (or fields)"; see docs/dsl.md for the two escape hatches (multi-line
749
+ * field blocks, or giving the quoted-name field a type).
681
750
  */
682
- function mergeRenamedFromContinuations(fragments) {
751
+ function mergeQuotedListContinuations(fragments) {
683
752
  const merged = [];
684
753
  for (const raw of fragments) {
685
754
  const trimmed = raw.trim();
@@ -689,7 +758,7 @@ function mergeRenamedFromContinuations(fragments) {
689
758
  if (prev !== undefined &&
690
759
  leadingQuote !== null &&
691
760
  !afterQuote.startsWith(":") &&
692
- RENAMED_FROM_TAIL.test(prev)) {
761
+ QUOTED_LIST_CLAUSE_TAIL.test(prev)) {
693
762
  merged[merged.length - 1] = `${prev}, ${trimmed}`;
694
763
  }
695
764
  else {
@@ -703,11 +772,12 @@ function mergeRenamedFromContinuations(fragments) {
703
772
  * every field-bearing `{ … }` block in the grammar splits and parses fields the same way.
704
773
  * The split is quote-aware (`splitTopLevel`, identical to native `.split(",")` when `inner`
705
774
  * has no quotes at all) so a field clause carrying a quoted, comma-bearing list (MIL-68's
706
- * `renamed from "Old1", "Old2"`) isn't broken apart mid-string; `mergeRenamedFromContinuations`
707
- * then re-joins the fragments the split still leaves apart BETWEEN list items. */
775
+ * `renamed from "Old1", "Old2"`, or MIL-200's `derived from "Event A", "Event B"`) isn't
776
+ * broken apart mid-string; `mergeQuotedListContinuations` then re-joins the fragments the
777
+ * split still leaves apart BETWEEN list items. */
708
778
  function parseInlineFields(inner, line, context) {
709
779
  const fields = [];
710
- const fragments = mergeRenamedFromContinuations(splitTopLevel(inner, ","));
780
+ const fragments = mergeQuotedListContinuations(splitTopLevel(inner, ","));
711
781
  for (const spec of fragments) {
712
782
  const f = parseFieldSpec(spec, line, context);
713
783
  if (f)
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,sDAAsD;AACtD,EAAE;AACF,uDAAuD;AACvD,EAAE;AACF,iBAAiB;AACjB,iBAAiB;AACjB,iBAAiB;AACjB,kCAAkC;AAClC,mCAAmC;AACnC,0BAA0B;AAC1B,uDAAuD;AACvD,qFAAqF;AACrF,wDAAwD;AACxD,MAAM;AACN,yCAAyC;AACzC,qCAAqC;AAErC,OAAO,EAEL,gBAAgB,GAOjB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,aAAa,EACb,YAAY,EACZ,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,MAAM,OAAO,UAAW,SAAQ,KAAK;IACC;IAApC,YAAY,OAAe,EAAS,IAAY;QAC9C,KAAK,CAAC,QAAQ,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QADA,SAAI,GAAJ,IAAI,CAAQ;QAE9C,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAc;IAC5C,IAAI;IACJ,SAAS;IACT,MAAM;IACN,OAAO;IACP,YAAY;IACZ,WAAW;IACX,MAAM;IACN,aAAa;CACd,CAAC,CAAC;AAEH,8DAA8D;AAC9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEhD,MAAM,UAAU,KAAK,CAAC,MAAc;IAClC,MAAM,KAAK,GAAc;QACvB,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,KAAK;QACnB,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;KACV,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,YAAY,GAAqB,IAAI,CAAC;IAC1C,IAAI,cAAc,GAAuB,IAAI,CAAC,CAAC,2BAA2B;IAC1E,IAAI,eAAe,GAAwB,IAAI,CAAC,CAAC,+BAA+B;IAEhF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEhC,0EAA0E;QAC1E,4EAA4E;QAC5E,oEAAoE;QACpE,wEAAwE;QACxE,sEAAsE;QACtE,qDAAqD;QACrD,IACE,IAAI,KAAK,GAAG;YACZ,CAAC,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EACzC,CAAC;YACD,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACtC,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAClE,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,IAAI,UAAU,CAClB,0CAA0C,QAAQ,GAAG,EACrD,MAAM,CACP,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,cAAc,GAAG,IAAI,CAAC;gBACtB,SAAS;YACX,CAAC;YACD,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACtC,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,IAAI,UAAU,CAClB,0CAA0C,QAAQ,0CAA0C,EAC5F,MAAM,CACP,CAAC;gBACJ,CAAC;gBACD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAClC,eAAe,GAAG,IAAI,CAAC;gBACvB,SAAS;YACX,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAChC,YAAY,GAAG,IAAI,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,MAAM,IAAI,UAAU,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;QAED,uFAAuF;QACvF,yFAAyF;QACzF,0FAA0F;QAC1F,wFAAwF;QACxF,2DAA2D;QAC3D,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,UAAU,CAClB,cAAc,CAAC,IAAI,KAAK,OAAO;oBAC7B,CAAC,CAAC,mFAAmF;wBACjF,gCAAgC;oBACpC,CAAC,CAAC,8EAA8E;wBAC5E,0BAA0B,cAAc,CAAC,IAAI,QAAQ,EAC3D,MAAM,CACP,CAAC;YACJ,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC;gBAClE,CAAC,cAAc,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzC,SAAS;QACX,CAAC;QAED,2FAA2F;QAC3F,oFAAoF;QACpF,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,UAAU,CAClB,sFAAsF;oBACpF,2BAA2B,EAC7B,MAAM,CACP,CAAC;YACJ,CAAC;YACD,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;YAC7E,SAAS;QACX,CAAC;QAED,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAExC,0FAA0F;QAC1F,yFAAyF;QACzF,yFAAyF;QACzF,oCAAoC;QACpC,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACvE,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,UAAU,CAClB,6EAA6E,EAC7E,MAAM,CACP,CAAC;gBACJ,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC5B,MAAM,IAAI,UAAU,CAClB,qDAAqD,MAAM,CAAC,IAAI,UAAU,MAAM,CAAC,IAAI,EAAE,EACvF,MAAM,CACP,CAAC;gBACJ,CAAC;gBACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,EAAE,OAAO,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;gBACvE,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,IAAI,UAAU,CAAC,gDAAgD,QAAQ,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC5F,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAsB,CAAC,EAAE,CAAC;gBAClD,MAAM,IAAI,UAAU,CAClB,IAAI,OAAO,6GAA6G,EACxH,MAAM,CACP,CAAC;YACJ,CAAC;YACD,8EAA8E;YAC9E,sEAAsE;YACtE,kFAAkF;YAClF,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAChD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBACjB,MAAM,EAAE,GAAG,YAAY,CAAC,OAAsB,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;gBAC5F,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC;gBACf,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBAC3C,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC5C,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC7D,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBAChB,cAAc,GAAG,EAAE,CAAC,CAAC,gCAAgC;gBACvD,CAAC;qBAAM,CAAC;oBACN,6DAA6D;oBAC7D,4DAA4D;oBAC5D,+DAA+D;oBAC/D,yDAAyD;oBACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACjD,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;wBACtD,IAAI,QAAQ,EAAE,CAAC;4BACb,MAAM,IAAI,UAAU,CAClB,oDAAoD,QAAQ,GAAG,EAC/D,MAAM,CACP,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;YACD,YAAY,CAAC,QAAQ,CAAC,IAAI,CACxB,YAAY,CAAC,OAAsB,EAAE,SAAS,EAAE,MAAM,CAAC,CACxD,CAAC;YACF,SAAS;QACX,CAAC;QAED,aAAa;QACb,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,OAAO;gBACV,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;gBAChC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC1B,MAAM;YACR,KAAK,SAAS;gBACZ,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,SAAS;gBACZ,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,4EAA4E;gBAC5E,iEAAiE;gBACjE,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBACjD,IAAI,IAAI,GAAG,CAAC;oBACV,MAAM,IAAI,UAAU,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;gBACnE,IAAI,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBAE7C,MAAM,IAAI,GAAc,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBAEjE,wEAAwE;gBACxE,oEAAoE;gBACpE,iEAAiE;gBACjE,gEAAgE;gBAChE,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACnE,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;oBACjC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC;gBAC7B,CAAC;gBAED,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,UAAU,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;gBACtE,YAAY,GAAG,IAAI,CAAC;gBACpB,MAAM;YACR,CAAC;YACD,KAAK,OAAO;gBACV,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;gBACjD,MAAM;YACR,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAChD,IAAI,OAAO,GAAG,CAAC;oBAAE,MAAM,IAAI,UAAU,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC;gBACjF,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzD,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,UAAU,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;gBAChE,MAAM,IAAI,GAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBAC9D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBAC3C,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC5C,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;gBACnE,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBAChB,eAAe,GAAG,IAAI,CAAC,CAAC,gCAAgC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACjD,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,IAAI,UAAU,CAClB,oDAAoD,QAAQ,0CAA0C,EACtG,MAAM,CACP,CAAC;oBACJ,CAAC;oBACD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;gBACD,MAAM;YACR,CAAC;YACD;gBACE,MAAM,IAAI,UAAU,CAAC,oBAAoB,OAAO,GAAG,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,UAAU,CAClB,oBAAoB,cAAc,CAAC,IAAI,4BAA4B,EACnE,cAAc,CAAC,IAAI,CACpB,CAAC;IACJ,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,IAAI,UAAU,CAClB,SAAS,eAAe,CAAC,IAAI,4BAA4B,EACzD,eAAe,CAAC,IAAI,CACrB,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,UAAU,CAClB,UAAU,YAAY,CAAC,IAAI,4BAA4B,EACvD,YAAY,CAAC,IAAI,CAClB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAChC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CACnB,IAAiB,EACjB,GAAW,EACX,IAAY;IAEZ,MAAM,IAAI,GAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACnD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACtE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,uBAAuB,CAC9B,IAAY,EACZ,cAAsB,EACtB,YAAoB,EACpB,IAAY;IAEZ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,cAAc,WAAW,CAAC,CAAC,CAAC;IAC9E,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,SAAS,CAAC;QACR,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK,GAAG,CAAC;YACX,MAAM,IAAI,UAAU,CAAC,mCAAmC,YAAY,UAAU,EAAE,IAAI,CAAC,CAAC;QACxF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACtD,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU;YAAE,MAAM;QACvB,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9B,CAAC;IACD,OAAO;QACL,MAAM;QACN,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;KAC9D,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,mBAAmB,CAC1B,IAAY,EACZ,OAAe,EACf,IAAY;IAEZ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,YAAY,OAAO,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,QAAQ,GAAG,CAAC;QACd,MAAM,IAAI,UAAU,CAAC,mCAAmC,OAAO,UAAU,EAAE,IAAI,CAAC,CAAC;IACnF,OAAO;QACL,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KACvE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,cAAc,CACrB,IAAiB,EACjB,GAAW,EACX,IAAY;IAEZ,IAAI,IAAI,GAAG,GAAG,CAAC;IAEf,2EAA2E;IAC3E,4DAA4D;IAC5D,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3D,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;QAC7B,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,gFAAgF;IAChF,gFAAgF;IAChF,+BAA+B;IAC/B,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7D,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;QAC/B,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,0EAA0E;IAC1E,yEAAyE;IACzE,qEAAqE;IACrE,+BAA+B;IAC/B,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IACvE,IAAI,gBAAgB,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC;QACzC,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED,2FAA2F;IAC3F,yFAAyF;IACzF,6FAA6F;IAC7F,8FAA8F;IAC9F,0FAA0F;IAC1F,kEAAkE;IAClE,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAE3C,0FAA0F;IAC1F,wFAAwF;IACxF,yFAAyF;IACzF,2FAA2F;IAC3F,wFAAwF;IACxF,yFAAyF;IACzF,mEAAmE;IACnE,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,IAAI,EAAE,iBAAiB,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACjG,IAAI,iBAAiB,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAClD,MAAM,IAAI,UAAU,CAClB,mFAAmF;gBACjF,yBAAyB,EAC3B,IAAI,CACL,CAAC;QACJ,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC;QAC5C,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,4FAA4F;IAC5F,sFAAsF;IACtF,0FAA0F;IAC1F,2FAA2F;IAC3F,4FAA4F;IAC5F,yFAAyF;IACzF,4FAA4F;IAC5F,yFAAyF;IACzF,0FAA0F;IAC1F,0CAA0C;IAC1C,SAAS,CAAC;QACR,MAAM,aAAa,GAAG,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAClF,IAAI,CAAC,aAAa;YAAE,MAAM;QAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YACvB,MAAM,IAAI,UAAU,CAClB,4FAA4F,EAC5F,IAAI,CACL,CAAC;QACJ,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAClE,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,8EAA8E;IAC9E,8EAA8E;IAC9E,wEAAwE;IACxE,0EAA0E;IAC1E,oEAAoE;IACpE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC1D,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1D,MAAM,IAAI,UAAU,CAClB,oFAAoF,EACpF,IAAI,CACL,CAAC;QACJ,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,IAAI,UAAU,CAAC,8CAA8C,EAAE,IAAI,CAAC,CAAC;QAC7E,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,+EAA+E;IAC/E,uFAAuF;IACvF,yFAAyF;IACzF,4FAA4F;IAC5F,0FAA0F;IAC1F,wFAAwF;IACxF,oFAAoF;IACpF,oFAAoF;IACpF,kFAAkF;IAClF,8EAA8E;IAC9E,wEAAwE;IACxE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAChF,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACnD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAC/C,MAAM,IAAI,UAAU,CAClB,oFAAoF;gBAClF,qCAAqC,EACvC,IAAI,CACL,CAAC;QACJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3G,CAAC;IAED,uFAAuF;IACvF,wFAAwF;IACxF,wFAAwF;IACxF,qFAAqF;IACrF,yFAAyF;IACzF,qFAAqF;IACrF,2FAA2F;IAC3F,0FAA0F;IAC1F,sFAAsF;IACtF,0FAA0F;IAC1F,wCAAwC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACpD,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;aACtC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;;YAEjD,MAAM,IAAI,UAAU,CAClB,KAAK,GAAG,wDAAwD,EAChE,IAAI,CACL,CAAC;QACJ,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,sFAAsF;IACtF,0EAA0E;IAC1E,kFAAkF;IAClF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAChD,IAAI,UAAU,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YACtB,MAAM,IAAI,UAAU,CAAC,oGAAoG,EAAE,IAAI,CAAC,CAAC;QACnI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;2EAC2E;AAC3E,MAAM,SAAS,GAAG,wBAAwB,CAAC;AAE3C;;;;;;oFAMoF;AACpF,MAAM,gBAAgB,GAAG,IAAI,MAAM,CACjC,oBAAoB,SAAS,iBAAiB,SAAS,eAAe,SAAS,KAAK,CACrF,CAAC;AAEF;;+CAE+C;AAC/C,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,oBAAoB,SAAS,wBAAwB,CAAC,CAAC;AAE1F;;;;;;mCAMmC;AACnC,MAAM,sBAAsB,GAAG,2CAA2C,CAAC;AAE3E;;;;;;;;2CAQ2C;AAC3C,SAAS,oBAAoB,CAAC,IAAY;IACxC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACtC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,iBAAiB,CAAC,IAAiB,EAAE,GAAW,EAAE,IAAY;IACrE,IAAI,IAAI,GAAG,GAAG,CAAC;IAEf,SAAS,CAAC;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC3C,IAAI,KAAK,GAAoC,IAAI,CAAC;QAClD,IAAI,MAAM,IAAI,MAAM;YAAE,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;aAC/F,IAAI,MAAM;YAAE,KAAK,GAAG,WAAW,CAAC;aAChC,IAAI,MAAM;YAAE,KAAK,GAAG,UAAU,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,MAAM;QAElB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,UAAU,CAClB,sFAAsF;gBACpF,gCAAgC,EAClC,IAAI,CACL,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,MAAO,CAAC;YAClB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACpD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBACnB,MAAM,IAAI,UAAU,CAClB,QAAQ,GAAG,mDAAmD,MAAM,CAAC,MAAM,GAAG,EAC9E,IAAI,CACL,CAAC;YACJ,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,MAAO,CAAC;YAClB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3C,IAAI,QAAQ,GAAG,CAAC;gBACd,MAAM,IAAI,UAAU,CAAC,uCAAuC,GAAG,mBAAmB,EAAE,IAAI,CAAC,CAAC;YAC5F,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpE,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YACtE,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpE,CAAC;IACH,CAAC;IAED,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,UAAU,CAClB,iFAAiF;YAC/E,4CAA4C,EAC9C,IAAI,CACL,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,SAAS,mBAAmB,CAAC,GAAW,EAAE,IAAY,EAAE,OAA2B;IACjF,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,IAAI,IAAI,GAAG,GAAG,CAAC;IAEf,SAAS,CAAC;QACR,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;oBACxB,MAAM,IAAI,UAAU,CAClB,oFAAoF;wBAClF,6BAA6B,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,QAAQ,EACjF,IAAI,CACL,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;gBACnB,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACnB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,IAAI,EAAE,iBAAiB,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YACjG,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBACjD,MAAM,IAAI,UAAU,CAClB,mFAAmF;wBACjF,2CAA2C,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,QAAQ,EAC/F,IAAI,CACL,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC;gBAC/C,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;gBAC9B,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACxD,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;oBACxB,MAAM,IAAI,UAAU,CAClB,mFAAmF;wBACjF,yEAAyE,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,QAAQ,EAC7H,IAAI,CACL,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACxB,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBACxB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QAED,uFAAuF;QACvF,wFAAwF;QACxF,yCAAyC;QACzC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACvE,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,IAAI,EAAE,iBAAiB,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YACjG,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;oBACvB,MAAM,IAAI,UAAU,CAClB,gFAAgF;wBAC9E,sDAAsD,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,QAAQ,EAC1G,IAAI,CACL,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;gBACvB,OAAO,CAAC,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC;gBAC/C,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;gBAC9B,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACtD,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;oBACvB,MAAM,IAAI,UAAU,CAClB,iFAAiF;wBAC/E,gFAAgF;wBAChF,uBAAuB,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,QAAQ,EAC3E,IAAI,CACL,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;gBACvB,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBACvB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU;YAAE,MAAM;IACzB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED;wDACwD;AACxD,SAAS,cAAc,CAAC,GAAW,EAAE,IAAY,EAAE,OAA2B;IAC5E,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACrB,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,KAAmB,CAAC;IACxB,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,CAAC,GAAG;QAAE,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;IAC3C,IAAI,KAAK,IAAI,OAAO,CAAC,WAAW;QAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAC1E,IAAI,KAAK,IAAI,OAAO,CAAC,QAAQ;QAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IACrD,IAAI,KAAK,IAAI,OAAO,CAAC,OAAO;QAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IACnD,IAAI,KAAK,IAAI,OAAO,CAAC,WAAW;QAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAC1E,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;4EAI4E;AAC5E,MAAM,uBAAuB,GAC3B,sFAAsF,CAAC;AAEzF;;uCAEuC;AACvC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAS,4BAA4B,CAAC,SAAmB;IACvD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,IACE,IAAI,KAAK,SAAS;YAClB,YAAY,KAAK,IAAI;YACrB,CAAC,UAAW,CAAC,UAAU,CAAC,GAAG,CAAC;YAC5B,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAClC,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;mDAOmD;AACnD,SAAS,iBAAiB,CAAC,KAAa,EAAE,IAAY,EAAE,OAA2B;IACjF,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,4BAA4B,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1E,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,GAAW,EAAE,IAAY;IAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QACpB,MAAM,IAAI,UAAU,CAAC,oCAAoC,EAAE,IAAI,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,UAAU,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;IACzE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,UAAU,CAAC,GAAa,EAAE,CAAS;IAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ConsumerEntry, ProducerEntry, ClosureEntry, SliceQueryEntry, InvariantQueryEntry, FieldQueryEntry, PathQueryEntry } from "./verbs.js";
2
+ export declare function formatConsumers(results: ConsumerEntry[]): string;
3
+ export declare function formatProducers(results: ProducerEntry[]): string;
4
+ export declare function formatClosure(results: ClosureEntry[]): string;
5
+ export declare function formatSlices(results: SliceQueryEntry[]): string;
6
+ export declare function formatInvariant(results: InvariantQueryEntry[]): string;
7
+ export declare function formatField(results: FieldQueryEntry[]): string;
8
+ export declare function formatPath(results: PathQueryEntry[]): string;
@@ -0,0 +1,80 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // Human-text formatting for `em query`'s eight verbs (the default output — `--json` bypasses
3
+ // this entirely and prints `emit/queryJson.ts`'s document instead). An empty `results` array
4
+ // always prints a bare `(none)` line and still exits 0 — a query with a legitimately empty
5
+ // answer (an event nobody consumes, two elements with no path between them) is not an error.
6
+ function tagList(label, items) {
7
+ return items.length > 0 ? ` ${label}=[${items.join(", ")}]` : "";
8
+ }
9
+ export function formatConsumers(results) {
10
+ if (results.length === 0)
11
+ return "(none)";
12
+ return results.map((r) => `${r.ref} (${r.kind}) in slice "${r.sliceName}" [${r.sliceKey}] — via ${r.via}`).join("\n");
13
+ }
14
+ export function formatProducers(results) {
15
+ if (results.length === 0)
16
+ return "(none)";
17
+ const lines = [];
18
+ for (const r of results) {
19
+ lines.push(`${r.ref} (${r.kind}) in slice "${r.sliceName}" [${r.sliceKey}] — via ${r.via}`);
20
+ for (const t of r.uiTriggers)
21
+ lines.push(` triggered by ui: ${t.ref} "${t.name}"`);
22
+ }
23
+ return lines.join("\n");
24
+ }
25
+ export function formatClosure(results) {
26
+ if (results.length === 0)
27
+ return "(none)";
28
+ return results.map((r) => `depth ${r.depth} ${r.ref} (${r.kind}) via ${r.via} — slice "${r.sliceName}" [${r.sliceKey}]`).join("\n");
29
+ }
30
+ export function formatSlices(results) {
31
+ if (results.length === 0)
32
+ return "(none)";
33
+ return results
34
+ .map((r) => `${r.ref} "${r.name}" pattern=${r.pattern} status=${r.status ?? "no-doc"}` +
35
+ tagList("personas", r.personas) +
36
+ tagList("contexts", r.contexts) +
37
+ tagList("tags", r.tags))
38
+ .join("\n");
39
+ }
40
+ export function formatInvariant(results) {
41
+ if (results.length === 0)
42
+ return "(none)";
43
+ const r = results[0];
44
+ const lines = [
45
+ `${r.id} declared in slice "${r.sliceName}" [${r.sliceRef}]`,
46
+ ` doc: ${r.docPath ?? "(no doc)"} status: ${r.status ?? "(none)"}`,
47
+ ];
48
+ if (r.citations !== null) {
49
+ if (r.citations.length === 0)
50
+ lines.push(" citations: (none)");
51
+ else {
52
+ lines.push(" citations:");
53
+ for (const c of r.citations)
54
+ lines.push(` ${c.file}:${c.line}`);
55
+ }
56
+ }
57
+ return lines.join("\n");
58
+ }
59
+ export function formatField(results) {
60
+ if (results.length === 0)
61
+ return "(none)";
62
+ const r = results[0];
63
+ const renamed = tagList("renamedFrom", r.renamedFrom ?? []);
64
+ const elementRenamed = tagList("elementRenamedFrom", r.elementRenamedFrom ?? []);
65
+ return `${r.elementRef}.${r.name}: ${r.type ?? "(untyped)"} tag=${r.tag} assigned=${r.assigned}${renamed}${elementRenamed}`;
66
+ }
67
+ export function formatPath(results) {
68
+ if (results.length === 0)
69
+ return "(none)";
70
+ const r = results[0];
71
+ if (r.length === 0)
72
+ return r.refs[0];
73
+ const parts = [r.refs[0]];
74
+ for (let i = 0; i < r.edgeKinds.length; i++) {
75
+ parts.push(`--[${r.edgeKinds[i]}]-->`);
76
+ parts.push(r.refs[i + 1]);
77
+ }
78
+ return parts.join(" ");
79
+ }
80
+ //# sourceMappingURL=format.js.map