@sun-asterisk/sungen 3.3.0-alpha.6 → 3.3.0-alpha.8

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 (185) hide show
  1. package/dist/cli/case-triage-hint.d.ts +14 -0
  2. package/dist/cli/case-triage-hint.d.ts.map +1 -0
  3. package/dist/cli/case-triage-hint.js +23 -0
  4. package/dist/cli/case-triage-hint.js.map +1 -0
  5. package/dist/cli/commands/contract-derive-command.d.ts.map +1 -1
  6. package/dist/cli/commands/contract-derive-command.js +4 -1
  7. package/dist/cli/commands/contract-derive-command.js.map +1 -1
  8. package/dist/cli/commands/contract.d.ts.map +1 -1
  9. package/dist/cli/commands/contract.js +5 -2
  10. package/dist/cli/commands/contract.js.map +1 -1
  11. package/dist/cli/commands/delivery.d.ts.map +1 -1
  12. package/dist/cli/commands/delivery.js +50 -16
  13. package/dist/cli/commands/delivery.js.map +1 -1
  14. package/dist/cli/commands/gate.d.ts.map +1 -1
  15. package/dist/cli/commands/gate.js +2 -1
  16. package/dist/cli/commands/gate.js.map +1 -1
  17. package/dist/cli/commands/generate.d.ts.map +1 -1
  18. package/dist/cli/commands/generate.js +14 -2
  19. package/dist/cli/commands/generate.js.map +1 -1
  20. package/dist/cli/commands/journey.d.ts.map +1 -1
  21. package/dist/cli/commands/journey.js +4 -2
  22. package/dist/cli/commands/journey.js.map +1 -1
  23. package/dist/cli/commands/next.d.ts +7 -3
  24. package/dist/cli/commands/next.d.ts.map +1 -1
  25. package/dist/cli/commands/next.js +28 -5
  26. package/dist/cli/commands/next.js.map +1 -1
  27. package/dist/cli/commands/triage.d.ts.map +1 -1
  28. package/dist/cli/commands/triage.js +5 -3
  29. package/dist/cli/commands/triage.js.map +1 -1
  30. package/dist/cli/commands/update.d.ts.map +1 -1
  31. package/dist/cli/commands/update.js +6 -2
  32. package/dist/cli/commands/update.js.map +1 -1
  33. package/dist/cli/index.js +4 -0
  34. package/dist/cli/index.js.map +1 -1
  35. package/dist/cli/json-error-on-exit.d.ts +34 -0
  36. package/dist/cli/json-error-on-exit.d.ts.map +1 -0
  37. package/dist/cli/json-error-on-exit.js +63 -0
  38. package/dist/cli/json-error-on-exit.js.map +1 -0
  39. package/dist/cli/project-sungen-invocation.d.ts +6 -0
  40. package/dist/cli/project-sungen-invocation.d.ts.map +1 -1
  41. package/dist/cli/project-sungen-invocation.js +19 -0
  42. package/dist/cli/project-sungen-invocation.js.map +1 -1
  43. package/dist/cli/run-command-hints.d.ts +9 -0
  44. package/dist/cli/run-command-hints.d.ts.map +1 -0
  45. package/dist/cli/run-command-hints.js +84 -0
  46. package/dist/cli/run-command-hints.js.map +1 -0
  47. package/dist/cli/waiting-for-you-block.d.ts +18 -0
  48. package/dist/cli/waiting-for-you-block.d.ts.map +1 -0
  49. package/dist/cli/waiting-for-you-block.js +22 -0
  50. package/dist/cli/waiting-for-you-block.js.map +1 -0
  51. package/dist/contract/derive-free-feature.d.ts +2 -0
  52. package/dist/contract/derive-free-feature.d.ts.map +1 -1
  53. package/dist/contract/derive-free-feature.js +22 -0
  54. package/dist/contract/derive-free-feature.js.map +1 -1
  55. package/dist/decisions/legacy-waiver-migration.d.ts +2 -0
  56. package/dist/decisions/legacy-waiver-migration.d.ts.map +1 -1
  57. package/dist/decisions/legacy-waiver-migration.js +5 -2
  58. package/dist/decisions/legacy-waiver-migration.js.map +1 -1
  59. package/dist/exporters/csv-exporter.d.ts +11 -2
  60. package/dist/exporters/csv-exporter.d.ts.map +1 -1
  61. package/dist/exporters/csv-exporter.js +8 -4
  62. package/dist/exporters/csv-exporter.js.map +1 -1
  63. package/dist/exporters/matrix/export.d.ts +6 -1
  64. package/dist/exporters/matrix/export.d.ts.map +1 -1
  65. package/dist/exporters/matrix/export.js +11 -4
  66. package/dist/exporters/matrix/export.js.map +1 -1
  67. package/dist/exporters/xlsx-exporter.d.ts +3 -2
  68. package/dist/exporters/xlsx-exporter.d.ts.map +1 -1
  69. package/dist/exporters/xlsx-exporter.js +4 -4
  70. package/dist/exporters/xlsx-exporter.js.map +1 -1
  71. package/dist/graph/board-human-actions.d.ts +5 -0
  72. package/dist/graph/board-human-actions.d.ts.map +1 -0
  73. package/dist/graph/board-human-actions.js +83 -0
  74. package/dist/graph/board-human-actions.js.map +1 -0
  75. package/dist/graph/evaluate-graph.d.ts +18 -0
  76. package/dist/graph/evaluate-graph.d.ts.map +1 -1
  77. package/dist/graph/evaluate-graph.js +31 -6
  78. package/dist/graph/evaluate-graph.js.map +1 -1
  79. package/dist/graph/human-action.d.ts +21 -0
  80. package/dist/graph/human-action.d.ts.map +1 -0
  81. package/dist/graph/human-action.js +3 -0
  82. package/dist/graph/human-action.js.map +1 -0
  83. package/dist/graph/node-decl.d.ts +9 -0
  84. package/dist/graph/node-decl.d.ts.map +1 -1
  85. package/dist/graph/node-decl.js +4 -1
  86. package/dist/graph/node-decl.js.map +1 -1
  87. package/dist/graph/nodes/test-case-contract-nodes.d.ts.map +1 -1
  88. package/dist/graph/nodes/test-case-contract-nodes.js +16 -3
  89. package/dist/graph/nodes/test-case-contract-nodes.js.map +1 -1
  90. package/dist/graph/nodes/test-case-nodes.d.ts.map +1 -1
  91. package/dist/graph/nodes/test-case-nodes.js +16 -4
  92. package/dist/graph/nodes/test-case-nodes.js.map +1 -1
  93. package/dist/graph/nodes/unit-audit-nodes.d.ts.map +1 -1
  94. package/dist/graph/nodes/unit-audit-nodes.js +1 -0
  95. package/dist/graph/nodes/unit-audit-nodes.js.map +1 -1
  96. package/dist/graph/nodes/unit-contract-node.d.ts.map +1 -1
  97. package/dist/graph/nodes/unit-contract-node.js +8 -0
  98. package/dist/graph/nodes/unit-contract-node.js.map +1 -1
  99. package/dist/graph/unit-artifact-probes.d.ts.map +1 -1
  100. package/dist/graph/unit-artifact-probes.js +3 -1
  101. package/dist/graph/unit-artifact-probes.js.map +1 -1
  102. package/dist/harness/catalog/gate-rules.yaml +1 -1
  103. package/dist/harness/gates/audit-report-verification.d.ts +2 -0
  104. package/dist/harness/gates/audit-report-verification.d.ts.map +1 -1
  105. package/dist/harness/gates/audit-report-verification.js +8 -3
  106. package/dist/harness/gates/audit-report-verification.js.map +1 -1
  107. package/dist/harness/gates/delivery-checklist.d.ts.map +1 -1
  108. package/dist/harness/gates/delivery-checklist.js +9 -1
  109. package/dist/harness/gates/delivery-checklist.js.map +1 -1
  110. package/dist/harness/gates/in-run-decision-check.d.ts.map +1 -1
  111. package/dist/harness/gates/in-run-decision-check.js +10 -3
  112. package/dist/harness/gates/in-run-decision-check.js.map +1 -1
  113. package/dist/harness/journey.d.ts +21 -0
  114. package/dist/harness/journey.d.ts.map +1 -1
  115. package/dist/harness/journey.js +61 -11
  116. package/dist/harness/journey.js.map +1 -1
  117. package/dist/harness/next-step.d.ts +16 -0
  118. package/dist/harness/next-step.d.ts.map +1 -1
  119. package/dist/harness/next-step.js +14 -0
  120. package/dist/harness/next-step.js.map +1 -1
  121. package/dist/hooks/guard-tty-spoof-rule.d.ts +3 -2
  122. package/dist/hooks/guard-tty-spoof-rule.d.ts.map +1 -1
  123. package/dist/hooks/guard-tty-spoof-rule.js +2 -2
  124. package/dist/hooks/guard-tty-spoof-rule.js.map +1 -1
  125. package/dist/hooks/hand-back-core.d.ts +5 -2
  126. package/dist/hooks/hand-back-core.d.ts.map +1 -1
  127. package/dist/hooks/hand-back-core.js +10 -4
  128. package/dist/hooks/hand-back-core.js.map +1 -1
  129. package/dist/hooks/session-start-unit-state-hook.d.ts +2 -1
  130. package/dist/hooks/session-start-unit-state-hook.d.ts.map +1 -1
  131. package/dist/hooks/session-start-unit-state-hook.js +4 -1
  132. package/dist/hooks/session-start-unit-state-hook.js.map +1 -1
  133. package/dist/hooks/stop-next-step-hook.d.ts.map +1 -1
  134. package/dist/hooks/stop-next-step-hook.js +1 -0
  135. package/dist/hooks/stop-next-step-hook.js.map +1 -1
  136. package/dist/orchestrator/templates/ai-src/commands/delivery.md +2 -0
  137. package/dist/orchestrator/templates/ai-src/commands/review.md +2 -0
  138. package/dist/orchestrator/templates/ai-src/partials/waiting-for-you.claude.md +11 -0
  139. package/dist/orchestrator/templates/ai-src/partials/waiting-for-you.codex.md +11 -0
  140. package/dist/orchestrator/templates/ai-src/partials/waiting-for-you.copilot.md +11 -0
  141. package/package.json +3 -3
  142. package/src/cli/case-triage-hint.ts +31 -0
  143. package/src/cli/commands/contract-derive-command.ts +3 -1
  144. package/src/cli/commands/contract.ts +5 -2
  145. package/src/cli/commands/delivery.ts +49 -16
  146. package/src/cli/commands/gate.ts +2 -1
  147. package/src/cli/commands/generate.ts +13 -2
  148. package/src/cli/commands/journey.ts +4 -2
  149. package/src/cli/commands/next.ts +30 -9
  150. package/src/cli/commands/triage.ts +5 -3
  151. package/src/cli/commands/update.ts +6 -2
  152. package/src/cli/index.ts +4 -0
  153. package/src/cli/json-error-on-exit.ts +72 -0
  154. package/src/cli/project-sungen-invocation.ts +20 -0
  155. package/src/cli/run-command-hints.ts +47 -0
  156. package/src/cli/waiting-for-you-block.ts +27 -0
  157. package/src/contract/derive-free-feature.ts +21 -0
  158. package/src/decisions/legacy-waiver-migration.ts +5 -1
  159. package/src/exporters/csv-exporter.ts +12 -4
  160. package/src/exporters/matrix/export.ts +11 -4
  161. package/src/exporters/xlsx-exporter.ts +5 -4
  162. package/src/graph/board-human-actions.ts +80 -0
  163. package/src/graph/evaluate-graph.ts +39 -8
  164. package/src/graph/human-action.ts +33 -0
  165. package/src/graph/node-decl.ts +11 -0
  166. package/src/graph/nodes/test-case-contract-nodes.ts +20 -4
  167. package/src/graph/nodes/test-case-nodes.ts +19 -5
  168. package/src/graph/nodes/unit-audit-nodes.ts +2 -1
  169. package/src/graph/nodes/unit-contract-node.ts +12 -1
  170. package/src/graph/unit-artifact-probes.ts +3 -1
  171. package/src/harness/catalog/gate-rules.yaml +1 -1
  172. package/src/harness/gates/audit-report-verification.ts +7 -2
  173. package/src/harness/gates/delivery-checklist.ts +11 -1
  174. package/src/harness/gates/in-run-decision-check.ts +11 -4
  175. package/src/harness/journey.ts +79 -8
  176. package/src/harness/next-step.ts +27 -1
  177. package/src/hooks/guard-tty-spoof-rule.ts +5 -4
  178. package/src/hooks/hand-back-core.ts +11 -5
  179. package/src/hooks/session-start-unit-state-hook.ts +4 -1
  180. package/src/hooks/stop-next-step-hook.ts +1 -0
  181. package/src/orchestrator/templates/ai-src/commands/delivery.md +2 -0
  182. package/src/orchestrator/templates/ai-src/commands/review.md +2 -0
  183. package/src/orchestrator/templates/ai-src/partials/waiting-for-you.claude.md +11 -0
  184. package/src/orchestrator/templates/ai-src/partials/waiting-for-you.codex.md +11 -0
  185. package/src/orchestrator/templates/ai-src/partials/waiting-for-you.copilot.md +11 -0
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/exporters/matrix/export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/exporters/matrix/export.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@
13
13
  */
