open-agreements 0.5.0 → 0.7.2

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 (162) hide show
  1. package/README.de.md +3 -3
  2. package/README.es.md +3 -3
  3. package/README.md +6 -4
  4. package/README.pt-br.md +3 -3
  5. package/README.zh.md +3 -3
  6. package/content/external/yc-safe-discount/metadata.yaml +1 -0
  7. package/content/external/yc-safe-mfn/metadata.yaml +1 -0
  8. package/content/external/yc-safe-pro-rata-side-letter/metadata.yaml +1 -0
  9. package/content/external/yc-safe-valuation-cap/metadata.yaml +1 -0
  10. package/content/recipes/nvca-certificate-of-incorporation/computed.json +21 -0
  11. package/content/recipes/nvca-certificate-of-incorporation/metadata.yaml +19 -0
  12. package/content/recipes/nvca-certificate-of-incorporation/replacements.json +52 -7
  13. package/content/recipes/nvca-certificate-of-incorporation/selections-roadmap.md +20 -23
  14. package/content/recipes/nvca-certificate-of-incorporation/selections.json +95 -0
  15. package/content/recipes/nvca-indemnification-agreement/metadata.yaml +5 -0
  16. package/content/recipes/nvca-indemnification-agreement/replacements.json +5 -30
  17. package/content/recipes/nvca-investors-rights-agreement/metadata.yaml +1 -0
  18. package/content/recipes/nvca-management-rights-letter/metadata.yaml +1 -0
  19. package/content/recipes/nvca-rofr-co-sale-agreement/metadata.yaml +1 -0
  20. package/content/recipes/nvca-rofr-co-sale-agreement/replacements.json +3 -59
  21. package/content/recipes/nvca-stock-purchase-agreement/computed.json +30 -0
  22. package/content/recipes/nvca-stock-purchase-agreement/metadata.yaml +20 -16
  23. package/content/recipes/nvca-stock-purchase-agreement/replacements.json +7 -7
  24. package/content/recipes/nvca-stock-purchase-agreement/selections.json +43 -0
  25. package/content/recipes/nvca-voting-agreement/metadata.yaml +1 -0
  26. package/content/templates/bonterms-mutual-nda/metadata.yaml +1 -0
  27. package/content/templates/bonterms-mutual-nda/signing.yaml +35 -0
  28. package/content/templates/bonterms-mutual-nda/template.docx +0 -0
  29. package/content/templates/bonterms-professional-services-agreement/metadata.yaml +1 -0
  30. package/content/templates/closing-checklist/metadata.yaml +1 -0
  31. package/content/templates/common-paper-ai-addendum/metadata.yaml +1 -0
  32. package/content/templates/common-paper-ai-addendum-in-app/metadata.yaml +1 -0
  33. package/content/templates/common-paper-amendment/metadata.yaml +1 -0
  34. package/content/templates/common-paper-business-associate-agreement/metadata.yaml +1 -0
  35. package/content/templates/common-paper-cloud-service-agreement/metadata.yaml +1 -0
  36. package/content/templates/common-paper-csa-click-through/metadata.yaml +1 -0
  37. package/content/templates/common-paper-csa-with-ai/metadata.yaml +1 -0
  38. package/content/templates/common-paper-csa-with-sla/metadata.yaml +1 -0
  39. package/content/templates/common-paper-csa-without-sla/metadata.yaml +1 -0
  40. package/content/templates/common-paper-data-processing-agreement/metadata.yaml +1 -0
  41. package/content/templates/common-paper-design-partner-agreement/metadata.yaml +1 -0
  42. package/content/templates/common-paper-independent-contractor-agreement/metadata.yaml +1 -0
  43. package/content/templates/common-paper-letter-of-intent/metadata.yaml +1 -0
  44. package/content/templates/common-paper-mutual-nda/metadata.yaml +1 -0
  45. package/content/templates/common-paper-one-way-nda/metadata.yaml +1 -0
  46. package/content/templates/common-paper-order-form/metadata.yaml +1 -0
  47. package/content/templates/common-paper-order-form-with-sla/metadata.yaml +1 -0
  48. package/content/templates/common-paper-partnership-agreement/metadata.yaml +1 -0
  49. package/content/templates/common-paper-pilot-agreement/metadata.yaml +1 -0
  50. package/content/templates/common-paper-professional-services-agreement/metadata.yaml +1 -0
  51. package/content/templates/common-paper-software-license-agreement/metadata.yaml +1 -0
  52. package/content/templates/common-paper-statement-of-work/metadata.yaml +1 -0
  53. package/content/templates/common-paper-term-sheet/metadata.yaml +1 -0
  54. package/content/templates/openagreements-employee-ip-inventions-assignment/metadata.yaml +1 -0
  55. package/content/templates/openagreements-employee-ip-inventions-assignment/template.docx +0 -0
  56. package/content/templates/openagreements-employment-confidentiality-acknowledgement/metadata.yaml +1 -0
  57. package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.docx +0 -0
  58. package/content/templates/openagreements-employment-offer-letter/metadata.yaml +1 -0
  59. package/content/templates/openagreements-employment-offer-letter/template.docx +0 -0
  60. package/content/templates/openagreements-restrictive-covenant-wyoming/metadata.yaml +236 -0
  61. package/content/templates/openagreements-restrictive-covenant-wyoming/practice-note.md +103 -0
  62. package/content/templates/openagreements-restrictive-covenant-wyoming/template.docx +0 -0
  63. package/content/templates/openagreements-restrictive-covenant-wyoming/template.md +154 -0
  64. package/content/templates/working-group-list/metadata.yaml +1 -0
  65. package/dist/commands/list.js +6 -3
  66. package/dist/commands/list.js.map +1 -1
  67. package/dist/core/employment/jurisdiction-rules.d.ts.map +1 -1
  68. package/dist/core/employment/jurisdiction-rules.js +69 -0
  69. package/dist/core/employment/jurisdiction-rules.js.map +1 -1
  70. package/dist/core/employment/memo.d.ts.map +1 -1
  71. package/dist/core/employment/memo.js +127 -0
  72. package/dist/core/employment/memo.js.map +1 -1
  73. package/dist/core/engine.d.ts.map +1 -1
  74. package/dist/core/engine.js +16 -2
  75. package/dist/core/engine.js.map +1 -1
  76. package/dist/core/fill-pipeline.d.ts +8 -0
  77. package/dist/core/fill-pipeline.d.ts.map +1 -1
  78. package/dist/core/fill-pipeline.js +63 -4
  79. package/dist/core/fill-pipeline.js.map +1 -1
  80. package/dist/core/metadata.d.ts +2 -0
  81. package/dist/core/metadata.d.ts.map +1 -1
  82. package/dist/core/metadata.js +1 -0
  83. package/dist/core/metadata.js.map +1 -1
  84. package/dist/core/recipe/computed.d.ts +1 -0
  85. package/dist/core/recipe/computed.d.ts.map +1 -1
  86. package/dist/core/recipe/computed.js +8 -0
  87. package/dist/core/recipe/computed.js.map +1 -1
  88. package/dist/core/recipe/index.d.ts.map +1 -1
  89. package/dist/core/recipe/index.js +2 -1
  90. package/dist/core/recipe/index.js.map +1 -1
  91. package/dist/core/recipe/patcher.d.ts +2 -1
  92. package/dist/core/recipe/patcher.d.ts.map +1 -1
  93. package/dist/core/recipe/patcher.js +3 -2
  94. package/dist/core/recipe/patcher.js.map +1 -1
  95. package/dist/core/recipe/replacement-keys.d.ts +7 -0
  96. package/dist/core/recipe/replacement-keys.d.ts.map +1 -1
  97. package/dist/core/recipe/replacement-keys.js +4 -0
  98. package/dist/core/recipe/replacement-keys.js.map +1 -1
  99. package/dist/core/recipe/verifier.d.ts +2 -1
  100. package/dist/core/recipe/verifier.d.ts.map +1 -1
  101. package/dist/core/recipe/verifier.js.map +1 -1
  102. package/dist/core/selector.d.ts +2 -0
  103. package/dist/core/selector.d.ts.map +1 -1
  104. package/dist/core/selector.js +194 -19
  105. package/dist/core/selector.js.map +1 -1
  106. package/dist/core/signing-config.d.ts +46 -0
  107. package/dist/core/signing-config.d.ts.map +1 -0
  108. package/dist/core/signing-config.js +67 -0
  109. package/dist/core/signing-config.js.map +1 -0
  110. package/dist/core/template-listing.d.ts +1 -0
  111. package/dist/core/template-listing.d.ts.map +1 -1
  112. package/dist/core/template-listing.js +3 -2
  113. package/dist/core/template-listing.js.map +1 -1
  114. package/dist/core/unified-pipeline.d.ts +5 -1
  115. package/dist/core/unified-pipeline.d.ts.map +1 -1
  116. package/dist/core/unified-pipeline.js +51 -0
  117. package/dist/core/unified-pipeline.js.map +1 -1
  118. package/dist/core/validation/recipe.d.ts.map +1 -1
  119. package/dist/core/validation/recipe.js +34 -4
  120. package/dist/core/validation/recipe.js.map +1 -1
  121. package/dist/core/validation/scan-metadata.d.ts +2 -1
  122. package/dist/core/validation/scan-metadata.d.ts.map +1 -1
  123. package/dist/core/validation/scan-metadata.js +3 -2
  124. package/dist/core/validation/scan-metadata.js.map +1 -1
  125. package/node_modules/@usejunior/docx-core/LICENSE +21 -0
  126. package/node_modules/@usejunior/docx-core/README.md +101 -0
  127. package/node_modules/@usejunior/docx-core/dist/.tsbuildinfo +1 -0
  128. package/node_modules/@usejunior/docx-core/dist/cli/index.js +0 -0
  129. package/node_modules/@usejunior/docx-core/dist/primitives/document.d.ts.map +1 -1
  130. package/node_modules/@usejunior/docx-core/dist/primitives/document.js +190 -3
  131. package/node_modules/@usejunior/docx-core/dist/primitives/document.js.map +1 -1
  132. package/node_modules/@usejunior/docx-core/dist/primitives/document_view.d.ts +39 -0
  133. package/node_modules/@usejunior/docx-core/dist/primitives/document_view.d.ts.map +1 -1
  134. package/node_modules/@usejunior/docx-core/dist/primitives/document_view.js +83 -13
  135. package/node_modules/@usejunior/docx-core/dist/primitives/document_view.js.map +1 -1
  136. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.d.ts +11 -0
  137. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.d.ts.map +1 -1
  138. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.js +23 -0
  139. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.js.map +1 -1
  140. package/node_modules/@usejunior/docx-core/dist/primitives/tables.d.ts.map +1 -1
  141. package/node_modules/@usejunior/docx-core/dist/primitives/tables.js +2 -15
  142. package/node_modules/@usejunior/docx-core/dist/primitives/tables.js.map +1 -1
  143. package/node_modules/@usejunior/docx-core/package.json +49 -8
  144. package/package.json +8 -4
  145. package/server.json +2 -2
  146. package/node_modules/diff-match-patch/LICENSE +0 -202
  147. package/node_modules/diff-match-patch/README.md +0 -94
  148. package/node_modules/diff-match-patch/index.js +0 -2218
  149. package/node_modules/diff-match-patch/package.json +0 -22
  150. /package/{packages → node_modules/@usejunior}/docx-core/node_modules/@xmldom/xmldom/CHANGELOG.md +0 -0
  151. /package/{packages → node_modules/@usejunior}/docx-core/node_modules/@xmldom/xmldom/LICENSE +0 -0
  152. /package/{packages → node_modules/@usejunior}/docx-core/node_modules/@xmldom/xmldom/SECURITY.md +0 -0
  153. /package/{packages → node_modules/@usejunior}/docx-core/node_modules/@xmldom/xmldom/index.d.ts +0 -0
  154. /package/{packages → node_modules/@usejunior}/docx-core/node_modules/@xmldom/xmldom/lib/.eslintrc.yml +0 -0
  155. /package/{packages → node_modules/@usejunior}/docx-core/node_modules/@xmldom/xmldom/lib/conventions.js +0 -0
  156. /package/{packages → node_modules/@usejunior}/docx-core/node_modules/@xmldom/xmldom/lib/dom-parser.js +0 -0
  157. /package/{packages → node_modules/@usejunior}/docx-core/node_modules/@xmldom/xmldom/lib/dom.js +0 -0
  158. /package/{packages → node_modules/@usejunior}/docx-core/node_modules/@xmldom/xmldom/lib/entities.js +0 -0
  159. /package/{packages → node_modules/@usejunior}/docx-core/node_modules/@xmldom/xmldom/lib/index.js +0 -0
  160. /package/{packages → node_modules/@usejunior}/docx-core/node_modules/@xmldom/xmldom/lib/sax.js +0 -0
  161. /package/{packages → node_modules/@usejunior}/docx-core/node_modules/@xmldom/xmldom/package.json +0 -0
  162. /package/{packages → node_modules/@usejunior}/docx-core/node_modules/@xmldom/xmldom/readme.md +0 -0
