@dzhechkov/harness-core 0.8.24 → 0.8.26

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 (64) hide show
  1. package/.dz-manifest.json +153 -33
  2. package/README.md +150 -4
  3. package/dist/confirmation-file-gate.d.ts +20 -0
  4. package/dist/confirmation-file-gate.d.ts.map +1 -0
  5. package/dist/confirmation-file-gate.js +76 -0
  6. package/dist/confirmation-file-gate.js.map +1 -0
  7. package/dist/contract-checklist.d.ts +1 -0
  8. package/dist/contract-checklist.d.ts.map +1 -1
  9. package/dist/contract-checklist.js +7 -4
  10. package/dist/contract-checklist.js.map +1 -1
  11. package/dist/core-boundary.d.ts +11 -0
  12. package/dist/core-boundary.d.ts.map +1 -0
  13. package/dist/core-boundary.js +41 -0
  14. package/dist/core-boundary.js.map +1 -0
  15. package/dist/feature-adr-landing.d.ts +4 -2
  16. package/dist/feature-adr-landing.d.ts.map +1 -1
  17. package/dist/feature-adr-landing.js +5 -3
  18. package/dist/feature-adr-landing.js.map +1 -1
  19. package/dist/feature-tier.d.ts +4 -0
  20. package/dist/feature-tier.d.ts.map +1 -0
  21. package/dist/feature-tier.js +55 -0
  22. package/dist/feature-tier.js.map +1 -0
  23. package/dist/index.d.ts +7 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +6 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/journal.d.ts +27 -0
  28. package/dist/journal.d.ts.map +1 -0
  29. package/dist/journal.js +56 -0
  30. package/dist/journal.js.map +1 -0
  31. package/dist/loop-blobs.generated.d.ts +1 -1
  32. package/dist/loop-blobs.generated.d.ts.map +1 -1
  33. package/dist/loop-blobs.generated.js +10 -1
  34. package/dist/loop-blobs.generated.js.map +1 -1
  35. package/dist/patterns.d.ts +5 -0
  36. package/dist/patterns.d.ts.map +1 -1
  37. package/dist/patterns.js +16 -0
  38. package/dist/patterns.js.map +1 -1
  39. package/dist/publish.d.ts +19 -0
  40. package/dist/publish.d.ts.map +1 -1
  41. package/dist/publish.js +38 -16
  42. package/dist/publish.js.map +1 -1
  43. package/dist/run-cleanup.d.ts +26 -0
  44. package/dist/run-cleanup.d.ts.map +1 -0
  45. package/dist/run-cleanup.js +33 -0
  46. package/dist/run-cleanup.js.map +1 -0
  47. package/dist/run-registry.d.ts +61 -0
  48. package/dist/run-registry.d.ts.map +1 -0
  49. package/dist/run-registry.js +163 -0
  50. package/dist/run-registry.js.map +1 -0
  51. package/package.json +7 -7
  52. package/sbom.json +332 -32
  53. package/src/confirmation-file-gate.ts +85 -0
  54. package/src/contract-checklist.ts +11 -5
  55. package/src/core-boundary.ts +43 -0
  56. package/src/feature-adr-landing.ts +8 -4
  57. package/src/feature-tier.ts +56 -0
  58. package/src/index.ts +9 -1
  59. package/src/journal.ts +54 -0
  60. package/src/loop-blobs.generated.ts +10 -1
  61. package/src/patterns.ts +18 -0
  62. package/src/publish.ts +49 -13
  63. package/src/run-cleanup.ts +38 -0
  64. package/src/run-registry.ts +153 -0
@@ -0,0 +1,76 @@
1
+ const CONFIRMATION_HEADING = '## Confirmation';
2
+ const TEST_FILE_TOKEN = /[A-Za-z0-9@._*-]+(?:\/[A-Za-z0-9@._*-]+)+\.(?:[cm]?[jt]sx?|py|sh)/g;
3
+ function confirmationSections(text) {
4
+ const lines = text.replace(/\r\n?/g, '\n').split('\n');
5
+ const starts = [];
6
+ for (let index = 0; index < lines.length; index++) {
7
+ const line = lines[index] ?? '';
8
+ if (line === CONFIRMATION_HEADING || line.startsWith(`${CONFIRMATION_HEADING} `)) {
9
+ starts.push(index);
10
+ }
11
+ }
12
+ if (starts.length !== 1)
13
+ return [];
14
+ const start = starts[0];
15
+ let end = lines.length;
16
+ for (let index = start + 1; index < lines.length; index++) {
17
+ if (/^## (?!#)\S/.test(lines[index] ?? '')) {
18
+ end = index;
19
+ break;
20
+ }
21
+ }
22
+ return [lines.slice(start + 1, end).join('\n')];
23
+ }
24
+ function testPaths(section) {
25
+ const paths = [];
26
+ for (const match of section.matchAll(TEST_FILE_TOKEN)) {
27
+ const path = match[0];
28
+ const testNamed = /(?:^|\/)(?:test|tests)\//.test(path)
29
+ || /\.(?:test|spec)\.[cm]?[jt]sx?$/.test(path)
30
+ || /(?:^|\/)[A-Za-z0-9@._-]+-test\.(?:py|sh)$/.test(path);
31
+ if (testNamed && !paths.includes(path))
32
+ paths.push(path);
33
+ }
34
+ return paths;
35
+ }
36
+ /**
37
+ * Pure Step-8 policy. The caller owns filesystem access and injects a predicate that returns true
38
+ * only for a readable regular file. Throwing is a named refusal, never laundered into a skip.
39
+ */
40
+ export function checkConfirmationFiles(adrTexts, exists) {
41
+ if (adrTexts.length === 0)
42
+ return { verdict: 'skipped', reason: 'no-adr' };
43
+ const paths = [];
44
+ for (let index = 0; index < adrTexts.length; index++) {
45
+ const sections = confirmationSections(adrTexts[index] ?? '');
46
+ if (sections.length !== 1) {
47
+ return { verdict: 'refused', reason: `ADR ${index + 1} has no unique readable Confirmation section` };
48
+ }
49
+ const parsed = testPaths(sections[0]);
50
+ if (parsed.length === 0) {
51
+ return { verdict: 'refused', reason: `ADR ${index + 1} Confirmation contains no parseable test path` };
52
+ }
53
+ for (const path of parsed) {
54
+ if (path.includes('*')) {
55
+ return { verdict: 'refused', reason: `cannot inspect ${path}: test path is not literal` };
56
+ }
57
+ if (!paths.includes(path))
58
+ paths.push(path);
59
+ }
60
+ }
61
+ const missing = [];
62
+ for (const path of paths) {
63
+ try {
64
+ if (!exists(path))
65
+ missing.push(path);
66
+ }
67
+ catch (error) {
68
+ const detail = error instanceof Error ? error.message : String(error);
69
+ return { verdict: 'refused', reason: `cannot inspect ${path}: ${detail}` };
70
+ }
71
+ }
72
+ return missing.length > 0
73
+ ? { verdict: 'fail', missing }
74
+ : { verdict: 'pass', checked: paths };
75
+ }
76
+ //# sourceMappingURL=confirmation-file-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirmation-file-gate.js","sourceRoot":"","sources":["../src/confirmation-file-gate.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export interface ContractSourceArtifact {
17
17
  export interface ContractChecklistSource {
18
18
  readonly requirements: ContractSourceArtifact;
19
19
  readonly adrs: readonly ContractSourceArtifact[];
20
+ readonly adrsOptional?: boolean;
20
21
  }