14
14
  import ExcelJS from 'exceljs';
15
15
  import { ApiCatalogEntry, ApiDetailRow, ScreenSummary, TestCaseRow } from './types';
16
+ import { DeliverableFileOptions } from './csv-exporter';
16
17
  import { addApiDetailSheet } from './xlsx-report-builder';
17
18
  export { addApiDetailSheet };
18
19
  /**
@@ -70,8 +71,8 @@ export declare function buildApiDetailRows(catalog: Record<string, ApiCatalogEnt
70
71
  * to force the base (no suffix) variant.
71
72
  */
72
73
  /** Where `writeXlsx` puts a unit's workbook — shared so a reader targets the identical file. */
73
- export declare function deliverableXlsxPath(cwd: string, screen: string, locale?: string | null): string;
74
- export declare function writeXlsx(cwd: string, screen: string, wb: ExcelJS.Workbook, locale?: string | null): Promise<string>;
74
+ export declare function deliverableXlsxPath(cwd: string, screen: string, locale?: string | null, opts?: DeliverableFileOptions): string;
75
+ export declare function writeXlsx(cwd: string, screen: string, wb: ExcelJS.Workbook, locale?: string | null, opts?: DeliverableFileOptions): Promise<string>;
75
76
  /**
76
77
  * Post-process the workbook buffer: extend `<a:picLocks>` on every drawing
77
78
  * with `noMove`, `noResize`, `noSelect`. Combined with the sheet protection
@@ -1 +1 @@
1
- {"version":3,"file":"xlsx-exporter.d.ts","sourceRoot":"","sources":["../../src/exporters/xlsx-exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAQpF,OAAO,EAIL,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACzC,uDAAuD;IACvD,IAAI,EAAE,YAAY,EAAE,CAAC;CACtB;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,WAAW,EAAE,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,QAAQ,CAMlB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,QAAQ,CAE5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACxC,SAAS,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GACnC,YAAY,EAAE,CAMhB;AAED;;;;GAIG;AACH;;;;GAIG;AACH,gGAAgG;AAChG,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE/F;AAED,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,OAAO,CAAC,QAAQ,EACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBxE"}
1
+ {"version":3,"file":"xlsx-exporter.d.ts","sourceRoot":"","sources":["../../src/exporters/xlsx-exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEpF,OAAO,EAAuB,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAM7E,OAAO,EAIL,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACzC,uDAAuD;IACvD,IAAI,EAAE,YAAY,EAAE,CAAC;CACtB;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,WAAW,EAAE,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,QAAQ,CAMlB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,QAAQ,CAE5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACxC,SAAS,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GACnC,YAAY,EAAE,CAMhB;AAED;;;;GAIG;AACH;;;;GAIG;AACH,gGAAgG;AAChG,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,GAAE,sBAA2B,GAAG,MAAM,CAElI;AAED,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,OAAO,CAAC,QAAQ,EACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,IAAI,GAAE,sBAA2B,GAChC,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBxE"}
@@ -98,11 +98,11 @@ function buildApiDetailRows(catalog, scenarios) {
98
98
  * to force the base (no suffix) variant.
99
99
  */