@@ -9,8 +9,15 @@ import { readFileSync, writeFileSync } from 'node:fs';
9
9
  import { z } from 'zod';
10
10
  import AdmZip from 'adm-zip';
11
11
  import { DOMParser, XMLSerializer } from '@xmldom/xmldom';
12
+ import { getParagraphText, replaceParagraphTextRange, SafeDocxError } from '@usejunior/docx-core';
12
13
  import { enumerateTextParts, getGeneralTextPartNames } from './recipe/ooxml-parts.js';
13
14
  const W_NS = 'http://schemas.openxmlformats.org/wordprocessingml/2006/main';
15
+ /** Normalize smart quotes to ASCII equivalents for matching. */
16
+ function normalizeQuotes(text) {
17
+ return text
18
+ .replace(/[\u2018\u2019\u2039\u203A]/g, "'")
19
+ .replace(/[\u201C\u201D\u201A\u201E\u00AB\u00BB]/g, '"');
20
+ }
14
21
  // ---------------------------------------------------------------------------
15
22
  // Schema
16
23
  // ---------------------------------------------------------------------------
@@ -30,10 +37,26 @@ const GroupSchema = z
30
37
  type: z.enum(['radio', 'checkbox']),
31
38
  standalone: z.boolean().optional(),
32
39
  markerless: z.boolean().optional(),