21
22
  export interface ContractItem {
22
23
  readonly id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"contract-checklist.d.ts","sourceRoot":"","sources":["../src/contract-checklist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract-checklist.d.ts","sourceRoot":"","sources":["../src/contract-checklist.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  export const CONTRACT_CHECKLIST_SCHEMA = 'contract-checklist/1';
8
8
  export const CONTRACT_VERDICT_SCHEMA = 'contract-checklist-verdict/1';
9
9
  const REQUIREMENTS_HEADING = '## Acceptance criteria';
10
+ const REQUIREMENTS_HEADINGS = [REQUIREMENTS_HEADING, '## Критерии приёмки'];
10
11
  const CONFIRMATION_HEADING = '## Confirmation';
11
12
  const VERDICT_HEADING = '## Contract checklist';
12
13
  const REQUIREMENTS_FORMAT_LINE = 'Format: Every acceptance criterion below is exactly one physical line matching `^AC-([1-9][0-9]*): (\\S.*)$`; identifiers are contiguous from `AC-1`, and only the literal H2 `## Acceptance criteria` establishes this source section.';
@@ -20,7 +21,8 @@ function linesOf(text) {
20
21
  function h2Indexes(lines, heading) {
21
22
  const indexes = [];
22
23
  for (let index = 0; index < lines.length; index++) {
23
- if (lines[index] === heading)
24
+ const line = lines[index] ?? '';
25
+ if (typeof heading === 'string' ? line === heading : heading(line))
24
26
  indexes.push(index);
25
27
  }
26
28
  return indexes;
@@ -37,7 +39,7 @@ function diagnostic(code, message, fields = {}) {
37
39
  }
38
40
  function acceptanceItems(artifact, diagnostics) {
39
41
  const lines = linesOf(artifact.text);
40
- const headings = h2Indexes(lines, REQUIREMENTS_HEADING);
42
+ const headings = h2Indexes(lines, (line) => REQUIREMENTS_HEADINGS.includes(line));
41
43
  if (headings.length !== 1) {
42
44
  diagnostics.push(diagnostic(headings.length === 0 ? 'requirements-section-missing' : 'requirements-section-duplicate', `expected exactly one ${REQUIREMENTS_HEADING} section; found ${headings.length}`, { artifact: artifact.path, section: REQUIREMENTS_HEADING, observed: headings.length }));
43
45
  return [];
@@ -100,7 +102,8 @@ function confirmationItem(artifact, diagnostics) {
100
102
  return null;
101
103
  }
102
104
  const lines = linesOf(artifact.text);
103
- const headings = h2Indexes(lines, CONFIRMATION_HEADING);
105
+ const headings = h2Indexes(lines, (line) => line === CONFIRMATION_HEADING
106
+ || line.startsWith(`${CONFIRMATION_HEADING} `));
104
107
  if (headings.length !== 1) {
105
108
  diagnostics.push(diagnostic(headings.length === 0 ? 'confirmation-section-missing' : 'confirmation-section-duplicate', `expected exactly one ${CONFIRMATION_HEADING} section; found ${headings.length}`, { artifact: artifact.path, section: CONFIRMATION_HEADING, observed: headings.length }));
106
109
  return null;
@@ -160,7 +163,7 @@ export function extractContractChecklist(input) {
160
163
  const diagnostics = [];
161
164
  const requirements = acceptanceItems(input.requirements, diagnostics);
162
165
  validateAcceptanceIds(requirements, input.requirements, diagnostics);
163
- if (input.adrs.length === 0) {
166
+ if (input.adrs.length === 0 && input.adrsOptional !== true) {
164
167
  diagnostics.push(diagnostic('adr-input-empty', 'at least one direct canonical ADR Markdown file is required', { section: CONFIRMATION_HEADING, observed: 0 }));
165
168
  }
166
169
  const adrBasename = (path) => path.replace(/\\/g, '/').split('/').at(-1) ?? '';
@@ -1 +1 @@
1
- {"version":3,"file":"contract-checklist.js","sourceRoot":"","sources":["../src/contract-checklist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract-checklist.js","sourceRoot":"","sources":["../src/contract-checklist.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,sBAA+B,CAAC;AACzE,MAAM,CAAC,MAAM,uBAAuB,GAAG,8BAAuC,CAAC;AAyH/E,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AACtD,MAAM,qBAAqB,GAAG,CAAC,oBAAoB,EAAE,qBAAqB,CAAU,CAAC;AACrF,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAC/C,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAChD,MAAM,wBAAwB,GAAG,yOAAyO,CAAC;AAC3Q,MAAM,YAAY,GAAG,gDAAgD,CAAC;AACtE,MAAM,cAAc,GAAG,4BAA4B,CAAC;AACpD,MAAM,aAAa,GAAG,sCAAsC,CAAC;AAC7D,MAAM,cAAc,GAAG,yCAAyC,CAAC;AAEjE,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,SAAS,CAAC,KAAwB,EAAE,OAA6C;IACxF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,KAAK,CAAC,KAAwB,EAAE,KAAa;IACpD,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1D,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;IAC3D,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CACjB,IAAY,EACZ,OAAe,EACf,SAAuD,EAAE;IAEzD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;AACtC,CAAC;AAWD,SAAS,eAAe,CACtB,QAAgC,EAChC,WAAiC;IAEjC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CACxE,IAA8C,CAC/C,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,WAAW,CAAC,IAAI,CAAC,UAAU,CACzB,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,gCAAgC,EACzF,wBAAwB,oBAAoB,mBAAmB,QAAQ,CAAC,MAAM,EAAE,EAChF,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CACtF,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAW,CAAC;IACpC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChC,MAAM,GAAG,GAA0B,EAAE,CAAC;IACtC,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,KAAK,wBAAwB;YAAE,SAAS;QACtE,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,WAAW,CAAC,IAAI,CAAC,UAAU,CACzB,0BAA0B,EAC1B,4CAA4C,KAAK,GAAG,CAAC,EAAE,EACvD,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAC3E,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC;YACP,QAAQ,EAAE,MAAM,MAAM,EAAE;YACxB,UAAU,EAAE,sBAAsB;YAClC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAW;YAC7B,UAAU,EAAE,QAAQ,CAAC,IAAI;YACzB,UAAU,EAAE,KAAK,GAAG,CAAC;SACtB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAqC,EACrC,QAAgC,EAChC,WAAiC;IAEjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,WAAW,CAAC,IAAI,CAAC,UAAU,CACzB,wBAAwB,EACxB,8DAA8D,EAC9D,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,CAAC,EAAE,CACxE,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAwB,CAAC;QACjD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,WAAW,CAAC,IAAI,CAAC,UAAU,CACzB,yBAAyB,EACzB,iCAAiC,IAAI,CAAC,QAAQ,EAAE,EAChD,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CACpF,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,WAAW,CAAC,IAAI,CAAC,UAAU,CACzB,6BAA6B,EAC7B,YAAY,QAAQ,yBAAyB,KAAK,GAAG,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,EAChF,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CACxG,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAwB,EACxB,UAAkB,EAClB,GAAW;IAEX,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC;IACjC,IAAI,SAAS,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAgC,EAChC,WAAiC;IAEjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3E,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,WAAW,CAAC,IAAI,CAAC,UAAU,CACzB,2BAA2B,EAC3B,4BAA4B,QAAQ,kDAAkD,EACtF,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAChD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,oBAAoB;WACpE,IAAI,CAAC,UAAU,CAAC,GAAG,oBAAoB,GAAG,CAAC,CAAC,CAAC;IAClD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,WAAW,CAAC,IAAI,CAAC,UAAU,CACzB,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,gCAAgC,EACzF,wBAAwB,oBAAoB,mBAAmB,QAAQ,CAAC,MAAM,EAAE,EAChF,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CACtF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAW,CAAC;IACpC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChC,MAAM,UAAU,GAAuC,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAuC,EAAE,CAAC;IACtD,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxG,IAAI,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtG,CAAC;IACD,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3F,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAChF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QACjE,WAAW,CAAC,IAAI,CAAC,UAAU,CACzB,6BAA6B,EAC7B,6DAA6D,QAAQ,EAAE,EACvE,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,CACrE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QACzD,WAAW,CAAC,IAAI,CAAC,UAAU,CACzB,0BAA0B,EAC1B,gEAAgE,QAAQ,EAAE,EAC1E,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,CACrE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAqC,CAAC;IACnE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAqC,CAAC;IAC5D,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,uBAAuB,EAAE,QAAQ,CAAC,EAAE,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAU,EAAE,CAAC;QACjH,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,GAAG,IAAI,CAAC;YACf,WAAW,CAAC,IAAI,CAAC,UAAU,CACzB,4BAA4B,EAC5B,GAAG,KAAK,8DAA8D,YAAY,CAAC,IAAI,EAAE,EACzF;gBACE,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,OAAO,EAAE,oBAAoB;gBAC7B,QAAQ,EAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,eAAe;gBAC3C,QAAQ,EAAE,YAAY,CAAC,IAAI;aAC5B,CACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,OAAO;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO;QACL,QAAQ,EAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,eAAe;QAC3C,UAAU,EAAE,kBAAkB;QAC9B,SAAS,EAAE,QAAQ,CAAC,KAAK;QACzB,sBAAsB,EAAE,KAAK,CAAC,KAAK;QACnC,UAAU,EAAE,QAAQ,CAAC,IAAI;QACzB,UAAU,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAA8B;IACrE,MAAM,WAAW,GAAyB,EAAE,CAAC;IAC7C,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACtE,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAErE,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QAC3D,WAAW,CAAC,IAAI,CAAC,UAAU,CACzB,iBAAiB,EACjB,6DAA6D,EAC7D,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,CAAC,EAAE,CAC/C,CAAC,CAAC;IACL,CAAC;IACD,MAAM,WAAW,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/F,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC/C,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,KAAK;YAAE,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,MAAM,aAAa,GAA0B,EAAE,CAAC;IAChD,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACrD,IAAI,IAAI,KAAK,IAAI;YAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,aAAa,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,WAAW,CAAC,IAAI,CAAC,UAAU,CACzB,8BAA8B,EAC9B,qCAAqC,IAAI,CAAC,QAAQ,EAAE,EACpD,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CACvD,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,2CAA2C,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/G,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAE9D,MAAM,KAAK,GAAmB,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IACjG,OAAO;QACL,EAAE,EAAE,IAAI;QACR,SAAS,EAAE,EAAE,MAAM,EAAE,yBAAyB,EAAE,KAAK,EAAE;QACvD,WAAW,EAAE,EAAE;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,SAA4B;IAClE,OAAO,6BAA6B,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;AACnF,CAAC;AAED,MAAM,eAAgB,SAAQ,KAAK;IACZ;IAArB,YAAqB,IAAY,EAAE,OAAe;QAChD,KAAK,CAAC,OAAO,CAAC,CAAC;QADI,SAAI,GAAJ,IAAI,CAAQ;IAEjC,CAAC;CACF;AAED,uGAAuG;AACvG,MAAM,wBAAwB;IAGC;IAFrB,KAAK,GAAG,CAAC,CAAC;IAElB,YAA6B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAE7C,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,8BAA8B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpI,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK;QACX,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACrE,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvC,IAAI,IAAI,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,IAAI,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvC,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACrF,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAU,EAAE,CAAC;YACzF,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;gBAC3B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,MAAM,IAAI,eAAe,CAAC,cAAc,EAAE,iCAAiC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3F,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,0FAA0F;QAC1F,gGAAgG;QAChG,iDAAiD;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAA4B,CAAC;QAC7D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG;gBAAE,MAAM,IAAI,eAAe,CAAC,cAAc,EAAE,kCAAkC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7H,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,yBAAyB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG;gBAAE,MAAM,IAAI,eAAe,CAAC,cAAc,EAAE,sBAAsB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1H,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,SAAS,KAAK,GAAG;gBAAE,MAAM,IAAI,eAAe,CAAC,cAAc,EAAE,+BAA+B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9G,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,KAAK,GAAc,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,SAAS,KAAK,GAAG;gBAAE,MAAM,IAAI,eAAe,CAAC,cAAc,EAAE,+BAA+B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9G,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAEO,MAAM;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAW,CAAC;YAC7C,IAAI,CAAC,OAAO,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC;oBACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAW,CAAC;gBAClE,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,+BAA+B,KAAK,EAAE,CAAC,CAAC;gBAC3F,CAAC;YACH,CAAC;YACD,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI;gBAAE,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,6BAA6B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACvI,IAAI,CAAC,OAAO,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,GAAG,IAAI,CAAC;;gBACzC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;QACD,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,oCAAoC,KAAK,EAAE,CAAC,CAAC;IAChG,CAAC;IAEO,MAAM;QACZ,MAAM,KAAK,GAAG,sDAAsD,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,0BAA0B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1H,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,6BAA6B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACzH,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAChB,KAA8B,EAC9B,OAA0B,EAC1B,QAA2B,EAC3B,QAAgB,EAChB,WAAiC,EACjC,SAAoE,EAAE;IAEtE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,GAAG,QAAQ,4BAA4B,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/J,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YACtD,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,GAAG,QAAQ,+BAA+B,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACxI,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAc,EACd,QAAgB,EAChB,WAAiC,EACjC,UAAmB;IAEnB,MAAM,MAAM,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;IAC9D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,GAAG,QAAQ,6BAA6B,EAAE,MAAM,CAAC,CAAC,CAAC;QACxG,OAAO,IAAI,CAAC;IACd,CAAC;IACD,SAAS,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAE,GAAG,QAAQ,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAClJ,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,GAAG,QAAQ,+CAA+C,EAAE,MAAM,CAAC,CAAC,CAAC;IAClK,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,GAAG,QAAQ,4CAA4C,EAAE,MAAM,CAAC,CAAC,CAAC;IACzJ,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC1C,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;QAC9E,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,0BAA0B,EAAE,GAAG,QAAQ,4CAA4C,EAAE,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/J,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;WACpE,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,cAAc,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9F,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC;AAC3F,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAc,EACd,KAAa,EACb,WAAiC;IAEjC,MAAM,QAAQ,GAAG,SAAS,KAAK,GAAG,CAAC;IACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,GAAG,QAAQ,oBAAoB,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/I,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,MAAM,MAAM,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;IAC9D,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACxH,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,GAAG,QAAQ,gCAAgC,EAAE,MAAM,CAAC,CAAC,CAAC;IACvI,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;QAC3E,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,GAAG,QAAQ,2BAA2B,EAAE,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3I,CAAC;IACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QACnF,WAAW,CAAC,IAAI,CAAC,UAAU,CACzB,yBAAyB,EACzB,GAAG,QAAQ,iCAAiC,OAAO,EAAE,EACrD,MAAM,CACP,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,GAAG,QAAQ,iDAAiD,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5H,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,cAAc,CAAC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/I,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAChG,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC;QACf,OAAO;QACP,QAAQ;QACR,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAG5C,MAAM,WAAW,GAAyB,EAAE,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,sBAAsB,EAAE,2CAA2C,CAAC,CAAC,EAAE,CAAC;IACvH,CAAC;IACD,SAAS,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACnH,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,uBAAuB,EAAE,CAAC;QAChD,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAAE,8BAA8B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7J,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QACrE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,oCAAoC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3H,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,gCAAgC,CAAC,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,KAAK,GAA0B,EAAE,CAAC;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YACtE,IAAI,IAAI,KAAK,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,uBAAuB;WACpE,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;AAC/F,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IAGnC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,IAAI,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAkB,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,UAAU,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAChC,KAAK,IAAI,MAAM,GAAG,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnE,IAAI,KAAK;oBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAkB,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,UAAU,EAAE,UAAU,CACpB,wBAAwB,EACxB,qDAAqD,MAAM,CAAC,MAAM,EAAE,EACpE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,CAC1C;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAkB,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,WAAW,EAAE,KAAK;YAClB,WAAW,EAAE,CAAC,UAAU,CAAC,yBAAyB,EAAE,qBAAqB,eAAe,UAAU,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;SACnI,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,CAAC,UAAU,CACtB,2BAA2B,EAC3B,wBAAwB,eAAe,mBAAmB,QAAQ,CAAC,MAAM,EAAE,EAC3E,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CACxD,CAAC;SACH,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAW,CAAC;IACpC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9E,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,EAAE,EAAE,KAAK;YACT,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,CAAC,UAAU,CACtB,uBAAuB,EACvB,iGAAiG,EACjG,EAAE,OAAO,EAAE,eAAe,EAAE,CAC7B,CAAC;SACH,CAAC;IACJ,CAAC;IACD,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC,MAAM,EAAE,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,KAAK,YAAY,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAChH,OAAO;YACL,EAAE,EAAE,KAAK;YACT,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;SAC3F,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;SAC3G,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;IACxF,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAChD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,CAAC,UAAU,CACtB,uBAAuB,EACvB,eAAe,KAAK,CAAC,KAAK,wCAAwC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,EAC/F,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAC9E,CAAC;SACH,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AACxF,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAU;IAClC,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzC,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,KAAa;IACnD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM;QACrB,KAAK,EAAE,CAAC;QACR,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,8BAA8B,CAAC;IACrI,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,yCAAyC,CAAC;IAC9E,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,uDAAuD,CAAC;IACvI,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,SAA4B,EAAE,MAAe;IAC/D,iGAAiG;IACjG,gGAAgG;IAChG,MAAM,IAAI,GAAuB,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3G,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,OAAwB,EAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC;IAC1H,OAAO;QACL,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM;QACrC,YAAY,EAAE,IAAI,CAAC,MAAM;QACzB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM;QAC1D,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM;QAC9D,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM;QAC3E,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE,CAAC;QACT,eAAe,EAAE,CAAC;QAClB,cAAc,EAAE,CAAC;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,SAA4B,EAC5B,MAAe,EACf,WAA0C,EAC1C,MAAkC,EAClC,KAA2C;IAE3C,OAAO;QACL,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC;QACX,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC;eACzB,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,GAAG;mBAC/D,MAAM,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,GAAG,CAAC;YACtE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;YACxB,CAAC,CAAC,IAAI;QACR,KAAK,EAAE,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7C,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,aAAa;YACvB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC;QACH,MAAM;QACN,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,SAA4B,EAC5B,MAA6B,EAC7B,QAAgC;IAEhC,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC3F,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACxB,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAEvC,MAAM,WAAW,GAAyB,EAAE,CAAC;IAC7C,IAAI,SAAS,CAAC,MAAM,KAAK,yBAAyB,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnF,WAAW,CAAC,IAAI,CAAC,UAAU,CACzB,SAAS,CAAC,MAAM,KAAK,yBAAyB,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,gBAAgB,EACjG,SAAS,CAAC,MAAM,KAAK,yBAAyB,CAAC,CAAC,CAAC,+BAA+B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,kCAAkC,CAChJ,CAAC,CAAC;QACH,OAAO,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,KAAK,MAAM,EAAE,IAAI,WAAW;QAAE,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAElF,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC;QAC1C,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,SAAS,IAAI,SAAS,GAAG,CAAC,CAAC;YAC3B,WAAW,CAAC,IAAI,CAAC,UAAU,CACzB,sBAAsB,EACtB,cAAc,EAAE,WAAW,SAAS,QAAQ,EAC5C,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CACxC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,KAAK,MAAM,EAAE,IAAI,OAAO;QAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACrI,KAAK,MAAM,EAAE,IAAI,MAAM;QAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAClD,gBAAgB,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,mBAAmB,EAC5E,uBAAuB,EAAE,iCAAiC,EAC1D,EAAE,UAAU,EAAE,EAAE,EAAE,CACnB,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC;WAC7D,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;QAChE,WAAW,CAAC,IAAI,CAAC,UAAU,CACzB,kBAAkB,EAClB,gEAAgE,EAChE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAC1B,CAAC,CAAC;IACL,CAAC;IACD,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAClF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAE9F,MAAM,WAAW,GAA+B,EAAE,CAAC;IACnD,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAiB,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAwB,CAAC;QAC3D,MAAM,eAAe,GAAyB,EAAE,CAAC;QACjD,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,eAAe,CAAC,IAAI,CAAC,UAAU,CAC7B,sBAAsB,EACtB,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,KAAK,WAAW,EAAE,EAC9C,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CACjE,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC1G,eAAe,CAAC,IAAI,CAAC,UAAU,CAC7B,wBAAwB,EACxB,GAAG,QAAQ,CAAC,EAAE,sCAAsC,EACpD,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CACjE,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACb,eAAe,CAAC,IAAI,CAAC,UAAU,CAC7B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,EACX,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CACjE,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACpE,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;oBAClB,eAAe,CAAC,IAAI,CAAC,UAAU,CAC7B,sBAAsB,EACtB,GAAG,QAAQ,CAAC,EAAE,0BAA0B,OAAO,+BAA+B,EAC9E,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CACpF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,eAAe,GAAqD;YACxE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,MAAM;YACb,cAAc,EAAE,cAAc;SAC/B,CAAC;QACF,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,KAAK,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1E,eAAe,CAAC,IAAI,CAAC,UAAU,CAC7B,2BAA2B,EAC3B,GAAG,QAAQ,CAAC,EAAE,YAAY,OAAO,CAAC,OAAO,6BAA6B,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EACxG;gBACE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBACnC,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,eAAe;aAC3C,CACF,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAChC,eAAe,CAAC,IAAI,CAAC,UAAU,CAC7B,qBAAqB,EACrB,GAAG,QAAQ,CAAC,EAAE,cAAc,OAAO,CAAC,MAAM,IAAI,oBAAoB,EAAE,EACpE,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CAC5B,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;YAC9C,eAAe,CAAC,IAAI,CAAC,UAAU,CAC7B,4BAA4B,EAC5B,GAAG,QAAQ,CAAC,EAAE,qBAAqB,OAAO,CAAC,MAAM,IAAI,oBAAoB,EAAE,EAC3E,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CAC5B,CAAC,CAAC;QACL,CAAC;QACD,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;QACpG,IAAI,cAAc,GAAG,CAAC;YAAE,eAAe,EAAE,CAAC;QAC1C,WAAW,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QACrC,WAAW,CAAC,IAAI,CAAC;YACf,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;YAClD,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,WAAW,EAAE,eAAe;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjG,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,GAAG,IAAI,MAAM,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACrG,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,WAAW,CAAC,IAAI,CAAC,UAAU,CACzB,sBAAsB,EACtB,iBAAiB,MAAM,CAAC,YAAY,qCAAqC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACpG,EAAE,QAAQ,EAAE,cAAc,EAAE,CAC7B,CAAC,CAAC;IACL,CAAC;IACD,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC;IAC/E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3G,OAAO;QACL,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,CAAC;QACX,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,KAAK,EAAE,WAAW;QAClB,MAAM;QACN,WAAW,EAAE,EAAE;KAChB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ /** Internal test scanner: parsing keeps comments and literal text out of code visits. */
2
+ export declare function findProcessAccessInCode(source: string): Array<{
3
+ line: number;
4
+ kind: string;
5
+ }>;
6
+ /** Count import declarations, import-equals, require and dynamic imports, not mentions. */
7
+ export declare function countIoImports(source: string, modules?: readonly string[]): {
8
+ files: number;
9
+ imports: number;
10
+ };
11
+ //# sourceMappingURL=core-boundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-boundary.d.ts","sourceRoot":"","sources":["../src/core-boundary.ts"],"names":[],"mappings":"AAEA,yFAAyF;AACzF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAY7F;AAED,2FAA2F;AAC3F,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,SAAS,MAAM,EAAoF,GAC3G;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAqBpC"}
@@ -0,0 +1,41 @@
1
+ import ts from 'typescript';
2
+ /** Internal test scanner: parsing keeps comments and literal text out of code visits. */
3
+ export function findProcessAccessInCode(source) {
4
+ const file = ts.createSourceFile('boundary.ts', source, ts.ScriptTarget.Latest, true);
5
+ const hits = [];
6
+ function visit(node) {
7
+ if (ts.isPropertyAccessExpression(node) && ts.isIdentifier(node.expression)
8
+ && node.expression.text === 'process' && ['argv', 'exit'].includes(node.name.text)) {
9
+ hits.push({ line: file.getLineAndCharacterOfPosition(node.getStart(file)).line + 1, kind: node.name.text });
10
+ }
11
+ ts.forEachChild(node, visit);
12
+ }
13
+ visit(file);
14
+ return hits;
15
+ }
16
+ /** Count import declarations, import-equals, require and dynamic imports, not mentions. */
17
+ export function countIoImports(source, modules = ['node:fs', 'fs', 'node:child_process', 'child_process', 'node:https', 'https']) {
18
+ const file = ts.createSourceFile('boundary.ts', source, ts.ScriptTarget.Latest, true);
19
+ let imports = 0;
20
+ function visit(node) {
21
+ let specifier;
22
+ if (ts.isImportDeclaration(node))
23
+ specifier = node.moduleSpecifier;
24
+ else if (ts.isImportEqualsDeclaration(node) && ts.isExternalModuleReference(node.moduleReference)) {
25
+ specifier = node.moduleReference.expression;
26
+ }
27
+ else if (ts.isCallExpression(node)
28
+ && (node.expression.kind === ts.SyntaxKind.ImportKeyword
29
+ || (ts.isIdentifier(node.expression) && node.expression.text === 'require'))) {
30
+ specifier = node.arguments[0];
31
+ }
32
+ if (specifier && ts.isStringLiteralLike(specifier)
33
+ && modules.some((name) => specifier.text === name || specifier.text.startsWith(`${name}/`))) {
34
+ imports += 1;
35
+ }
36
+ ts.forEachChild(node, visit);
37
+ }
38
+ visit(file);
39
+ return { files: imports > 0 ? 1 : 0, imports };
40
+ }
41
+ //# sourceMappingURL=core-boundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-boundary.js","sourceRoot":"","sources":["../src/core-boundary.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { probePid } from './run-registry.js';
1
2
  /** Pure decisions for the Step-7.5 Codex companion liveness barrier. */
2
3
  export declare const DEFAULT_CODE_LANDING_CEILING_MS = 7200000;
3
4
  export declare const CODE_LANDING_CEILING_ENV = "DZ_FEATURE_ADR_CODE_LANDING_CEILING_MS";
@@ -5,7 +6,8 @@ export type CodeLandingLivenessVerdict = 'coder-running' | 'landed' | 'genuinely
5
6
  export type CodeLandingLivenessReason = 'recorded-pid-alive' | 'recorded-pid-absent' | 'terminal-companion' | 'ceiling-exceeded' | 'companion-probe-error' | 'unparseable-companion-status' | 'recorded-pid-unavailable' | 'git-evidence-unavailable' | 'reported-zero-touched-files';
6
7
  export interface CodeLandingLivenessInput {
7
8
  readonly companionStatus: unknown;
8
- readonly recordedPidAlive: boolean | null;
9
+ readonly recordedPidAlive?: boolean | null;
10
+ readonly recordedPid?: number;
9
11
  readonly targetsChanged: boolean | null;
10
12
  readonly elapsedMs: number;
11
13
  readonly ceilingMs: number;
@@ -22,7 +24,7 @@ export interface CodeLandingLivenessDecision {
22
24
  readonly verdict: CodeLandingLivenessVerdict;
23
25
  readonly reason: CodeLandingLivenessReason;
24
26
  }
25
- export declare function decideCodeLandingLiveness(input: CodeLandingLivenessInput): CodeLandingLivenessDecision;
27
+ export declare function decideCodeLandingLiveness(input: CodeLandingLivenessInput, pidProbe?: typeof probePid): CodeLandingLivenessDecision;
26
28
  export declare function extractCodexCompanionJobId(text: unknown): string | null;
27
29
  export interface CodeLandingLivenessProbe {
28
30
  readonly companionStatus: string;
@@ -1 +1 @@
1
- {"version":3,"file":"feature-adr-landing.d.ts","sourceRoot":"","sources":["../src/feature-adr-landing.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE,eAAO,MAAM,+BAA+B,UAAY,CAAC;AACzD,eAAO,MAAM,wBAAwB,2CAA2C,CAAC;AAEjF,MAAM,MAAM,0BAA0B,GAClC,eAAe,GACf,QAAQ,GACR,sBAAsB,GACtB,sBAAsB,GACtB,aAAa,GACb,cAAc,CAAC;AAEnB,MAAM,MAAM,yBAAyB,GACjC,oBAAoB,GACpB,qBAAqB,GACrB,oBAAoB,GACpB,kBAAkB,GAClB,uBAAuB,GACvB,8BAA8B,GAC9B,0BAA0B,GAC1B,0BAA0B,GAC1B,6BAA6B,CAAC;AAElC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;CAC5C;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,wBAAwB,GAAG,2BAA2B,CA6BtG;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGvE;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9C;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO,GAAG,wBAAwB,GAAG,IAAI,CAiB7F"}
1
+ {"version":3,"file":"feature-adr-landing.d.ts","sourceRoot":"","sources":["../src/feature-adr-landing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,wEAAwE;AAExE,eAAO,MAAM,+BAA+B,UAAY,CAAC;AACzD,eAAO,MAAM,wBAAwB,2CAA2C,CAAC;AAEjF,MAAM,MAAM,0BAA0B,GAClC,eAAe,GACf,QAAQ,GACR,sBAAsB,GACtB,sBAAsB,GACtB,aAAa,GACb,cAAc,CAAC;AAEnB,MAAM,MAAM,yBAAyB,GACjC,oBAAoB,GACpB,qBAAqB,GACrB,oBAAoB,GACpB,kBAAkB,GAClB,uBAAuB,GACvB,8BAA8B,GAC9B,0BAA0B,GAC1B,0BAA0B,GAC1B,6BAA6B,CAAC;AAElC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;CAC5C;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,wBAAwB,EAAE,QAAQ,kBAAW,GAAG,2BAA2B,CA8B3H;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGvE;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9C;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO,GAAG,wBAAwB,GAAG,IAAI,CAiB7F"}
@@ -1,16 +1,18 @@
1
+ import { probePid } from './run-registry.js';
1
2
  /** Pure decisions for the Step-7.5 Codex companion liveness barrier. */
2
3
  export const DEFAULT_CODE_LANDING_CEILING_MS = 7_200_000;
3
4
  export const CODE_LANDING_CEILING_ENV = 'DZ_FEATURE_ADR_CODE_LANDING_CEILING_MS';
4
- export function decideCodeLandingLiveness(input) {
5
+ export function decideCodeLandingLiveness(input, pidProbe = probePid) {
5
6
  const status = typeof input.companionStatus === 'string' ? input.companionStatus.trim().toLowerCase() : '';
6
7
  const elapsedMs = Number.isFinite(input.elapsedMs) ? Math.max(0, input.elapsedMs) : 0;
7
8
  const ceilingMs = Number.isFinite(input.ceilingMs) && input.ceilingMs > 0 ? input.ceilingMs : DEFAULT_CODE_LANDING_CEILING_MS;
9
+ const recordedPidAlive = input.recordedPidAlive === undefined ? (input.recordedPid === undefined ? null : pidProbe(input.recordedPid)) : input.recordedPidAlive;
8
10
  const live = status === 'running' || status === 'queued';
9
11
  const terminal = status === 'completed' || status === 'failed' || status === 'cancelled';
10
- if (live && input.recordedPidAlive === false) {
12
+ if (live && recordedPidAlive === false) {
11
13
  return { verdict: 'dead-worker', reason: 'recorded-pid-absent' };
12
14
  }
13
- if (live && input.recordedPidAlive === true) {
15
+ if (live && recordedPidAlive === true) {
14
16
  if (elapsedMs >= ceilingMs)
15
17
  return { verdict: 'inconclusive', reason: 'ceiling-exceeded' };
16
18
  return { verdict: 'coder-running', reason: 'recorded-pid-alive' };
@@ -1 +1 @@
1
- {"version":3,"file":"feature-adr-landing.js","sourceRoot":"","sources":["../src/feature-adr-landing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-adr-landing.js","sourceRoot":"","sources":["../src/feature-adr-landing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,wEAAwE;AAExE,MAAM,CAAC,MAAM,+BAA+B,GAAG,SAAS,CAAC;AACzD,MAAM,CAAC,MAAM,wBAAwB,GAAG,wCAAwC,CAAC;AA2CjF,MAAM,UAAU,yBAAyB,CAAC,KAA+B,EAAE,QAAQ,GAAG,QAAQ;IAC5F,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1G,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACrF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,+BAA+B,CAAA;IAC7H,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAA;IAC/J,MAAM,IAAI,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,CAAA;IACxD,MAAM,QAAQ,GAAG,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,WAAW,CAAA;IAExF,IAAI,IAAI,IAAI,gBAAgB,KAAK,KAAK,EAAE,CAAC;QACvC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAA;IAClE,CAAC;IACD,IAAI,IAAI,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QACtC,IAAI,SAAS,IAAI,SAAS;YAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAA;QAC1F,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAA;IACnE,CAAC;IACD,IAAI,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAA;IAChF,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI;YAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAA;QAC7F,IAAI,KAAK,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,oBAAoB,KAAK,CAAC,EAAE,CAAC;gBACrC,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAA;YACnF,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAA;QAC1E,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAA;IACxE,CAAC;IACD,OAAO;QACL,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,8BAA8B;KACjF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAa;IACtD,MAAM,KAAK,GAAG,mEAAmE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3G,OAAO,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAYD,MAAM,UAAU,8BAA8B,CAAC,IAAa;IAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAClC,iGAAiG;IACjG,6FAA6F;IAC7F,sEAAsE;IACtE,MAAM,KAAK,GAAG,0MAA0M,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtO,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,UAAU,GAAG,CAAC,KAAa,EAAkB,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACjH,OAAO;QACL,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,gBAAgB,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,oBAAoB,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACjG,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { FeatureTier } from './guard-volume.js';
2
+ export declare function parseFeatureTier(text: string): FeatureTier | null;
3
+ export declare function readFeatureTier(read: (rel: string) => string | null, slug: string): FeatureTier | null;
4
+ //# sourceMappingURL=feature-tier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-tier.d.ts","sourceRoot":"","sources":["../src/feature-tier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA0BrD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAqBjE;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,EACpC,IAAI,EAAE,MAAM,GACX,WAAW,GAAG,IAAI,CAGpB"}
@@ -0,0 +1,55 @@
1
+ function tiersAfterMarkers(line) {
2
+ if (!/^\s*(?:##\s*)?(?:\*\*)?(?:Tier|Тир)(?=$|[\s:*])/iu.test(line))
3
+ return [];
4
+ const tiers = [];
5
+ for (const marker of line.matchAll(/Tier|Тир/giu)) {
6
+ const markerIndex = marker.index ?? 0;
7
+ const previous = line[markerIndex - 1];
8
+ if (previous !== undefined && /[\p{L}\p{N}_]/u.test(previous))
9
+ continue;
10
+ const tail = line.slice(markerIndex + marker[0].length);
11
+ // A template line lists several tiers after one marker («Tier: S / M / L / XL», «Tier: S|M») — every
12
+ // listed token is a candidate, so the caller sees the ambiguity instead of the first token (QE 08c #1).
13
+ const match = tail.match(/^(?:\s*:\s*|\s+)(?:\*\*)?\s*(XL|[SML])((?:\s*[/|,]\s*(?:XL|[SML]))*)(?=$|[\s.*)—–-])/iu);
14
+ if (match?.[1] !== undefined) {
15
+ tiers.push(match[1].toUpperCase());
16
+ for (const extra of (match[2] ?? '').matchAll(/XL|[SML]/giu))
17
+ tiers.push(extra[0].toUpperCase());
18
+ }
19
+ }
20
+ return tiers;
21
+ }
22
+ function tierAtContinuationStart(line) {
23
+ const match = line.match(/^\s*(?:\*\*)?\s*(XL|[SML])(?=$|[\s:.*)—–-])/iu);
24
+ return match?.[1] === undefined ? null : match[1].toUpperCase();
25
+ }
26
+ export function parseFeatureTier(text) {
27
+ const lines = text.split(/\r?\n/);
28
+ const candidates = new Set();
29
+ for (let index = 0; index < lines.length; index += 1) {
30
+ const line = lines[index];
31
+ for (const inline of tiersAfterMarkers(line))
32
+ candidates.add(inline);
33
+ if (!/^\s*##\s*(?:Tier|Тир)\s*$/iu.test(line))
34
+ continue;
35
+ const continuation = lines.slice(index + 1).find((next) => next.trim() !== '');
36
+ if (continuation === undefined)
37
+ continue;
38
+ const continuedTiers = tiersAfterMarkers(continuation);
39
+ if (continuedTiers.length > 0) {
40
+ for (const nextTier of continuedTiers)
41
+ candidates.add(nextTier);
42
+ }
43
+ else {
44
+ const nextTier = tierAtContinuationStart(continuation);
45
+ if (nextTier !== null)
46
+ candidates.add(nextTier);
47
+ }
48
+ }
49
+ return candidates.size === 1 ? [...candidates][0] : null;
50
+ }
51
+ export function readFeatureTier(read, slug) {
52
+ const text = read(`features/${slug}/00_complexity_assessment.md`);
53
+ return text === null ? null : parseFeatureTier(text);
54
+ }
55
+ //# sourceMappingURL=feature-tier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-tier.js","sourceRoot":"","sources":["../src/feature-tier.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -56,7 +56,7 @@ export { tokenize, stemToken, stems } from './stem.js';
56
56
  export * from './package-skill-layouts.js';
57
57
  export { recommend } from './recommend.js';
58
58
  export { pretrain } from './pretrain.js';
59
- export { loadPatterns, loadSessions, computePatternBoost, readLearningConfig, readMemoryLearningConfig, BOOST_CAP, recordPattern, recordLessonForms, loadStorePatternsSync, loadStoreRecords, patternToRecord, recordToPattern, patternRecordId, patternIdentityOf, dreamRecordId, isMirrorableLearning, consolidateSessions, recallPatterns, pruneNoisePatterns, removePatternsByIds, snapshotStore, readReinforcementState, encodeReinforcementState, reinforcePattern, updateReinforcementState, storeStats, lessonDeltaReport, lessonDeltaMap, readQuarantineState, encodeQuarantineState, promotePatterns, quarantineExpiryCandidates, pruneQuarantinePatterns } from './patterns.js';
59
+ export { loadPatterns, loadSessions, computePatternBoost, readLearningConfig, readMemoryLearningConfig, BOOST_CAP, recordPattern, recordLessonForms, loadStorePatternsSync, loadStoreRecords, findExactLesson, patternToRecord, recordToPattern, patternRecordId, patternIdentityOf, dreamRecordId, isMirrorableLearning, consolidateSessions, recallPatterns, pruneNoisePatterns, removePatternsByIds, snapshotStore, readReinforcementState, encodeReinforcementState, reinforcePattern, updateReinforcementState, storeStats, lessonDeltaReport, lessonDeltaMap, readQuarantineState, encodeQuarantineState, promotePatterns, quarantineExpiryCandidates, pruneQuarantinePatterns } from './patterns.js';
60
60
  export { normalizeLessonForms, validateClassTemplate, lessonPairIdOf, mergeLessonFormHits, mergeLessonMatchedForms } from './lesson-generalization.js';
61
61
  export { withStoreLock, withStoreLockSync, storeLockPath, StoreLockTimeoutError, StoreLockCompromisedError, STALE_LOCK_MS, LOCK_TIMEOUT_MS } from './store-lock.js';
62
62
  export type { StoreLockOptions } from './store-lock.js';
@@ -116,6 +116,7 @@ export type { RecordKind, RecordVerdict, RecordDecision } from './run-records.js
116
116
  export type { AmendmentAmbiguity, AmendmentRow, AmendmentVerdict, AmendmentResolution, AmendmentOutcome, AmendmentDecision, PlanCoverageGap } from './amendment-trace.js';
117
117
  export { extractContractChecklist, renderContractChecklist, parseContractVerdictReport, verifyContractVerdicts, } from './contract-checklist.js';
118
118
  export type { ContractSourceKind, ContractVerdict, ContractObservedOutcome, ContractGrade, ContractSourceArtifact, ContractChecklistSource, ContractItem, ContractChecklist, ContractDiagnostic, ContractChecklistResult, ContractVerdictEvidence, ContractVerdictItem, ContractVerdictReport, ContractVerdictParseResult, ContractEvidenceReadResult, ContractEvidenceReader, ContractItemVerification, ContractVerificationCounts, ContractVerification, } from './contract-checklist.js';
119
+ export * from './feature-tier.js';
119
120
  export { DOMAIN_LIFT_EXACT, DOMAIN_LIFT_RELATED, normalizeDomain, domainMatch, applyDomainBoost, countDisplacedByCut, renderDomainBoostNote, renderDomainCutNote, } from './recall-domain-boost.js';
120
121
  export type { DomainMatch, DomainBoostResult } from './recall-domain-boost.js';
121
122
  export { DEFAULT_HELD_OUT_DOMAINS, applyExportHoldout, canonicalDomainKey, heldOutAfterOptIn, renderHoldoutNote, renderSharedStoreAdvice, decideVectorExport, } from './export-holdout.js';
@@ -230,4 +231,9 @@ export { generateClaudeDestructiveHook, CLAUDE_DESTRUCTIVE_HOOK_COMMAND, CLAUDE_
230
231
  export type { ClaudeHookAssetOptions } from './claude-hooks-assets.js';
231
232
  export { harnessCoreDistDir, harnessCoreModuleDir } from './harness-core-location.js';
232
233
  export { maskMarkdown } from './markdown-masker.js';
234
+ export * from './confirmation-file-gate.js';
235
+ export * from './run-registry.js';
236
+ export { JOURNAL_KINDS, formatLine, parseLine, selectWindow, appendWitnessed } from './journal.js';
237
+ export type { JournalKind, JournalEvent, JournalLine, JournalIo } from './journal.js';
238
+ export * from './run-cleanup.js';
233
239
  //# sourceMappingURL=index.d.ts.map