100
100
  /** Where `writeXlsx` puts a unit's workbook — shared so a reader targets the identical file. */
101
- function deliverableXlsxPath(cwd, screen, locale) {
102
- return path.join(cwd, 'qa', 'deliverables', `${(0, csv_exporter_1.deliverableBasename)(screen, locale)}.xlsx`);
101
+ function deliverableXlsxPath(cwd, screen, locale, opts = {}) {
102
+ return path.join(cwd, 'qa', 'deliverables', `${(0, csv_exporter_1.deliverableBasename)(screen, locale, opts)}.xlsx`);
103
103
  }
104
- async function writeXlsx(cwd, screen, wb, locale) {
105
- const outPath = deliverableXlsxPath(cwd, screen, locale);
104
+ async function writeXlsx(cwd, screen, wb, locale, opts = {}) {
105
+ const outPath = deliverableXlsxPath(cwd, screen, locale, opts);
106
106
  const outDir = path.dirname(outPath);
107
107
  if (!fs.existsSync(outDir))
108
108
  fs.mkdirSync(outDir, { recursive: true });
@@ -1 +1 @@
1
- {"version":3,"file":"xlsx-exporter.js","sourceRoot":"","sources":["../../src/exporters/xlsx-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xlsx-exporter.js","sourceRoot":"","sources":["../../src/exporters/xlsx-exporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { UnitState } from '../harness/next-step';
2
+ import type { HumanAction } from './human-action';
3
+ /** The board's and the delivery's asks of a human for this unit. `cut`: the frontier stopped at a blocking node. */
4
+ export declare function boardHumanActions(projectRoot: string, unitDir: string, s: UnitState, cut: boolean): HumanAction[];
5
+ //# sourceMappingURL=board-human-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"board-human-actions.d.ts","sourceRoot":"","sources":["../../src/graph/board-human-actions.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAiDlD,oHAAoH;AACpH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,GAAG,WAAW,EAAE,CASjH"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.boardHumanActions = boardHumanActions;
4
+ /**
5
+ * The human-only actions the graph does not hold ("Waiting for you", #954) — asked by the journey
6
+ * board and the delivery's decision check, read through THEIR functions (never restated here):
7
+ *
8
+ * waive a waiver the board re-surfaces: stale (the audit changed since) or untrusted (not
9
+ * in git HEAD) — readJourneyHumanAsks, the reconcile `runJourney` commits
10
+ * decide a gate-override that relaxes nothing because no human confirmed it (ineffective) —
11
+ * re-recorded with `journey --decide`, superseding it (loadUnitGateOverrides)
12
+ * signoff every other obligation holds — assertCanSignOff, as `journey --signoff` checks it
13
+ * accept-in-run a decision recorded during the run — evaluateDeliveryDecisions, as `delivery` runs it
14
+ * The sign-off and accept-in-run only once the frontier was not cut (the unit has run and nothing
15
+ * blocks before it). Read-only and advisory: whatever cannot be read adds nothing.
16
+ */
17
+ const human_confirmation_1 = require("../decisions/human-confirmation");
18
+ const legacy_waiver_migration_1 = require("../decisions/legacy-waiver-migration");
19
+ const delivery_decision_gate_1 = require("../harness/gates/delivery-decision-gate");
20
+ const in_run_decision_check_1 = require("../harness/gates/in-run-decision-check");
21
+ const unit_gate_overrides_1 = require("../harness/gates/unit-gate-overrides");
22
+ const journey_1 = require("../harness/journey");
23
+ const unit_artifact_probes_1 = require("./unit-artifact-probes");
24
+ function journeyActions(projectRoot, s, cut) {
25
+ const asks = (0, journey_1.readJourneyHumanAsks)(projectRoot, s.unit);
26
+ const out = asks.redecide.map((w) => ({
27
+ kind: 'waive',
28
+ command: (0, legacy_waiver_migration_1.waiveCommand)(s.unit, w.obligation, w.reason),
29
+ reason: w.why === 'stale'
30
+ ? `the waiver on "${w.title}" is stale — the evidence changed since it was given, so it no longer counts; if it still holds, a human gives it again on a terminal (or repair the obligation)`
31
+ : `the waiver on "${w.title}" is not in git HEAD (decision.in-run), so it is not counted — if it is yours, confirm it on a terminal`,
32
+ }));
33
+ if (!cut && asks.canSignOff && asks.signoff.status !== 'given') {
34
+ out.push({
35
+ kind: 'signoff',
36
+ command: (0, journey_1.signoffCommand)(s.unit),
37
+ reason: asks.signoff.status === 'stale'
38
+ ? `the sign-off of ${asks.signoff.at} is stale — the suite changed since; review the queue (\`sungen journey --screen ${s.unit}\`) and sign off again`
39
+ : `every other obligation is satisfied or waived — the human sign-off is the one gate \`sungen gate --phase deliver\` still waits on; review the queue (\`sungen journey --screen ${s.unit}\`, ${asks.report.needsYou.length} item(s)), then sign`,
40
+ });
41
+ }
42
+ return out;
43
+ }
44
+ function unconfirmedOverrides(projectRoot, unitDir, s) {
45
+ return (0, unit_gate_overrides_1.loadUnitGateOverrides)(projectRoot, (0, unit_gate_overrides_1.unitScopeOfDir)(projectRoot, unitDir)).ineffective.map((o) => {
46
+ const { humanAccepted: _ignored, ...payload } = o.entry.payload ?? {};
47
+ return {
48
+ kind: 'decide',
49
+ command: (0, human_confirmation_1.formatCommand)(['sungen', 'journey', '--screen', s.unit, '--decide', 'gate-override', '--text', o.entry.text, '--reason', o.entry.reason,
50
+ '--payload', JSON.stringify(payload), '--supersedes', o.decisionId]),
51
+ reason: `the gate-override ${o.decisionId}${o.rule ? ` (${o.rule})` : ''} relaxes nothing: ${o.reason} — if it is meant, a human records it again on a terminal, superseding it`,
52
+ };
53
+ });
54
+ }
55
+ function inRunActions(projectRoot, unitDir, s) {
56
+ const files = (0, unit_artifact_probes_1.unitResultFiles)(projectRoot, s.unit);
57
+ const refs = (files.length ? files : [null]).map((resultsPath) => ({ label: s.unit, unitName: s.unit, unitDir, resultsPath }));
58
+ const inRun = (0, delivery_decision_gate_1.evaluateDeliveryDecisions)(projectRoot, refs).inRun;
59
+ if (!inRun.length)
60
+ return [];
61
+ const which = inRun.slice(0, 3).map((d) => `${d.kind} ${d.id}`).join(', ');
62
+ return [{
63
+ kind: 'accept-in-run',
64
+ command: (0, human_confirmation_1.formatCommand)(['sungen', 'delivery', s.unit, '--accept-in-run']),
65
+ reason: `${inRun.length} decision(s) recorded during the run (${in_run_decision_check_1.IN_RUN_RULE}): ${which}${inRun.length > 3 ? ', …' : ''} — \`sungen delivery\` refuses them until they are committed through review and the tests re-run, or a human accepts them on a terminal`,
66
+ }];
67
+ }
68
+ /** The board's and the delivery's asks of a human for this unit. `cut`: the frontier stopped at a blocking node. */
69
+ function boardHumanActions(projectRoot, unitDir, s, cut) {
70
+ const out = [];
71
+ const add = (read) => {
72
+ try {
73
+ out.push(...read());
74
+ }
75
+ catch { /* advisory: an unreadable board or decision adds nothing */ }
76
+ };
77
+ add(() => journeyActions(projectRoot, s, cut));
78
+ add(() => unconfirmedOverrides(projectRoot, unitDir, s));
79
+ if (!cut)
80
+ add(() => inRunActions(projectRoot, unitDir, s));
81
+ return out;
82
+ }
83
+ //# sourceMappingURL=board-human-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"board-human-actions.js","sourceRoot":"","sources":["../../src/graph/board-human-actions.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,12 @@
11
11
  * `--case <id>` (`testCase` option): the frontier is that case's test-case nodes plus the blocking
12
12
  * unit nodes before them; non-blocking unit advice is left to the unit view. A `caseOnly` test-case
13
13
  * node speaks only there (its unit-level decision is in the unit view already).
14
+ *
15
+ * evaluateHumanActions reads the SAME walk for "Waiting for you" (#954): the human-only actions behind
16
+ * the offered steps, and whether the walk was cut.
14
17
  */
15
18
  import type { NextStep, UnitState } from '../harness/next-step';
19
+ import type { HumanAction } from './human-action';
16
20
  import type { NodeDecl } from './node-decl';
17
21
  import type { TestCaseState } from './test-case-state-shape';
18
22
  export interface EvaluateOptions {
@@ -20,4 +24,18 @@ export interface EvaluateOptions {
20
24
  testCase?: string;
21
25
  }
22
26
  export declare function evaluateGraph(nodes: readonly NodeDecl[], s: UnitState, tcStates?: TestCaseState[], opts?: EvaluateOptions): NextStep[];
27
+ /**
28
+ * The HUMAN-ONLY actions of the same frontier ("Waiting for you", #954) — never a second walk with
29
+ * rules of its own: each offered step's node says what a person runs (its `human` hook), and a decide
30
+ * step without one is its own command. `cut`: an open blocking node ended the walk, so only what does
31
+ * not depend on it is offered (a hard verdict that surfaces past the cut), and the board's asks that
32
+ * need the unit past it (sign-off, accept-in-run) wait; `heldBy` is that node's title and `heldByCommand`
33
+ * its offered step's command (#966: "More appear once …" names what to run).
34
+ */
35
+ export declare function evaluateHumanActions(nodes: readonly NodeDecl[], s: UnitState, tcStates?: TestCaseState[]): {
36
+ actions: HumanAction[];
37
+ cut: boolean;
38
+ heldBy?: string;
39
+ heldByCommand?: string;
40
+ };
23
41
  //# sourceMappingURL=evaluate-graph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate-graph.d.ts","sourceRoot":"","sources":["../../src/graph/evaluate-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAkBD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,QAAQ,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,aAAa,EAAE,EAAE,IAAI,GAAE,eAAoB,GAC/F,QAAQ,EAAE,CAwBZ"}
1
+ {"version":3,"file":"evaluate-graph.d.ts","sourceRoot":"","sources":["../../src/graph/evaluate-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAkDD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,QAAQ,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,aAAa,EAAE,EAAE,IAAI,GAAE,eAAoB,GAC/F,QAAQ,EAAE,CAEZ;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,aAAa,EAAE,GAAG;IAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAO5L"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.evaluateGraph = evaluateGraph;
4
+ exports.evaluateHumanActions = evaluateHumanActions;
4
5
  function withMeta(node, core, testCase) {
5
6
  return {
6
7
  ...core,
@@ -16,17 +17,20 @@ function openCases(node, s, tcStates, only) {
16
17
  return [];
17
18
  return tcStates.filter((tc) => (!only || tc.id === only) && node.active(s, tc) && !node.satisfied(s, tc));
18
19
  }
19
- function evaluateGraph(nodes, s, tcStates, opts = {}) {
20
+ /** The walk both answers share: the offered steps in rank order, and whether an open blocking node cut it. */
21
+ function walkFrontier(nodes, s, tcStates, opts) {
20
22
  const ordered = [...nodes].sort((a, b) => a.rank - b.rank);
21
23
  const open = new Set();
22
- const out = [];
24
+ const offered = [];
23
25
  let cut = false;
26
+ let cutBy;
24
27
  for (const node of ordered) {
25
28
  if (!node.appliesTo.includes(s.kind) || (node.granularity === 'test-case' && node.caseOnly && !opts.testCase))
26
29
  continue;
27
30
  if (cut && !node.surfacesPastCut)
28
31
  continue;
29
32
  let step = null;
33
+ let cases = [];
30
34
  if (node.granularity === 'unit') {
31
35
  if (!node.active(s) || node.satisfied(s) || (cut && !node.surfacesPastCut(s)))
32
36
  continue;
@@ -34,7 +38,7 @@ function evaluateGraph(nodes, s, tcStates, opts = {}) {
34
38
  step = withMeta(node, node.step(s));
35
39
  }
36
40
  else {
37
- const cases = openCases(node, s, tcStates, opts.testCase).filter((tc) => !cut || node.surfacesPastCut(s, tc));
41
+ cases = openCases(node, s, tcStates, opts.testCase).filter((tc) => !cut || node.surfacesPastCut(s, tc));
38
42
  if (!cases.length)
39
43
  continue;
40
44
  const single = Boolean(opts.testCase);
@@ -43,10 +47,31 @@ function evaluateGraph(nodes, s, tcStates, opts = {}) {
43
47
  open.add(node.id);
44
48
  const ready = node.requires.every((r) => !open.has(r));
45
49
  if (step && (cut || ready || !node.blocking))
46
- out.push(step);
47
- if (node.blocking && !cut)
50
+ offered.push({ node, step, cases });
51
+ if (node.blocking && !cut) {
48
52
  cut = true;
53
+ cutBy = node;
54
+ }
49
55
  }
50
- return out;
56
+ return { offered, cut, ...(cutBy ? { cutBy } : {}) };
57
+ }
58
+ function evaluateGraph(nodes, s, tcStates, opts = {}) {
59
+ return walkFrontier(nodes, s, tcStates, opts).offered.map((o) => o.step);
60
+ }
61
+ /**
62
+ * The HUMAN-ONLY actions of the same frontier ("Waiting for you", #954) — never a second walk with
63
+ * rules of its own: each offered step's node says what a person runs (its `human` hook), and a decide
64
+ * step without one is its own command. `cut`: an open blocking node ended the walk, so only what does
65
+ * not depend on it is offered (a hard verdict that surfaces past the cut), and the board's asks that
66
+ * need the unit past it (sign-off, accept-in-run) wait; `heldBy` is that node's title and `heldByCommand`
67
+ * its offered step's command (#966: "More appear once …" names what to run).
68
+ */
69
+ function evaluateHumanActions(nodes, s, tcStates) {
70
+ const { offered, cut, cutBy } = walkFrontier(nodes, s, tcStates, {});
71
+ const actions = offered.flatMap(({ node, step, cases }) => (node.human
72
+ ? node.human(s, step, cases)
73
+ : step.kind === 'decide' ? [{ command: step.command, reason: step.because, kind: 'decide' }] : []));
74
+ const heldByCommand = cutBy ? offered.find((o) => o.node === cutBy)?.step.command : undefined;
75
+ return { actions, cut, ...(cutBy ? { heldBy: cutBy.title } : {}), ...(heldByCommand ? { heldByCommand } : {}) };
51
76
  }
52
77
  //# sourceMappingURL=evaluate-graph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate-graph.js","sourceRoot":"","sources":["../../src/graph/evaluate-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluate-graph.js","sourceRoot":"","sources":["../../src/graph/evaluate-graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * A HUMAN-ONLY action of a unit — what `sungen next` lists under "Waiting for you" (#954) and `--json`
3
+ * carries as `humanActions`. An agent presents these and never runs them: they approve, sign, waive,
4
+ * classify or accept something on a person's behalf, and most refuse without a typed confirmation.
5
+ *
6
+ * `command` is canonical (`sungen …`, or a slash command); the text renders it as the project runs
7
+ * sungen (`npx sungen` with a local install). Placeholders a human fills are quoted (`"<name>"`, `"…"`)
8
+ * so a copied command never turns into a shell redirection.
9
+ */
10
+ export type HumanActionKind = 'contract-approve' | 'accept-opaque' | 'contract-commit' | 'contract-review' | 'accept-viewpoint' | 'defect-draft' | 'rerun-environment' | 'triage-classify' | 'signoff' | 'waive' | 'decide' | 'accept-in-run';
11
+ export interface HumanAction {
12
+ command: string;
13
+ reason: string;
14
+ kind: HumanActionKind;
15
+ /**
16
+ * `command` is an instruction a person carries out by hand (commit through review, restore from git),
17
+ * not a command line to copy — the block marks it so, and never renders it as one.
18
+ */
19
+ instruction?: true;
20
+ }
21
+ //# sourceMappingURL=human-action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"human-action.d.ts","sourceRoot":"","sources":["../../src/graph/human-action.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GACvB,kBAAkB,GAClB,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,cAAc,GACd,mBAAmB,GACnB,iBAAiB,GACjB,SAAS,GACT,OAAO,GACP,QAAQ,GACR,eAAe,CAAC;AAEpB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,eAAe,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=human-action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"human-action.js","sourceRoot":"","sources":["../../src/graph/human-action.ts"],"names":[],"mappings":""}
@@ -11,6 +11,7 @@
11
11
  * `sungen next <unit> --case <id>`).
12
12
  */
13
13
  import type { NextStep, UnitState } from '../harness/next-step';
14
+ import type { HumanAction, HumanActionKind } from './human-action';
14
15
  import type { TestCaseState } from './test-case-state-shape';
15
16
  export type NodeActor = 'ai' | 'human' | 'deterministic';
16
17
  export type NodeGranularity = 'unit' | 'test-case';
@@ -32,7 +33,15 @@ interface NodeDeclBase {
32
33
  gates: readonly string[];
33
34
  /** Artifacts the step produces, for a reader of the graph. */
34
35
  produces: readonly string[];
36
+ /**
37
+ * The HUMAN-ONLY actions behind an offered step ("Waiting for you", #954): what a person runs, with
38
+ * why. Without it a `decide` step is one action of kind `decide` and any other step is none. `cases`
39
+ * are the cases open at a test-case node (none for a unit node).
40
+ */
41
+ human?(s: UnitState, step: StepCore, cases: TestCaseState[]): HumanAction[];
35
42
  }
43
+ /** The `human` hook of a node whose decide step IS the human action: its command and reason, under `kind`. */
44
+ export declare const humanStep: (kind: HumanActionKind) => (_s: UnitState, step: StepCore) => HumanAction[];
36
45
  export interface UnitNodeDecl extends NodeDeclBase {
37
46
  granularity: 'unit';
38
47
  active(s: UnitState): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"node-decl.d.ts","sourceRoot":"","sources":["../../src/graph/node-decl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,eAAe,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,CAAC;AACnD,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAEzC,kGAAkG;AAClG,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;AAEtE,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC/B,mGAAmG;IACnG,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,8DAA8D;IAC9D,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACjC,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7B;;;OAGG;IACH,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,WAAW,EAAE,WAAW,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC;IACjD,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC;IACpD,0GAA0G;IAC1G,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IACtE,4EAA4E;IAC5E,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC;CAC5D;AAED,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,gBAAgB,CAAC;AAEvD,iEAAiE;AACjE,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,KAAG,MAA6E,CAAC;AAE3H,eAAO,MAAM,SAAS,EAAE,SAAS,QAAQ,EAA8B,CAAC"}
1
+ {"version":3,"file":"node-decl.d.ts","sourceRoot":"","sources":["../../src/graph/node-decl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,eAAe,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,CAAC;AACnD,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAEzC,kGAAkG;AAClG,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;AAEtE,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC/B,mGAAmG;IACnG,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,8DAA8D;IAC9D,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B;;;;OAIG;IACH,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,CAAC;CAC7E;AAED,8GAA8G;AAC9G,eAAO,MAAM,SAAS,GAAI,MAAM,eAAe,MAAM,IAAI,SAAS,EAAE,MAAM,QAAQ,KAAG,WAAW,EACvC,CAAC;AAE1D,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACjC,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7B;;;OAGG;IACH,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,WAAW,EAAE,WAAW,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC;IACjD,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC;IACpD,0GAA0G;IAC1G,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IACtE,4EAA4E;IAC5E,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC;CAC5D;AAED,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,gBAAgB,CAAC;AAEvD,iEAAiE;AACjE,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,KAAG,MAA6E,CAAC;AAE3H,eAAO,MAAM,SAAS,EAAE,SAAS,QAAQ,EAA8B,CAAC"}
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ALL_KINDS = exports.unitKindDir = void 0;
3
+ exports.ALL_KINDS = exports.unitKindDir = exports.humanStep = void 0;
4
+ /** The `human` hook of a node whose decide step IS the human action: its command and reason, under `kind`. */
5
+ const humanStep = (kind) => (_s, step) => [{ command: step.command, reason: step.because, kind }];
6
+ exports.humanStep = humanStep;
4
7
  /** `qa/<dir>/<unit>` for the unit kind, as the steps name it. */
5
8
  const unitKindDir = (kind) => (kind === 'screen' ? 'screens' : kind === 'flow' ? 'flows' : 'api');
6
9
  exports.unitKindDir = unitKindDir;
@@ -1 +1 @@
1
- {"version":3,"file":"node-decl.js","sourceRoot":"","sources":["../../src/graph/node-decl.ts"],"names":[],"mappings":";;;AAoEA,iEAAiE;AAC1D,MAAM,WAAW,GAAG,CAAC,IAAc,EAAU,EAAE,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAA9G,QAAA,WAAW,eAAmG;AAE9G,QAAA,SAAS,GAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"node-decl.js","sourceRoot":"","sources":["../../src/graph/node-decl.ts"],"names":[],"mappings":";;;AA8CA,8GAA8G;AACvG,MAAM,SAAS,GAAG,CAAC,IAAqB,EAAE,EAAE,CAAC,CAAC,EAAa,EAAE,IAAc,EAAiB,EAAE,CACnG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAD7C,QAAA,SAAS,aACoC;AA+B1D,iEAAiE;AAC1D,MAAM,WAAW,GAAG,CAAC,IAAc,EAAU,EAAE,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAA9G,QAAA,WAAW,eAAmG;AAE9G,QAAA,SAAS,GAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"test-case-contract-nodes.d.ts","sourceRoot":"","sources":["../../../src/graph/nodes/test-case-contract-nodes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAuB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAsCrE,eAAO,MAAM,wBAAwB,EAAE,SAAS,gBAAgB,EAiB/D,CAAC"}
1
+ {"version":3,"file":"test-case-contract-nodes.d.ts","sourceRoot":"","sources":["../../../src/graph/nodes/test-case-contract-nodes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAkC,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAqDhF,eAAO,MAAM,wBAAwB,EAAE,SAAS,gBAAgB,EAkB/D,CAAC"}
@@ -27,7 +27,7 @@ const classOf = (tc) => tc.contract?.class;
27
27
  /** Up to three cases with the finding behind each. */
28
28
  const withDetail = (cases) => `${cases.slice(0, 3).map((c) => (c.contract?.detail ? `${c.id}: ${c.contract.detail}` : c.id)).join('; ')}${cases.length > 3 ? '; …' : ''}`;
29
29
  const check = (s, trace = false) => `sungen contract check --screen ${s.unit}${trace ? ' --trace' : ''}`;
30
- function contractNode(id, rank, title, actor, gates, caseOnly, active, step, hard) {
30
+ function contractNode(id, rank, title, actor, gates, caseOnly, active, step, hard, human) {
31
31
  return {
32
32
  id, title, actor, granularity: 'test-case', appliesTo: node_decl_1.ALL_KINDS, blocking: false, rank, gates, step,
33
33
  requires: caseOnly ? ['unit.gate-fail'] : ['unit.run'], produces: ['contracts.lock.yaml', 'decisions/<id>.yaml'],
@@ -35,8 +35,21 @@ function contractNode(id, rank, title, actor, gates, caseOnly, active, step, har
35
35
  active: (_s, tc) => active(tc),
36
36
  satisfied: (_s, tc) => (0, test_case_satisfied_1.exemptionOf)(tc) !== null,
37
37
  ...(hard ? { surfacesPastCut: (_s, tc) => hard(tc) } : {}),
38
+ ...(human ? { human } : {}),
38
39
  };
39
40
  }
41
+ /**
42
+ * An opaque step is cleared by a QA accepting it as it reads now, never by re-approving (#923): one
43
+ * `--accept-opaque` per case whose only hold is the opaque step. A case held by a `low` identity is
44
+ * not acceptable yet (`contract check --trace` resolves it first), so it is not offered (#954).
45
+ */
46
+ function acceptOpaque(s, _step, cases) {
47
+ return cases.filter((c) => classOf(c) === 'opaque' && !c.contract?.lowIdentity).map((c) => ({
48
+ kind: 'accept-opaque',
49
+ command: `sungen contract approve --screen ${s.unit} --scenario ${c.id} --accept-opaque`,
50
+ reason: `${c.id} carries a step sungen cannot compare${c.contract?.detail ? ` (${c.contract.detail})` : ''} — a QA reviews it verbatim with its file:line in \`${check(s)}\`, then accepts it as it reads now; until then the contract is in review and \`sungen delivery\` waits`,
51
+ }));
52
+ }
40
53
  const conformanceStep = (s, cases) => {
41
54
  const low = cases.filter((c) => c.contract?.lowIdentity);
42
55
  if (low.length) {
@@ -49,11 +62,11 @@ const conformanceStep = (s, cases) => {
49
62
  return { kind: 'decide', command: check(s), because: `${cases.length} free / impl:code test case(s) carry a step sungen cannot compare (${withDetail(cases)}) — a QA reviews it in \`sungen contract check\`; until then the contract is in review and \`sungen delivery\` waits. An agent presents this and never approves it` };
50
63
  };
51
64
  exports.TEST_CASE_CONTRACT_NODES = [
52
- contractNode('tc.contract-approve', 106, 'Re-approve this changed case', 'human', ['contract.hash-changed'], true, (tc) => classOf(tc) === 'hash-changed' && !tc.contract?.uncommitted, (s, [c]) => ({ kind: 'decide', command: `sungen contract approve --screen ${s.unit} --scenario ${c.id}`, because: `this case changed since QA approved it, not weaker${c.contract?.detail ? ` (${c.contract.detail})` : ''} — a QA re-approves this scenario on a terminal; until then review blocks \`sungen delivery\`. An agent presents it and never approves its own edit` })),
65
+ contractNode('tc.contract-approve', 106, 'Re-approve this changed case', 'human', ['contract.hash-changed'], true, (tc) => classOf(tc) === 'hash-changed' && !tc.contract?.uncommitted, (s, [c]) => ({ kind: 'decide', command: `sungen contract approve --screen ${s.unit} --scenario ${c.id}`, because: `this case changed since QA approved it, not weaker${c.contract?.detail ? ` (${c.contract.detail})` : ''} — a QA re-approves this scenario on a terminal; until then review blocks \`sungen delivery\`. An agent presents it and never approves its own edit` }), undefined, (0, node_decl_1.humanStep)('contract-approve')),
53
66
  contractNode('tc.contract-check', 107, 'Restore the approved check of this case', 'human', ['contract.oracle-weakened', 'contract.target-changed', 'contract.assertion-lost', 'contract.lock-uncommitted'], true, (tc) => Boolean(tc.contract?.uncommitted) || HARD_LADDER.has(classOf(tc) ?? ''), (s, [c]) => ({ kind: 'blocked', command: check(s), because: c.contract?.uncommitted
54
67
  ? `its lock entry is not what QA approved and committed (contract.lock-uncommitted) — \`sungen next ${s.unit}\` names the repair; \`sungen delivery\` is blocked until then`
55
68
  : `this case breaks its approved contract (${c.contract?.class}${c.contract?.detail ? `: ${c.contract.detail}` : ''}) — restore the approved check (in the .feature, or in the hand-written test of a free / impl:code case), or a QA approves the change on a terminal (\`sungen contract approve --screen ${s.unit} --scenario ${c.id}\`). \`sungen delivery\` is blocked until then; never weaken an expected value to go green` }), (tc) => Boolean(tc.contract?.uncommitted) || HARD_LADDER.has(classOf(tc) ?? '')),
56
69
  contractNode('tc.unproven', 136, 'Prove the approved free cases with a trace', 'ai', ['contract.unproven'], false, (tc) => classOf(tc) === 'unproven', (s, cases) => ({ kind: 'do', command: `/sungen:run-test ${s.unit}${(0, test_case_nodes_1.idsArg)(cases)}`, because: `${cases.length} approved free / impl:code test case(s) have no trace that proves them (${withDetail(cases)}) — run them again with trace: 'on' and the sungen run-record reporter (run-test Phase 4 does), then \`${check(s, true)}\`. Until then \`sungen contract check\` fails (contract.unproven) and \`sungen delivery\` is blocked; re-approving or editing the .feature cannot prove them` }), (tc) => classOf(tc) === 'unproven'),
57
- contractNode('tc.conformance', 138, 'Settle the traces in review', 'ai', ['contract.opaque-step', 'contract.inconclusive'], false, (tc) => classOf(tc) === 'opaque' || classOf(tc) === 'inconclusive', conformanceStep),
70
+ contractNode('tc.conformance', 138, 'Settle the traces in review', 'ai', ['contract.opaque-step', 'contract.inconclusive'], false, (tc) => classOf(tc) === 'opaque' || classOf(tc) === 'inconclusive', conformanceStep, undefined, acceptOpaque),
58
71
  ];
59
72
  //# sourceMappingURL=test-case-contract-nodes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-case-contract-nodes.js","sourceRoot":"","sources":["../../../src/graph/nodes/test-case-contract-nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-case-contract-nodes.js","sourceRoot":"","sources":["../../../src/graph/nodes/test-case-contract-nodes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test-case-nodes.d.ts","sourceRoot":"","sources":["../../../src/graph/nodes/test-case-nodes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAuB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAI9D,eAAO,MAAM,MAAM,GAAI,OAAO,aAAa,EAAE,KAAG,MAA4F,CAAC;AAC7I,sFAAsF;AACtF,eAAO,MAAM,MAAM,GAAI,OAAO,aAAa,EAAE,KAAG,MACoE,CAAC;AAgBrH,eAAO,MAAM,eAAe,EAAE,SAAS,gBAAgB,EAoCtD,CAAC;AAEF,oGAAoG;AACpG,eAAO,MAAM,cAAc,GAAI,GAAG,SAAS,KAAG,MACwD,CAAC;AAEvG,8GAA8G;AAC9G,eAAO,MAAM,gBAAgB,GAAI,GAAG,SAAS,KAAG,MAAsE,CAAC"}
1
+ {"version":3,"file":"test-case-nodes.d.ts","sourceRoot":"","sources":["../../../src/graph/nodes/test-case-nodes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAkC,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAI9D,eAAO,MAAM,MAAM,GAAI,OAAO,aAAa,EAAE,KAAG,MAA4F,CAAC;AAC7I,sFAAsF;AACtF,eAAO,MAAM,MAAM,GAAI,OAAO,aAAa,EAAE,KAAG,MACoE,CAAC;AA6BrH,eAAO,MAAM,eAAe,EAAE,SAAS,gBAAgB,EAoCtD,CAAC;AAEF,oGAAoG;AACpG,eAAO,MAAM,cAAc,GAAI,GAAG,SAAS,KAAG,MACwD,CAAC;AAEvG,8GAA8G;AAC9G,eAAO,MAAM,gBAAgB,GAAI,GAAG,SAAS,KAAG,MAAsE,CAAC"}
@@ -29,14 +29,26 @@ exports.idsArg = idsArg;
29
29
  const flag = (s) => (s.kind === 'api' ? '--api' : '--screen');
30
30
  /** Up to three cases with the triage rule that judged each. */
31
31
  const withRule = (cases) => `${cases.slice(0, 3).map((c) => `${c.id}: ${c.triage?.ruleId}`).join('; ')}${cases.length > 3 ? '; …' : ''}`;
32
- function caseNode(id, need, rank, title, actor, step, produces) {
32
+ function caseNode(id, need, rank, title, actor, step, produces, human) {
33
33
  return {
34
34
  id, title, actor, granularity: 'test-case', appliesTo: node_decl_1.ALL_KINDS, requires: ['unit.run'], blocking: false, rank,
35
35
  gates: [], produces, step,
36
36
  active: (_s, tc) => (0, test_case_satisfied_1.triggerOf)(tc) === need,
37
37
  satisfied: (_s, tc) => (0, test_case_satisfied_1.exemptionOf)(tc) !== null,
38
+ ...(human ? { human } : {}),
38
39
  };
39
40
  }
41
+ /**
42
+ * A red triage left unclassified is a human's to classify (#928): test-defect and environment take it
43
+ * off the product-defect path, so they need a person on a terminal. One action per such case (#954).
44
+ */
45
+ function classifyByHand(s, _step, cases) {
46
+ return cases.filter((c) => c.triage?.class === 'unclassified').map((c) => ({
47
+ kind: 'triage-classify',
48
+ command: `sungen triage ${flag(s)} ${s.unit} --case ${c.id} --as "<test-defect|environment>" --reason "…"`,
49
+ reason: `${c.id} failed and \`sungen triage\` left it unclassified — read its evidence (trace, error), then classify it: test-defect or environment take it off the product-defect path, so a human types them on a terminal (\`--as product\` anyone may record)`,
50
+ }));
51
+ }
40
52
  exports.TEST_CASE_NODES = [
41
53
  caseNode('tc.run', 'run', 131, 'Run the cases that never ran', 'ai', (s, cases) => ({
42
54
  kind: 'do',
@@ -55,19 +67,19 @@ exports.TEST_CASE_NODES = [
55
67
  command: `sungen triage ${flag(s)} ${s.unit}`,
56
68
  because: `${cases.length} test case(s) failed in the latest run and are not classified yet${left ? ` (${left} left unclassified by the last triage — read its evidence and classify by hand: \`sungen triage ${flag(s)} ${s.unit} --case <id> --as product|test-defect|environment --reason "…"\`; test-defect and environment are a human's call, on a terminal)` : ''} — classify each (known defect, test defect, environment, product candidate) before exporting or extending: an unexplained red in the deliverable is a finding nobody has judged`,
57
69
  };
58
- }, ['.sungen/triage/<unit>.json']),
70
+ }, ['.sungen/triage/<unit>.json'], classifyByHand),
59
71
  caseNode('tc.product-candidate', 'product-candidate', 134, 'Decide on the product-defect candidates', 'human', (s, cases, single) => ({
60
72
  kind: 'decide',
61
73
  command: `sungen defect draft ${flag(s)} ${s.unit}${single ? ` --scenario ${cases[0].id}` : ''}`,
62
74
  because: `${cases.length} red test case(s) look like a product defect (${(0, exports.listed)(cases)}) — the app answered and the answer differs from the oracle. A QA decides whether it is a defect to record; an agent presents it and does not draft it on its own`,
63
- }), ['qa/defects/DEF-<n>-<slug>.md']),
75
+ }), ['qa/defects/DEF-<n>-<slug>.md'], (0, node_decl_1.humanStep)('defect-draft')),
64
76
  // decide, not do: an agent re-running into an environment that is still down gets the same red and
65
77
  // the same step again — a loop with no stop. A human confirms the environment first (#928 review W3).
66
78
  caseNode('tc.rerun-environment', 'rerun-environment', 139, 'Re-run the cases the environment failed, once it is up', 'human', (s, cases) => ({
67
79
  kind: 'decide',
68
80
  command: `/sungen:run-test ${s.unit}${(0, exports.idsArg)(cases)}`,
69
81
  because: `${cases.length} red test case(s) failed on the environment, not the app (${withRule(cases)}) — the run never reached a usable app, so their results say nothing about it yet. A human confirms the app, base URL, network, auth state or device is up, then they are re-run; an agent presents this and does not re-run on its own — into an environment that is still down, the same red comes back`,
70
- }), ['specs/generated/<unit>/<unit>-test-result.json']),
82
+ }), ['specs/generated/<unit>/<unit>-test-result.json'], (0, node_decl_1.humanStep)('rerun-environment')),
71
83
  caseNode('tc.fix-test', 'fix-test', 139.5, 'Fix the tests triaged as test defects', 'ai', (s, cases) => ({
72
84
  kind: 'do',
73
85
  command: `/sungen:run-test ${s.unit}${(0, exports.idsArg)(cases)}`,
@@ -1 +1 @@
1
- {"version":3,"file":"test-case-nodes.js","sourceRoot":"","sources":["../../../src/graph/nodes/test-case-nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-case-nodes.js","sourceRoot":"","sources":["../../../src/graph/nodes/test-case-nodes.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,4CAAgF;AAIhF,gEAA8E;AAE9E,MAAM,OAAO,GAAG,EAAE,CAAC;AACZ,MAAM,MAAM,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAAhI,QAAA,MAAM,UAA0H;AAC7I,sFAAsF;AAC/E,MAAM,MAAM,GAAG,CAAC,KAAsB,EAAU,EAAE,CACvD,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AADxG,QAAA,MAAM,UACkG;AACrH,MAAM,IAAI,GAAG,CAAC,CAAY,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AACjF,+DAA+D;AAC/D,MAAM,QAAQ,GAAG,CAAC,KAAsB,EAAU,EAAE,CAClD,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAE/G,SAAS,QAAQ,CAAC,EAAU,EAAE,IAAkB,EAAE,IAAY,EAAE,KAAa,EAAE,KAAgC,EAC7G,IAAyE,EAAE,QAAkB,EAAE,KAAiC;IAChI,OAAO;QACL,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,qBAAS,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI;QAC/G,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI;QACzB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAA,+BAAS,EAAC,EAAE,CAAC,KAAK,IAAI;QAC1C,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAA,iCAAW,EAAC,EAAE,CAAC,KAAK,IAAI;QAC/C,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,CAAY,EAAE,KAAe,EAAE,KAAsB;IAC3E,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,KAAK,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzE,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,iBAAiB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,EAAE,gDAAgD;QAC1G,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,mPAAmP;KACnQ,CAAC,CAAC,CAAC;AACN,CAAC;AAEY,QAAA,eAAe,GAAgC;IAC1D,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAClF,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,oBAAoB,CAAC,CAAC,IAAI,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,EAAE;QACrD,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,iCAAiC,IAAA,cAAM,EAAC,KAAK,CAAC,gDAAgD;KACvH,CAAC,EAAE,CAAC,gDAAgD,CAAC,CAAC;IACvD,QAAQ,CAAC,gBAAgB,EAAE,aAAa,EAAE,GAAG,EAAE,+CAA+C,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3H,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,MAAM,IAAI,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,gBAAgB;QAC5H,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,mEAAmE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,kDAAkD;KAC5O,CAAC,EAAE,CAAC,gDAAgD,EAAE,kCAAkC,CAAC,CAAC;IAC3F,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,wBAAwB,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QAC3F,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,KAAK,cAAc,CAAC,CAAC,MAAM,CAAC;QAC5E,OAAO;YACL,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,iBAAiB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;YAC7C,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,oEAAoE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,mGAAmG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,kIAAkI,CAAC,CAAC,CAAC,EAAE,kLAAkL;SAC1hB,CAAC;IACJ,CAAC,EAAE,CAAC,4BAA4B,CAAC,EAAE,cAAc,CAAC;IAClD,QAAQ,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,GAAG,EAAE,yCAAyC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACpI,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,uBAAuB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QAChG,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,iDAAiD,IAAA,cAAM,EAAC,KAAK,CAAC,mKAAmK;KAC1P,CAAC,EAAE,CAAC,8BAA8B,CAAC,EAAE,IAAA,qBAAS,EAAC,cAAc,CAAC,CAAC;IAChE,mGAAmG;IACnG,sGAAsG;IACtG,QAAQ,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,GAAG,EAAE,wDAAwD,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3I,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,oBAAoB,CAAC,CAAC,IAAI,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,EAAE;QACrD,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,6DAA6D,QAAQ,CAAC,KAAK,CAAC,2SAA2S;KAChZ,CAAC,EAAE,CAAC,gDAAgD,CAAC,EAAE,IAAA,qBAAS,EAAC,mBAAmB,CAAC,CAAC;IACvF,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,uCAAuC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACvG,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,oBAAoB,CAAC,CAAC,IAAI,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,EAAE;QACrD,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,uCAAuC,QAAQ,CAAC,KAAK,CAAC,sLAAsL;KACrQ,CAAC,EAAE,CAAC,uBAAuB,EAAE,gDAAgD,CAAC,CAAC;CACjF,CAAC;AAEF,oGAAoG;AAC7F,MAAM,cAAc,GAAG,CAAC,CAAY,EAAU,EAAE,CACrD,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAD1F,QAAA,cAAc,kBAC4E;AAEvG,8GAA8G;AACvG,MAAM,gBAAgB,GAAG,CAAC,CAAY,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,sBAAc,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAA1G,QAAA,gBAAgB,oBAA0F"}