40
+ inline: z.boolean().optional(),
33
41
  cellContext: z.string().optional(),
42
+ subClauseStopPatterns: z.array(z.string()).optional(),
34
43
  options: z.array(OptionSchema).min(1),
35
44
  })
36
- .refine((g) => g.standalone === true || g.markerless === true || g.options.length >= 2, { message: 'Non-standalone/non-markerless groups require at least 2 options' });
45
+ .refine((g) => g.standalone === true || g.markerless === true || g.options.length >= 2, { message: 'Non-standalone/non-markerless groups require at least 2 options' })
46
+ .refine((g) => {
47
+ if (!g.subClauseStopPatterns)
48
+ return true;
49
+ for (const p of g.subClauseStopPatterns) {
50
+ try {
51
+ new RegExp(p, 'i');
52
+ }
53
+ catch {
54
+ return false;
55
+ }
56
+ }
57
+ return true;
58
+ }, { message: 'subClauseStopPatterns must contain valid regular expressions' })
59
+ .refine((g) => !g.inline || g.markerless === true, { message: 'inline: true requires markerless: true' });
37
60
  export const SelectionsConfigSchema = z.object({
38
61
  groups: z.array(GroupSchema).min(1),
39
62
  });
@@ -45,6 +68,77 @@ export function loadSelectionsConfig(path) {
45
68
  return SelectionsConfigSchema.parse(JSON.parse(raw));
46
69
  }
47
70
  // ---------------------------------------------------------------------------
71
+ // Bookmark-aware removal
72
+ // ---------------------------------------------------------------------------
73
+ /**
74
+ * Remove a set of paragraphs from the document, cleaning up any bookmark
75
+ * start/end elements whose counterparts would be orphaned.
76
+ *
77
+ * Phase A: For each doomed paragraph, find bookmarkStart/End elements.
78
+ * If the counterpart (by w:id) lives outside the doomed set, mark it
79
+ * for removal so no orphans remain.
80
+ * Phase B: Remove orphaned counterparts.
81
+ * Phase C: Remove the paragraphs themselves.
82
+ */
83
+ function removeWithBookmarkCleanup(doc, parasToRemove) {
84
+ if (parasToRemove.size === 0)
85
+ return;
86
+ const orphanedCounterparts = [];
87
+ for (const p of parasToRemove) {
88
+ const starts = p.getElementsByTagNameNS(W_NS, 'bookmarkStart');
89
+ for (let i = 0; i < starts.length; i++) {
90
+ const id = starts[i].getAttribute('w:id');
91
+ if (!id)
92
+ continue;
93
+ const allEnds = doc.getElementsByTagNameNS(W_NS, 'bookmarkEnd');
94
+ for (let j = 0; j < allEnds.length; j++) {
95
+ if (allEnds[j].getAttribute('w:id') !== id)
96
+ continue;
97
+ const endParent = findAncestorElement(allEnds[j], 'p');
98
+ if (!endParent || !parasToRemove.has(endParent)) {
99
+ orphanedCounterparts.push(allEnds[j]);
100
+ }
101
+ break;
102
+ }
103
+ }
104
+ const ends = p.getElementsByTagNameNS(W_NS, 'bookmarkEnd');
105
+ for (let i = 0; i < ends.length; i++) {
106
+ const id = ends[i].getAttribute('w:id');
107
+ if (!id)
108
+ continue;
109
+ const allStarts = doc.getElementsByTagNameNS(W_NS, 'bookmarkStart');
110
+ for (let j = 0; j < allStarts.length; j++) {
111
+ if (allStarts[j].getAttribute('w:id') !== id)
112
+ continue;
113
+ const startParent = findAncestorElement(allStarts[j], 'p');
114
+ if (!startParent || !parasToRemove.has(startParent)) {
115
+ orphanedCounterparts.push(allStarts[j]);
116
+ }
117
+ break;
118
+ }
119
+ }
120
+ }
121
+ for (const el of orphanedCounterparts) {
122
+ el.parentNode?.removeChild(el);
123
+ }
124
+ for (const p of parasToRemove) {
125
+ p.parentNode?.removeChild(p);
126
+ }
127
+ }
128
+ /** Find the nearest ancestor element with the given local name (W namespace). */
129
+ function findAncestorElement(node, localName) {
130
+ let current = node.parentNode;
131
+ while (current) {
132
+ if (current.nodeType === 1) {
133
+ const el = current;
134
+ if (el.localName === localName && el.namespaceURI === W_NS)
135
+ return el;
136
+ }
137
+ current = current.parentNode;
138
+ }
139
+ return null;
140
+ }
141
+ // ---------------------------------------------------------------------------
48
142
  // Helpers
49
143
  // ---------------------------------------------------------------------------
50
144
  /** Extract paragraph text by concatenating all <w:t> elements. */
@@ -317,6 +411,7 @@ function processGroup(doc, group, data) {
317
411
  const selectedIndices = evaluateTriggers(group, data);
318
412
  // Step 5 & 6: Remove unselected options + sub-clauses, mark selected as checked
319
413
  let madeChanges = false;
414
+ const parasToRemove = new Set();
320
415
  for (const item of classified) {
321
416
  if (item.ownerOptionIndex === -1)
322
417
  continue; // header — always keep
@@ -328,11 +423,12 @@ function processGroup(doc, group, data) {
328
423
  }
329
424
  }
330
425
  else {
331
- // Unselected: remove paragraph
332
- item.para.parentNode?.removeChild(item.para);
426
+ // Unselected: collect for bookmark-aware removal
427
+ parasToRemove.add(item.para);
333
428
  madeChanges = true;
334
429
  }
335
430
  }
431
+ removeWithBookmarkCleanup(doc, parasToRemove);
336
432
  // Ensure at least one <w:p> remains in the cell (OOXML requirement)
337
433
  const remainingParas = cell.getElementsByTagNameNS(W_NS, 'p');
338
434
  if (remainingParas.length === 0) {
@@ -433,9 +529,7 @@ function processStandaloneGroup(doc, group, data) {
433
529
  break; // next option — stop
434
530
  toRemove.push(p);
435
531
  }
436
- for (const p of toRemove) {
437
- p.parentNode?.removeChild(p);
438
- }
532
+ removeWithBookmarkCleanup(doc, new Set(toRemove));
439
533
  // Ensure at least one <w:p> remains in cell
440
534
  const remaining = cell.getElementsByTagNameNS(W_NS, 'p');
441
535
  if (remaining.length === 0) {
@@ -446,7 +540,7 @@ function processStandaloneGroup(doc, group, data) {
446
540
  }
447
541
  else {
448
542
  // No cell parent — just remove the paragraph
449
- markerPara.parentNode?.removeChild(markerPara);
543
+ removeWithBookmarkCleanup(doc, new Set([markerPara]));
450
544
  }
451
545
  madeChanges = true;
452
546
  }
@@ -471,15 +565,17 @@ function replaceParagraphText(para, newText) {
471
565
  function processMarkerlessGroup(doc, group, data) {
472
566
  const selectedIndices = evaluateTriggers(group, data);
473
567
  let madeChanges = false;
568
+ const parasToRemove = new Set();
474
569
  for (let oi = 0; oi < group.options.length; oi++) {
475
570
  const option = group.options[oi];
476
571
  // Snapshot all paragraphs before mutating to avoid live NodeList issues
477
572
  const allParagraphs = doc.getElementsByTagNameNS(W_NS, 'p');
478
573
  const matchedParas = [];
574
+ const normalizedMarkerText = normalizeQuotes(option.marker);
479
575
  for (let pi = 0; pi < allParagraphs.length; pi++) {
480
576
  const para = allParagraphs[pi];
481
577
  const text = extractParagraphText(para);
482
- if (text && text.includes(option.marker)) {
578
+ if (text && normalizeQuotes(text).includes(normalizedMarkerText)) {
483
579
  matchedParas.push(para);
484
580
  }
485
581
  }
@@ -489,7 +585,41 @@ function processMarkerlessGroup(doc, group, data) {
489
585
  // Selected — keep paragraphs as-is, no changes needed
490
586
  continue;
491
587
  }
492
- // Unselected — process each matched paragraph
588
+ // Unselected — inline mode: delete/replace marker text within the paragraph
589
+ if (group.inline) {
590
+ for (const markerPara of matchedParas) {
591
+ const normalizedMarker = normalizeQuotes(option.marker);
592
+ const replacement = option.replaceWith ?? '';
593
+ const globalPara = markerPara;
594
+ let text = normalizeQuotes(getParagraphText(globalPara));
595
+ let safety = 0;
596
+ while (safety++ < 50) {
597
+ const idx = text.indexOf(normalizedMarker);
598
+ if (idx === -1)
599
+ break;
600
+ try {
601
+ replaceParagraphTextRange(globalPara, idx, idx + normalizedMarker.length, replacement);
602
+ madeChanges = true;
603
+ }
604
+ catch (e) {
605
+ if (e instanceof SafeDocxError) {
606
+ // Fallback: formatting-destructive text splice via xmldom w:t elements
607
+ const rawText = extractParagraphText(markerPara);
608
+ const rawIdx = normalizeQuotes(rawText).indexOf(normalizedMarker);
609
+ if (rawIdx !== -1) {
610
+ const newText = rawText.slice(0, rawIdx) + replacement + rawText.slice(rawIdx + normalizedMarker.length);
611
+ replaceParagraphText(markerPara, newText);
612
+ madeChanges = true;
613
+ }
614
+ }
615
+ break;
616
+ }
617
+ text = normalizeQuotes(getParagraphText(globalPara));
618
+ }
619
+ }
620
+ continue;
621
+ }
622
+ // Unselected — process each matched paragraph (paragraph-level deletion)
493
623
  for (const markerPara of matchedParas) {
494
624
  const parent = markerPara.parentNode;
495
625
  if (!parent)
@@ -512,38 +642,83 @@ function processMarkerlessGroup(doc, group, data) {
512
642
  continue;
513
643
  // Walk forward to collect sub-clause paragraphs
514
644
  const subClauses = [];
645
+ const customStopRe = group.subClauseStopPatterns?.length
646
+ ? new RegExp(group.subClauseStopPatterns.map(p => `(?:${p})`).join('|'), 'i')
647
+ : null;
648
+ // Get marker paragraph's numbering level for level-aware stop
649
+ const markerIlvl = getNumberingLevel(markerPara);
515
650
  for (let si = markerIdx + 1; si < siblings.length; si++) {
516
651
  const p = siblings[si];
652
+ // Stop at auto-numbered paragraphs at same or higher level
653
+ if (hasAutoNumbering(p, markerIlvl !== -1 ? markerIlvl : undefined))
654
+ break;
517
655
  const text = extractParagraphText(p);
518
656
  // Stop at next section heading or another option's marker
519
657
  if (text) {
520
658
  const isAnotherMarker = group.options.some((o) => text.includes(o.marker));
521
659
  // Stop at what looks like a section heading (e.g., "(c)", "1.3", "SECTION")
522
660
  const isSectionHeading = /^\(?[a-z]\)|^\d+\.\d+|^SECTION\b|^ARTICLE\b/i.test(text);
523
- if (isAnotherMarker || isSectionHeading)
661
+ const isCustomStop = customStopRe ? customStopRe.test(text) : false;
662
+ if (isAnotherMarker || isSectionHeading || isCustomStop)
524
663
  break;
525
664
  }
526
665
  subClauses.push(p);
527
666
  }
528
667
  if (option.replaceWith !== undefined) {
529
- // Replace matched paragraph text, remove sub-clauses
668
+ // Replace matched paragraph text; sub-clauses deferred for removal
530
669
  replaceParagraphText(markerPara, option.replaceWith);
531
- for (const p of subClauses) {
532
- p.parentNode?.removeChild(p);
533
- }
534
670
  }
535
671
  else {
536
- // Remove matched paragraph + sub-clauses
537
- markerPara.parentNode?.removeChild(markerPara);
538
- for (const p of subClauses) {
539
- p.parentNode?.removeChild(p);
540
- }
672
+ // Marker paragraph deferred for removal
673
+ parasToRemove.add(markerPara);
674
+ }
675
+ for (const p of subClauses) {
676
+ parasToRemove.add(p);
541
677
  }
542
678
  madeChanges = true;
543
679
  }
544
680
  }
681
+ // Deferred removal with bookmark cleanup
682
+ removeWithBookmarkCleanup(doc, parasToRemove);
545
683
  return madeChanges;
546
684
  }
685
+ /** Check if a paragraph has Word auto-numbering at or above the given level. */
686
+ function hasAutoNumbering(para, maxIlvl) {
687
+ for (let i = 0; i < para.childNodes.length; i++) {
688
+ const child = para.childNodes[i];
689
+ if (child.nodeType !== 1)
690
+ continue;
691
+ if (child.localName === 'pPr' && child.namespaceURI === W_NS) {
692
+ const numPrs = child.getElementsByTagNameNS(W_NS, 'numPr');
693
+ if (numPrs.length === 0)
694
+ return false;
695
+ if (maxIlvl === undefined)
696
+ return true;
697
+ const ilvlEl = numPrs[0].getElementsByTagNameNS(W_NS, 'ilvl');
698
+ if (ilvlEl.length === 0)
699
+ return true; // no level = top-level
700
+ const level = parseInt(ilvlEl[0].getAttribute('w:val') ?? '0', 10);
701
+ return level <= maxIlvl;
702
+ }
703
+ }
704
+ return false;
705
+ }
706
+ /** Get the numbering level (ilvl) of a paragraph, or -1 if not numbered. */
707
+ function getNumberingLevel(para) {
708
+ for (let i = 0; i < para.childNodes.length; i++) {
709
+ const child = para.childNodes[i];
710
+ if (child.nodeType !== 1)
711
+ continue;
712
+ if (child.localName === 'pPr' && child.namespaceURI === W_NS) {
713
+ const numPrs = child.getElementsByTagNameNS(W_NS, 'numPr');
714
+ if (numPrs.length === 0)
715
+ return -1;
716
+ const ilvlEl = numPrs[0].getElementsByTagNameNS(W_NS, 'ilvl');
717
+ return parseInt(ilvlEl[0]?.getAttribute('w:val') ?? '0', 10);
718
+ }
719
+ }
720
+ return -1;
721
+ }
547
722
  /** Walk up the DOM to find an ancestor with the given local name. */
548
723
  function findAncestor(node, localName) {
549
724
  let current = node.parentNode;
@@ -1 +1 @@
1
- {"version":3,"file":"selector.js","sourceRoot":"","sources":["../../src/core/selector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selector.js","sourceRoot":"","sources":["../../src/core/selector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Per-template signing configuration.
3
+ *
4
+ * Each template that supports signing has a `signing.yaml` that defines:
5
+ * - Signer roles and their mapping to metadata.yaml fields
6
+ * - Signature/date tag fields in the DOCX template
7
+ * - Provider-specific anchor strings for each tag
8
+ */
9
+ import { z } from 'zod';
10
+ export declare const SignerRoleSchema: z.ZodObject<{
11
+ role: z.ZodString;
12
+ nameField: z.ZodString;
13
+ signatureField: z.ZodString;
14
+ dateField: z.ZodOptional<z.ZodString>;
15
+ routingOrder: z.ZodDefault<z.ZodNumber>;
16
+ }, z.core.$strip>;
17
+ export declare const ProviderAnchorsSchema: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>;
18
+ export declare const SigningConfigSchema: z.ZodObject<{
19
+ signers: z.ZodArray<z.ZodObject<{
20
+ role: z.ZodString;
21
+ nameField: z.ZodString;
22
+ signatureField: z.ZodString;
23
+ dateField: z.ZodOptional<z.ZodString>;
24
+ routingOrder: z.ZodDefault<z.ZodNumber>;
25
+ }, z.core.$strip>>;
26
+ providerAnchors: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>;
27
+ emailSubjectTemplate: z.ZodOptional<z.ZodString>;
28
+ }, z.core.$strip>;
29
+ export type SignerRole = z.infer<typeof SignerRoleSchema>;
30
+ export type SigningConfig = z.infer<typeof SigningConfigSchema>;
31
+ /**
32
+ * Load and validate signing.yaml from a template directory.
33
+ * Returns null if no signing.yaml exists (template doesn't support signing).
34
+ */
35
+ export declare function loadSigningConfig(templateDir: string): SigningConfig | null;
36
+ /**
37
+ * Look up anchor strings for a specific provider.
38
+ * Returns a map of { signatureField → anchorString }.
39
+ */
40
+ export declare function getProviderAnchors(config: SigningConfig, providerName: string): Record<string, string>;
41
+ /**
42
+ * Get all signature/date tag field names from the signing config.
43
+ * These are the {tag} names that should exist in the DOCX template.
44
+ */
45
+ export declare function getSignatureTagFields(config: SigningConfig): string[];
46
+ //# sourceMappingURL=signing-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signing-config.d.ts","sourceRoot":"","sources":["../../src/core/signing-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,gBAAgB;;;;;;iBAM3B,CAAC;AAEH,eAAO,MAAM,qBAAqB,iEAGjC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAI9B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAIhE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAO3E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CASrE"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Per-template signing configuration.
3
+ *
4
+ * Each template that supports signing has a `signing.yaml` that defines:
5
+ * - Signer roles and their mapping to metadata.yaml fields
6
+ * - Signature/date tag fields in the DOCX template
7
+ * - Provider-specific anchor strings for each tag
8
+ */
9
+ import { z } from 'zod';
10
+ import { readFileSync, existsSync } from 'node:fs';
11
+ import { join } from 'node:path';
12
+ import yaml from 'js-yaml';
13
+ // ─── Schema ─────────────────────────────────────────────────────────────────
14
+ export const SignerRoleSchema = z.object({
15
+ role: z.string(),
16
+ nameField: z.string(),
17
+ signatureField: z.string(),
18
+ dateField: z.string().optional(),
19
+ routingOrder: z.number().int().positive().default(1),
20
+ });
21
+ export const ProviderAnchorsSchema = z.record(z.string(), // provider name: 'docusign', 'dropboxsign', etc.
22
+ z.record(z.string(), z.string()));
23
+ export const SigningConfigSchema = z.object({
24
+ signers: z.array(SignerRoleSchema).min(1),
25
+ providerAnchors: ProviderAnchorsSchema,
26
+ emailSubjectTemplate: z.string().optional(),
27
+ });
28
+ // ─── Loader ─────────────────────────────────────────────────────────────────
29
+ /**
30
+ * Load and validate signing.yaml from a template directory.
31
+ * Returns null if no signing.yaml exists (template doesn't support signing).
32
+ */
33
+ export function loadSigningConfig(templateDir) {
34
+ const signingPath = join(templateDir, 'signing.yaml');
35
+ if (!existsSync(signingPath))
36
+ return null;
37
+ const raw = readFileSync(signingPath, 'utf-8');
38
+ const parsed = yaml.load(raw);
39
+ return SigningConfigSchema.parse(parsed);
40
+ }
41
+ /**
42
+ * Look up anchor strings for a specific provider.
43
+ * Returns a map of { signatureField → anchorString }.
44
+ */
45
+ export function getProviderAnchors(config, providerName) {
46
+ const anchors = config.providerAnchors[providerName];
47
+ if (!anchors) {
48
+ throw new Error(`No anchor configuration for provider "${providerName}". ` +
49
+ `Available providers: ${Object.keys(config.providerAnchors).join(', ')}`);
50
+ }
51
+ return anchors;
52
+ }
53
+ /**
54
+ * Get all signature/date tag field names from the signing config.
55
+ * These are the {tag} names that should exist in the DOCX template.
56
+ */
57
+ export function getSignatureTagFields(config) {
58
+ const fields = [];
59
+ for (const signer of config.signers) {
60
+ fields.push(signer.signatureField);
61
+ if (signer.dateField) {
62
+ fields.push(signer.dateField);
63
+ }
64
+ }
65
+ return fields;
66
+ }
67
+ //# sourceMappingURL=signing-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signing-config.js","sourceRoot":"","sources":["../../src/core/signing-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACrD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAC3C,CAAC,CAAC,MAAM,EAAE,EAAqB,iDAAiD;AAChF,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,eAAe,EAAE,qBAAqB;IACtC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAKH,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAqB,EACrB,YAAoB;IAEpB,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,yCAAyC,YAAY,KAAK;YAC1D,wBAAwB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzE,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAqB;IACzD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -17,6 +17,7 @@ export interface TemplateListField {
17
17
  }
18
18
  export interface TemplateListItem {
19
19
  name: string;
20
+ display_name: string;
20
21
  category: string;
21
22
  description: string;
22
23
  license?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"template-listing.d.ts","sourceRoot":"","sources":["../../src/core/template-listing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAMD,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED,sDAAsD;AACtD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA4BrD;AAED,wBAAgB,SAAS,CACvB,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,EACnI,cAAc,EAAE,MAAM,EAAE,GACvB,iBAAiB,EAAE,CAWrB;AAMD,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,gBAAgB,EAAE,CA6BxF"}
1
+ {"version":3,"file":"template-listing.d.ts","sourceRoot":"","sources":["../../src/core/template-listing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAMD,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED,sDAAsD;AACtD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA4BrD;AAED,wBAAgB,SAAS,CACvB,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,EACnI,cAAc,EAAE,MAAM,EAAE,GACvB,iBAAiB,EAAE,CAWrB;AAMD,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,gBAAgB,EAAE,CA8BxF"}
@@ -12,7 +12,7 @@ import { listTemplateEntries } from '../utils/paths.js';
12
12
  // Helpers
13
13
  // ---------------------------------------------------------------------------
14
14
  export function categoryFromId(id) {
15
- if (id.includes('employment') || id.includes('employee-ip-inventions')) {
15
+ if (id.includes('employment') || id.includes('employee-ip-inventions') || id.includes('restrictive-covenant')) {
16
16
  return 'employment';
17
17
  }
18
18
  return 'general';
@@ -69,7 +69,8 @@ export function listTemplateItems(opts) {
69
69
  const meta = loadMetadata(entry.dir);
70
70
  items.push({
71
71
  name: entry.id,
72
- category: categoryFromId(entry.id),
72
+ display_name: meta.name,
73
+ category: meta.category ?? categoryFromId(entry.id),
73
74
  description: meta.description ?? meta.name,
74
75
  license: meta.license,
75
76
  source_url: meta.source_url,
@@ -1 +1 @@
1
- {"version":3,"file":"template-listing.js","sourceRoot":"","sources":["../../src/core/template-listing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-listing.js","sourceRoot":"","sources":["../../src/core/template-listing.ts"],"names":[],"mappings":"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"}
@@ -18,11 +18,15 @@ export interface PipelineOptions {
18
18
  priorityFieldNames?: string[];
19
19
  cleanPatch?: {
20
20
  cleanConfig: CleanConfig;
21
- replacements: Record<string, string>;
21
+ replacements: Record<string, string | {
22
+ value: string;
23
+ format?: Record<string, unknown>;
24
+ }>;
22
25
  };
23
26
  selectionsConfig?: SelectionsConfig;
24
27
  coerceBooleans?: boolean;
25
28
  computeDisplayFields?: (data: Record<string, unknown>) => void;
29
+ signingTagDefaults?: Record<string, string>;
26
30
  fixSmartQuotes?: boolean;
27
31
  verify: (outputPath: string) => VerifyResult | Promise<VerifyResult>;
28
32
  postProcess?: (outputPath: string) => void | Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"unified-pipeline.d.ts","sourceRoot":"","sources":["../../src/core/unified-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAG9B,UAAU,CAAC,EAAE;QACX,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACtC,CAAC;IAGF,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAGpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAG/D,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACrE,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG3D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA8HvF"}
1
+ {"version":3,"file":"unified-pipeline.d.ts","sourceRoot":"","sources":["../../src/core/unified-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAG9B,UAAU,CAAC,EAAE;QACX,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC,CAAC;KAC5F,CAAC;IAGF,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAGpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC/D,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAG5C,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACrE,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG3D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAkIvF"}