clinkx 0.2.3 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (574) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/LICENSE +10 -0
  3. package/README.md +113 -18
  4. package/clinkx-workflows/dist/allowed-roots.d.ts +1 -0
  5. package/clinkx-workflows/dist/allowed-roots.js +5 -0
  6. package/clinkx-workflows/dist/allowed-roots.js.map +1 -0
  7. package/clinkx-workflows/dist/artifacts.d.ts +20 -1
  8. package/clinkx-workflows/dist/artifacts.js +38 -9
  9. package/clinkx-workflows/dist/artifacts.js.map +1 -1
  10. package/clinkx-workflows/dist/backend.d.ts +4 -0
  11. package/clinkx-workflows/dist/citation-check.d.ts +40 -0
  12. package/clinkx-workflows/dist/citation-check.js +348 -0
  13. package/clinkx-workflows/dist/citation-check.js.map +1 -0
  14. package/clinkx-workflows/dist/clink-client.d.ts +2 -1
  15. package/clinkx-workflows/dist/clink-client.js +17 -4
  16. package/clinkx-workflows/dist/clink-client.js.map +1 -1
  17. package/clinkx-workflows/dist/config.d.ts +145 -16
  18. package/clinkx-workflows/dist/config.js +384 -26
  19. package/clinkx-workflows/dist/config.js.map +1 -1
  20. package/clinkx-workflows/dist/contained-file.d.ts +172 -0
  21. package/clinkx-workflows/dist/contained-file.js +483 -0
  22. package/clinkx-workflows/dist/contained-file.js.map +1 -0
  23. package/clinkx-workflows/dist/context-builder-lifecycle-contract.d.ts +416 -0
  24. package/clinkx-workflows/dist/context-builder-lifecycle-contract.js +328 -0
  25. package/clinkx-workflows/dist/context-builder-lifecycle-contract.js.map +1 -0
  26. package/clinkx-workflows/dist/context-builder-lifecycle-router.d.ts +24 -0
  27. package/clinkx-workflows/dist/context-builder-lifecycle-router.js +39 -0
  28. package/clinkx-workflows/dist/context-builder-lifecycle-router.js.map +1 -0
  29. package/clinkx-workflows/dist/context-cache-key.d.ts +53 -0
  30. package/clinkx-workflows/dist/context-cache-key.js +91 -0
  31. package/clinkx-workflows/dist/context-cache-key.js.map +1 -0
  32. package/clinkx-workflows/dist/context-mode-resolver.d.ts +27 -0
  33. package/clinkx-workflows/dist/context-mode-resolver.js +126 -0
  34. package/clinkx-workflows/dist/context-mode-resolver.js.map +1 -0
  35. package/clinkx-workflows/dist/context-preflight.d.ts +184 -0
  36. package/clinkx-workflows/dist/context-preflight.js +91 -0
  37. package/clinkx-workflows/dist/context-preflight.js.map +1 -0
  38. package/clinkx-workflows/dist/council-expander.d.ts +1 -1
  39. package/clinkx-workflows/dist/council-expander.js +2 -1
  40. package/clinkx-workflows/dist/council-expander.js.map +1 -1
  41. package/clinkx-workflows/dist/dashboard/activity-contract.d.ts +165 -0
  42. package/clinkx-workflows/dist/dashboard/activity-contract.js +105 -0
  43. package/clinkx-workflows/dist/dashboard/activity-contract.js.map +1 -0
  44. package/clinkx-workflows/dist/dashboard/activity-lease.d.ts +25 -0
  45. package/clinkx-workflows/dist/dashboard/activity-lease.js +34 -0
  46. package/clinkx-workflows/dist/dashboard/activity-lease.js.map +1 -0
  47. package/clinkx-workflows/dist/dashboard/activity-reader.d.ts +86 -0
  48. package/clinkx-workflows/dist/dashboard/activity-reader.js +480 -0
  49. package/clinkx-workflows/dist/dashboard/activity-reader.js.map +1 -0
  50. package/clinkx-workflows/dist/dashboard/api-routes.d.ts +36 -0
  51. package/clinkx-workflows/dist/dashboard/api-routes.js +1047 -0
  52. package/clinkx-workflows/dist/dashboard/api-routes.js.map +1 -0
  53. package/clinkx-workflows/dist/dashboard/artifact-index.d.ts +37 -0
  54. package/clinkx-workflows/dist/dashboard/artifact-index.js +145 -0
  55. package/clinkx-workflows/dist/dashboard/artifact-index.js.map +1 -0
  56. package/clinkx-workflows/dist/dashboard/auth/challenge-store.d.ts +31 -0
  57. package/clinkx-workflows/dist/dashboard/auth/challenge-store.js +65 -0
  58. package/clinkx-workflows/dist/dashboard/auth/challenge-store.js.map +1 -0
  59. package/clinkx-workflows/dist/dashboard/auth/controller.d.ts +26 -0
  60. package/clinkx-workflows/dist/dashboard/auth/controller.js +596 -0
  61. package/clinkx-workflows/dist/dashboard/auth/controller.js.map +1 -0
  62. package/clinkx-workflows/dist/dashboard/auth/credential-store.d.ts +60 -0
  63. package/clinkx-workflows/dist/dashboard/auth/credential-store.js +776 -0
  64. package/clinkx-workflows/dist/dashboard/auth/credential-store.js.map +1 -0
  65. package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.d.ts +9 -0
  66. package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.js +44 -0
  67. package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.js.map +1 -0
  68. package/clinkx-workflows/dist/dashboard/auth/session-store.d.ts +17 -0
  69. package/clinkx-workflows/dist/dashboard/auth/session-store.js +77 -0
  70. package/clinkx-workflows/dist/dashboard/auth/session-store.js.map +1 -0
  71. package/clinkx-workflows/dist/dashboard/auth/webauthn-service.d.ts +25 -0
  72. package/clinkx-workflows/dist/dashboard/auth/webauthn-service.js +71 -0
  73. package/clinkx-workflows/dist/dashboard/auth/webauthn-service.js.map +1 -0
  74. package/clinkx-workflows/dist/dashboard/context-run-liveness.d.ts +37 -0
  75. package/clinkx-workflows/dist/dashboard/context-run-liveness.js +49 -0
  76. package/clinkx-workflows/dist/dashboard/context-run-liveness.js.map +1 -0
  77. package/clinkx-workflows/dist/dashboard/context-run-reader.d.ts +222 -0
  78. package/clinkx-workflows/dist/dashboard/context-run-reader.js +1178 -0
  79. package/clinkx-workflows/dist/dashboard/context-run-reader.js.map +1 -0
  80. package/clinkx-workflows/dist/dashboard/contracts.d.ts +8936 -0
  81. package/clinkx-workflows/dist/dashboard/contracts.js +1157 -0
  82. package/clinkx-workflows/dist/dashboard/contracts.js.map +1 -0
  83. package/clinkx-workflows/dist/dashboard/generation.d.ts +14 -0
  84. package/clinkx-workflows/dist/dashboard/generation.js +41 -0
  85. package/clinkx-workflows/dist/dashboard/generation.js.map +1 -0
  86. package/clinkx-workflows/dist/dashboard/index.d.ts +28 -0
  87. package/clinkx-workflows/dist/dashboard/index.js +16 -0
  88. package/clinkx-workflows/dist/dashboard/index.js.map +1 -0
  89. package/clinkx-workflows/dist/dashboard/lazy-content.d.ts +101 -0
  90. package/clinkx-workflows/dist/dashboard/lazy-content.js +748 -0
  91. package/clinkx-workflows/dist/dashboard/lazy-content.js.map +1 -0
  92. package/clinkx-workflows/dist/dashboard/progress-report-contract.d.ts +303 -0
  93. package/clinkx-workflows/dist/dashboard/progress-report-contract.js +221 -0
  94. package/clinkx-workflows/dist/dashboard/progress-report-contract.js.map +1 -0
  95. package/clinkx-workflows/dist/dashboard/progress-report-reader.d.ts +50 -0
  96. package/clinkx-workflows/dist/dashboard/progress-report-reader.js +581 -0
  97. package/clinkx-workflows/dist/dashboard/progress-report-reader.js.map +1 -0
  98. package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.d.ts +89 -0
  99. package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.js +71 -0
  100. package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.js.map +1 -0
  101. package/clinkx-workflows/dist/dashboard/progress-report-status-store.d.ts +28 -0
  102. package/clinkx-workflows/dist/dashboard/progress-report-status-store.js +110 -0
  103. package/clinkx-workflows/dist/dashboard/progress-report-status-store.js.map +1 -0
  104. package/clinkx-workflows/dist/dashboard/read-model.d.ts +86 -0
  105. package/clinkx-workflows/dist/dashboard/read-model.js +440 -0
  106. package/clinkx-workflows/dist/dashboard/read-model.js.map +1 -0
  107. package/clinkx-workflows/dist/dashboard/request-admission.d.ts +31 -0
  108. package/clinkx-workflows/dist/dashboard/request-admission.js +126 -0
  109. package/clinkx-workflows/dist/dashboard/request-admission.js.map +1 -0
  110. package/clinkx-workflows/dist/dashboard/scanner.d.ts +75 -0
  111. package/clinkx-workflows/dist/dashboard/scanner.js +1110 -0
  112. package/clinkx-workflows/dist/dashboard/scanner.js.map +1 -0
  113. package/clinkx-workflows/dist/dashboard/server-factory.d.ts +50 -0
  114. package/clinkx-workflows/dist/dashboard/server-factory.js +431 -0
  115. package/clinkx-workflows/dist/dashboard/server-factory.js.map +1 -0
  116. package/clinkx-workflows/dist/dashboard/session-log-contract.d.ts +2611 -0
  117. package/clinkx-workflows/dist/dashboard/session-log-contract.js +480 -0
  118. package/clinkx-workflows/dist/dashboard/session-log-contract.js.map +1 -0
  119. package/clinkx-workflows/dist/dashboard/session-log-identity.d.ts +21 -0
  120. package/clinkx-workflows/dist/dashboard/session-log-identity.js +101 -0
  121. package/clinkx-workflows/dist/dashboard/session-log-identity.js.map +1 -0
  122. package/clinkx-workflows/dist/dashboard/session-log-journal.d.ts +43 -0
  123. package/clinkx-workflows/dist/dashboard/session-log-journal.js +522 -0
  124. package/clinkx-workflows/dist/dashboard/session-log-journal.js.map +1 -0
  125. package/clinkx-workflows/dist/dashboard/session-log-reader.d.ts +61 -0
  126. package/clinkx-workflows/dist/dashboard/session-log-reader.js +378 -0
  127. package/clinkx-workflows/dist/dashboard/session-log-reader.js.map +1 -0
  128. package/clinkx-workflows/dist/dashboard/session-log-redaction.d.ts +6 -0
  129. package/clinkx-workflows/dist/dashboard/session-log-redaction.js +367 -0
  130. package/clinkx-workflows/dist/dashboard/session-log-redaction.js.map +1 -0
  131. package/clinkx-workflows/dist/dashboard/session-log-retention.d.ts +23 -0
  132. package/clinkx-workflows/dist/dashboard/session-log-retention.js +212 -0
  133. package/clinkx-workflows/dist/dashboard/session-log-retention.js.map +1 -0
  134. package/clinkx-workflows/dist/dashboard/static-responses.d.ts +10 -0
  135. package/clinkx-workflows/dist/dashboard/static-responses.js +94 -0
  136. package/clinkx-workflows/dist/dashboard/static-responses.js.map +1 -0
  137. package/clinkx-workflows/dist/dashboard/worker-lock-observer.d.ts +28 -0
  138. package/clinkx-workflows/dist/dashboard/worker-lock-observer.js +241 -0
  139. package/clinkx-workflows/dist/dashboard/worker-lock-observer.js.map +1 -0
  140. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
  141. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
  142. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
  143. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
  144. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2 +0 -0
  145. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff +0 -0
  146. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2 +0 -0
  147. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff +0 -0
  148. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff +0 -0
  149. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2 +0 -0
  150. package/clinkx-workflows/dist/dashboard-ui/assets/index-DOkMXTfB.js +25 -0
  151. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
  152. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  153. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
  154. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
  155. package/clinkx-workflows/dist/dashboard-ui/assets/style-ChJsn0KD.css +1 -0
  156. package/clinkx-workflows/dist/dashboard-ui/contracts/council-plan-review-input-v1.json +158 -0
  157. package/clinkx-workflows/dist/dashboard-ui/index.html +15 -0
  158. package/clinkx-workflows/dist/dashboard-ui/licenses/IBM-Plex-Mono-OFL.txt +93 -0
  159. package/clinkx-workflows/dist/dashboard-ui/licenses/IBM-Plex-Sans-OFL.txt +93 -0
  160. package/clinkx-workflows/dist/dashboard-ui/licenses/JetBrains-Mono-OFL.txt +93 -0
  161. package/clinkx-workflows/dist/dashboard-ui/licenses/NOTICE.md +32 -0
  162. package/clinkx-workflows/dist/dashboard-ui/theme-init.js +8 -0
  163. package/clinkx-workflows/dist/definition-normalizer.d.ts +19 -0
  164. package/clinkx-workflows/dist/definition-normalizer.js.map +1 -1
  165. package/clinkx-workflows/dist/delegate-validate.d.ts +78 -0
  166. package/clinkx-workflows/dist/delegate-validate.js +97 -0
  167. package/clinkx-workflows/dist/delegate-validate.js.map +1 -0
  168. package/clinkx-workflows/dist/engine.d.ts +141 -0
  169. package/clinkx-workflows/dist/engine.js +882 -28
  170. package/clinkx-workflows/dist/engine.js.map +1 -1
  171. package/clinkx-workflows/dist/errors.d.ts +2 -0
  172. package/clinkx-workflows/dist/errors.js.map +1 -1
  173. package/clinkx-workflows/dist/fingerprint.d.ts +1 -1
  174. package/clinkx-workflows/dist/fingerprint.js +1 -1
  175. package/clinkx-workflows/dist/index.d.ts +19 -0
  176. package/clinkx-workflows/dist/index.js +15 -0
  177. package/clinkx-workflows/dist/index.js.map +1 -1
  178. package/clinkx-workflows/dist/loader.d.ts +9 -3
  179. package/clinkx-workflows/dist/loader.js +92 -21
  180. package/clinkx-workflows/dist/loader.js.map +1 -1
  181. package/clinkx-workflows/dist/plan-review/admission.d.ts +160 -0
  182. package/clinkx-workflows/dist/plan-review/admission.js +290 -0
  183. package/clinkx-workflows/dist/plan-review/admission.js.map +1 -0
  184. package/clinkx-workflows/dist/plan-review/context-policy.d.ts +55 -0
  185. package/clinkx-workflows/dist/plan-review/context-policy.js +146 -0
  186. package/clinkx-workflows/dist/plan-review/context-policy.js.map +1 -0
  187. package/clinkx-workflows/dist/plan-review/contract.d.ts +763 -0
  188. package/clinkx-workflows/dist/plan-review/contract.js +289 -0
  189. package/clinkx-workflows/dist/plan-review/contract.js.map +1 -0
  190. package/clinkx-workflows/dist/plan-review/digest.d.ts +68 -0
  191. package/clinkx-workflows/dist/plan-review/digest.js +241 -0
  192. package/clinkx-workflows/dist/plan-review/digest.js.map +1 -0
  193. package/clinkx-workflows/dist/plan-review/discovery.d.ts +45 -0
  194. package/clinkx-workflows/dist/plan-review/discovery.js +36 -0
  195. package/clinkx-workflows/dist/plan-review/discovery.js.map +1 -0
  196. package/clinkx-workflows/dist/plan-review/execution-contract.d.ts +298 -0
  197. package/clinkx-workflows/dist/plan-review/execution-contract.js +194 -0
  198. package/clinkx-workflows/dist/plan-review/execution-contract.js.map +1 -0
  199. package/clinkx-workflows/dist/plan-review/expander.d.ts +48 -0
  200. package/clinkx-workflows/dist/plan-review/expander.js +243 -0
  201. package/clinkx-workflows/dist/plan-review/expander.js.map +1 -0
  202. package/clinkx-workflows/dist/plan-review/projector.d.ts +126 -0
  203. package/clinkx-workflows/dist/plan-review/projector.js +437 -0
  204. package/clinkx-workflows/dist/plan-review/projector.js.map +1 -0
  205. package/clinkx-workflows/dist/plan-review/publication.d.ts +95 -0
  206. package/clinkx-workflows/dist/plan-review/publication.js +182 -0
  207. package/clinkx-workflows/dist/plan-review/publication.js.map +1 -0
  208. package/clinkx-workflows/dist/plan-review/ranking-reducer.d.ts +34 -0
  209. package/clinkx-workflows/dist/plan-review/ranking-reducer.js +139 -0
  210. package/clinkx-workflows/dist/plan-review/ranking-reducer.js.map +1 -0
  211. package/clinkx-workflows/dist/plan-review/resume.d.ts +38 -0
  212. package/clinkx-workflows/dist/plan-review/resume.js +122 -0
  213. package/clinkx-workflows/dist/plan-review/resume.js.map +1 -0
  214. package/clinkx-workflows/dist/plan-review/rubric.d.ts +7 -0
  215. package/clinkx-workflows/dist/plan-review/rubric.js +24 -0
  216. package/clinkx-workflows/dist/plan-review/rubric.js.map +1 -0
  217. package/clinkx-workflows/dist/plan-review/run-state.d.ts +398 -0
  218. package/clinkx-workflows/dist/plan-review/run-state.js +183 -0
  219. package/clinkx-workflows/dist/plan-review/run-state.js.map +1 -0
  220. package/clinkx-workflows/dist/plan-review/runtime-policy.d.ts +74 -0
  221. package/clinkx-workflows/dist/plan-review/runtime-policy.js +186 -0
  222. package/clinkx-workflows/dist/plan-review/runtime-policy.js.map +1 -0
  223. package/clinkx-workflows/dist/plan-review/snapshot.d.ts +81 -0
  224. package/clinkx-workflows/dist/plan-review/snapshot.js +170 -0
  225. package/clinkx-workflows/dist/plan-review/snapshot.js.map +1 -0
  226. package/clinkx-workflows/dist/plan-review/stage-error.d.ts +19 -0
  227. package/clinkx-workflows/dist/plan-review/stage-error.js +20 -0
  228. package/clinkx-workflows/dist/plan-review/stage-error.js.map +1 -0
  229. package/clinkx-workflows/dist/post-processors/index.d.ts +20 -0
  230. package/clinkx-workflows/dist/post-processors/index.js +21 -0
  231. package/clinkx-workflows/dist/post-processors/index.js.map +1 -0
  232. package/clinkx-workflows/dist/prompt-budget.d.ts +7 -0
  233. package/clinkx-workflows/dist/prompt-budget.js +7 -1
  234. package/clinkx-workflows/dist/prompt-budget.js.map +1 -1
  235. package/clinkx-workflows/dist/reducers/index.js +2 -0
  236. package/clinkx-workflows/dist/reducers/index.js.map +1 -1
  237. package/clinkx-workflows/dist/run-lock-heartbeat.d.ts +2 -0
  238. package/clinkx-workflows/dist/run-lock-heartbeat.js +3 -0
  239. package/clinkx-workflows/dist/run-lock-heartbeat.js.map +1 -0
  240. package/clinkx-workflows/dist/run-summary/cards/council-plan-review.d.ts +34 -0
  241. package/clinkx-workflows/dist/run-summary/cards/council-plan-review.js +74 -0
  242. package/clinkx-workflows/dist/run-summary/cards/council-plan-review.js.map +1 -0
  243. package/clinkx-workflows/dist/run-summary/cards/index.js +5 -0
  244. package/clinkx-workflows/dist/run-summary/cards/index.js.map +1 -1
  245. package/clinkx-workflows/dist/run-summary.d.ts +13 -0
  246. package/clinkx-workflows/dist/run-summary.js +29 -1
  247. package/clinkx-workflows/dist/run-summary.js.map +1 -1
  248. package/clinkx-workflows/dist/schema.d.ts +76 -21
  249. package/clinkx-workflows/dist/schema.js +10 -1
  250. package/clinkx-workflows/dist/schema.js.map +1 -1
  251. package/clinkx-workflows/dist/seed-terms.d.ts +30 -0
  252. package/clinkx-workflows/dist/seed-terms.js +176 -0
  253. package/clinkx-workflows/dist/seed-terms.js.map +1 -0
  254. package/clinkx-workflows/dist/server.d.ts +5 -2
  255. package/clinkx-workflows/dist/server.js +82 -52
  256. package/clinkx-workflows/dist/server.js.map +1 -1
  257. package/clinkx-workflows/dist/shutdown.d.ts +18 -20
  258. package/clinkx-workflows/dist/shutdown.js +43 -61
  259. package/clinkx-workflows/dist/shutdown.js.map +1 -1
  260. package/clinkx-workflows/dist/state-schema.d.ts +38 -0
  261. package/clinkx-workflows/dist/state.d.ts +170 -3
  262. package/clinkx-workflows/dist/state.js +1275 -28
  263. package/clinkx-workflows/dist/state.js.map +1 -1
  264. package/clinkx-workflows/dist/transport.d.ts +15 -0
  265. package/clinkx-workflows/dist/transport.js +19 -10
  266. package/clinkx-workflows/dist/transport.js.map +1 -1
  267. package/clinkx-workflows/dist/types.d.ts +14 -2
  268. package/clinkx-workflows/dist/validators/council.d.ts +318 -85
  269. package/clinkx-workflows/dist/validators/council.js +52 -13
  270. package/clinkx-workflows/dist/validators/council.js.map +1 -1
  271. package/clinkx-workflows/dist/validators/index.d.ts +1 -0
  272. package/clinkx-workflows/dist/validators/index.js +3 -0
  273. package/clinkx-workflows/dist/validators/index.js.map +1 -1
  274. package/clinkx-workflows/dist/validators/plan-review.d.ts +398 -0
  275. package/clinkx-workflows/dist/validators/plan-review.js +316 -0
  276. package/clinkx-workflows/dist/validators/plan-review.js.map +1 -0
  277. package/clinkx-workflows/dist/workflow-receipt.js +188 -4
  278. package/clinkx-workflows/dist/workflow-receipt.js.map +1 -1
  279. package/clinkx-workflows/dist/workflow-tools.d.ts +48 -3
  280. package/clinkx-workflows/dist/workflow-tools.js +1402 -59
  281. package/clinkx-workflows/dist/workflow-tools.js.map +1 -1
  282. package/clinkx-workflows/dist/workspace-signature.d.ts +16 -0
  283. package/clinkx-workflows/dist/workspace-signature.js +388 -0
  284. package/clinkx-workflows/dist/workspace-signature.js.map +1 -0
  285. package/clinkx-workflows/templates/council/answer-specialist.txt +2 -1
  286. package/clinkx-workflows/templates/council/code-review-chairman.txt +13 -0
  287. package/clinkx-workflows/templates/council/code-review-cross-reviewer.txt +4 -1
  288. package/clinkx-workflows/templates/council/code-review-reviewer.txt +19 -3
  289. package/clinkx-workflows/templates/council/debug-debugger.txt +2 -1
  290. package/clinkx-workflows/templates/council/discover-analyst.txt +2 -1
  291. package/clinkx-workflows/templates/council/member.txt +2 -1
  292. package/clinkx-workflows/templates/council/plan-review-chairman.txt +68 -0
  293. package/clinkx-workflows/templates/council/plan-review-cross-reviewer.txt +51 -0
  294. package/clinkx-workflows/templates/council/plan-review-reviewer.txt +60 -0
  295. package/clinkx-workflows/templates/plan-review/chairman.txt +48 -0
  296. package/clinkx-workflows/templates/plan-review/cross-review.txt +52 -0
  297. package/clinkx-workflows/templates/plan-review/ranking.txt +16 -0
  298. package/clinkx-workflows/templates/plan-review/reviewer.txt +57 -0
  299. package/clinkx-workflows/workflows/council-answer.yaml +97 -8
  300. package/clinkx-workflows/workflows/council-code-review.yaml +103 -8
  301. package/clinkx-workflows/workflows/council-debug.yaml +97 -8
  302. package/clinkx-workflows/workflows/council-default.yaml +97 -8
  303. package/clinkx-workflows/workflows/council-discover.yaml +97 -8
  304. package/clinkx-workflows/workflows/council-plan-review.yaml +250 -0
  305. package/clinkx-workflows/workflows/plan-review-receipts.yaml +230 -0
  306. package/conf/adapters/agy.json +49 -0
  307. package/conf/adapters/claude.json +5 -0
  308. package/conf/adapters/codex-app-server.json +44 -0
  309. package/conf/adapters/codex.json +7 -2
  310. package/conf/adapters/glm.json +5 -0
  311. package/conf/adapters/grok.json +60 -0
  312. package/conf/adapters/hapi/agy.json +52 -0
  313. package/conf/adapters/hapi/claude.json +5 -0
  314. package/conf/adapters/hapi/codex.json +7 -2
  315. package/conf/adapters/hapi/glm.json +5 -0
  316. package/conf/prompts/json-codereviewer.txt +1 -0
  317. package/conf/prompts/json.txt +1 -0
  318. package/dist/activity-journal.d.ts +42 -0
  319. package/dist/activity-journal.js +381 -0
  320. package/dist/activity-journal.js.map +1 -0
  321. package/dist/allowed-roots.d.ts +53 -0
  322. package/dist/allowed-roots.js +216 -0
  323. package/dist/allowed-roots.js.map +1 -0
  324. package/dist/codex/activity-session-log.d.ts +14 -0
  325. package/dist/codex/activity-session-log.js +206 -0
  326. package/dist/codex/activity-session-log.js.map +1 -0
  327. package/dist/codex/agent-tools.d.ts +23 -0
  328. package/dist/codex/agent-tools.js +1270 -0
  329. package/dist/codex/agent-tools.js.map +1 -0
  330. package/dist/codex/app-server-client.d.ts +76 -0
  331. package/dist/codex/app-server-client.js +582 -0
  332. package/dist/codex/app-server-client.js.map +1 -0
  333. package/dist/codex/app-server-registry.d.ts +389 -0
  334. package/dist/codex/app-server-registry.js +1407 -0
  335. package/dist/codex/app-server-registry.js.map +1 -0
  336. package/dist/codex/client-types.d.ts +109 -0
  337. package/dist/codex/client-types.js +2 -0
  338. package/dist/codex/client-types.js.map +1 -0
  339. package/dist/codex/protocol.d.ts +5375 -0
  340. package/dist/codex/protocol.js +614 -0
  341. package/dist/codex/protocol.js.map +1 -0
  342. package/dist/codex/session.d.ts +263 -0
  343. package/dist/codex/session.js +466 -0
  344. package/dist/codex/session.js.map +1 -0
  345. package/dist/config.d.ts +185 -19
  346. package/dist/config.js +82 -16
  347. package/dist/config.js.map +1 -1
  348. package/dist/context-builder/anchors.d.ts +12 -0
  349. package/dist/context-builder/anchors.js +22 -0
  350. package/dist/context-builder/anchors.js.map +1 -0
  351. package/dist/context-builder/bundle.d.ts +109 -0
  352. package/dist/context-builder/bundle.js +1498 -0
  353. package/dist/context-builder/bundle.js.map +1 -0
  354. package/dist/context-builder/codemap.d.ts +22 -0
  355. package/dist/context-builder/codemap.js +675 -0
  356. package/dist/context-builder/codemap.js.map +1 -0
  357. package/dist/context-builder/config.d.ts +61 -0
  358. package/dist/context-builder/config.js +216 -0
  359. package/dist/context-builder/config.js.map +1 -0
  360. package/dist/context-builder/context-run-catalog.d.ts +17 -0
  361. package/dist/context-builder/context-run-catalog.js +99 -0
  362. package/dist/context-builder/context-run-catalog.js.map +1 -0
  363. package/dist/context-builder/delegate-packet.d.ts +219 -0
  364. package/dist/context-builder/delegate-packet.js +1190 -0
  365. package/dist/context-builder/delegate-packet.js.map +1 -0
  366. package/dist/context-builder/delegate-reconstruction.d.ts +13 -0
  367. package/dist/context-builder/delegate-reconstruction.js +220 -0
  368. package/dist/context-builder/delegate-reconstruction.js.map +1 -0
  369. package/dist/context-builder/delegate-validation.d.ts +27 -0
  370. package/dist/context-builder/delegate-validation.js +479 -0
  371. package/dist/context-builder/delegate-validation.js.map +1 -0
  372. package/dist/context-builder/delegate.d.ts +26 -0
  373. package/dist/context-builder/delegate.js +134 -0
  374. package/dist/context-builder/delegate.js.map +1 -0
  375. package/dist/context-builder/diagnostics.d.ts +36 -0
  376. package/dist/context-builder/diagnostics.js +107 -0
  377. package/dist/context-builder/diagnostics.js.map +1 -0
  378. package/dist/context-builder/discovery.d.ts +146 -0
  379. package/dist/context-builder/discovery.js +2129 -0
  380. package/dist/context-builder/discovery.js.map +1 -0
  381. package/dist/context-builder/globs.d.ts +14 -0
  382. package/dist/context-builder/globs.js +175 -0
  383. package/dist/context-builder/globs.js.map +1 -0
  384. package/dist/context-builder/handler.d.ts +41 -0
  385. package/dist/context-builder/handler.js +2590 -0
  386. package/dist/context-builder/handler.js.map +1 -0
  387. package/dist/context-builder/lifecycle-contract.d.ts +424 -0
  388. package/dist/context-builder/lifecycle-contract.js +523 -0
  389. package/dist/context-builder/lifecycle-contract.js.map +1 -0
  390. package/dist/context-builder/lifecycle-journal.d.ts +62 -0
  391. package/dist/context-builder/lifecycle-journal.js +88 -0
  392. package/dist/context-builder/lifecycle-journal.js.map +1 -0
  393. package/dist/context-builder/lifecycle-observer.d.ts +102 -0
  394. package/dist/context-builder/lifecycle-observer.js +258 -0
  395. package/dist/context-builder/lifecycle-observer.js.map +1 -0
  396. package/dist/context-builder/lifecycle-reconcile.d.ts +32 -0
  397. package/dist/context-builder/lifecycle-reconcile.js +191 -0
  398. package/dist/context-builder/lifecycle-reconcile.js.map +1 -0
  399. package/dist/context-builder/lifecycle-recovery.d.ts +2 -0
  400. package/dist/context-builder/lifecycle-recovery.js +14 -0
  401. package/dist/context-builder/lifecycle-recovery.js.map +1 -0
  402. package/dist/context-builder/path-signals.d.ts +7 -0
  403. package/dist/context-builder/path-signals.js +70 -0
  404. package/dist/context-builder/path-signals.js.map +1 -0
  405. package/dist/context-builder/paths.d.ts +30 -0
  406. package/dist/context-builder/paths.js +153 -0
  407. package/dist/context-builder/paths.js.map +1 -0
  408. package/dist/context-builder/progress.d.ts +17 -0
  409. package/dist/context-builder/progress.js +93 -0
  410. package/dist/context-builder/progress.js.map +1 -0
  411. package/dist/context-builder/receipt.d.ts +91 -0
  412. package/dist/context-builder/receipt.js +180 -0
  413. package/dist/context-builder/receipt.js.map +1 -0
  414. package/dist/context-builder/refine-handler.d.ts +14 -0
  415. package/dist/context-builder/refine-handler.js +790 -0
  416. package/dist/context-builder/refine-handler.js.map +1 -0
  417. package/dist/context-builder/review-coverage.d.ts +84 -0
  418. package/dist/context-builder/review-coverage.js +437 -0
  419. package/dist/context-builder/review-coverage.js.map +1 -0
  420. package/dist/context-builder/run-id.d.ts +7 -0
  421. package/dist/context-builder/run-id.js +31 -0
  422. package/dist/context-builder/run-id.js.map +1 -0
  423. package/dist/context-builder/schema.d.ts +669 -0
  424. package/dist/context-builder/schema.js +399 -0
  425. package/dist/context-builder/schema.js.map +1 -0
  426. package/dist/context-builder/secrets.d.ts +41 -0
  427. package/dist/context-builder/secrets.js +1651 -0
  428. package/dist/context-builder/secrets.js.map +1 -0
  429. package/dist/context-builder/selection.d.ts +56 -0
  430. package/dist/context-builder/selection.js +1111 -0
  431. package/dist/context-builder/selection.js.map +1 -0
  432. package/dist/context-builder/session-log-identity.d.ts +1 -0
  433. package/dist/context-builder/session-log-identity.js +66 -0
  434. package/dist/context-builder/session-log-identity.js.map +1 -0
  435. package/dist/context-builder/slice-range-math.d.ts +16 -0
  436. package/dist/context-builder/slice-range-math.js +137 -0
  437. package/dist/context-builder/slice-range-math.js.map +1 -0
  438. package/dist/context-builder/status.d.ts +66 -0
  439. package/dist/context-builder/status.js +160 -0
  440. package/dist/context-builder/status.js.map +1 -0
  441. package/dist/context-builder/storage.d.ts +118 -0
  442. package/dist/context-builder/storage.js +1003 -0
  443. package/dist/context-builder/storage.js.map +1 -0
  444. package/dist/context-builder/token-estimate.d.ts +19 -0
  445. package/dist/context-builder/token-estimate.js +90 -0
  446. package/dist/context-builder/token-estimate.js.map +1 -0
  447. package/dist/context-builder/versions.d.ts +29 -0
  448. package/dist/context-builder/versions.js +30 -0
  449. package/dist/context-builder/versions.js.map +1 -0
  450. package/dist/context-builder/workflow-runner.d.ts +69 -0
  451. package/dist/context-builder/workflow-runner.js +1051 -0
  452. package/dist/context-builder/workflow-runner.js.map +1 -0
  453. package/dist/context-builder/write-watchdog.d.ts +14 -0
  454. package/dist/context-builder/write-watchdog.js +38 -0
  455. package/dist/context-builder/write-watchdog.js.map +1 -0
  456. package/dist/dashboard-adapter-catalog.d.ts +9 -0
  457. package/dist/dashboard-adapter-catalog.js +46 -0
  458. package/dist/dashboard-adapter-catalog.js.map +1 -0
  459. package/dist/dashboard-cli.d.ts +79 -0
  460. package/dist/dashboard-cli.js +585 -0
  461. package/dist/dashboard-cli.js.map +1 -0
  462. package/dist/dashboard-companion/client.d.ts +36 -0
  463. package/dist/dashboard-companion/client.js +210 -0
  464. package/dist/dashboard-companion/client.js.map +1 -0
  465. package/dist/dashboard-companion/config.d.ts +8 -0
  466. package/dist/dashboard-companion/config.js +52 -0
  467. package/dist/dashboard-companion/config.js.map +1 -0
  468. package/dist/dashboard-companion/http-proxy.d.ts +10 -0
  469. package/dist/dashboard-companion/http-proxy.js +234 -0
  470. package/dist/dashboard-companion/http-proxy.js.map +1 -0
  471. package/dist/dashboard-companion/protocol.d.ts +80 -0
  472. package/dist/dashboard-companion/protocol.js +455 -0
  473. package/dist/dashboard-companion/protocol.js.map +1 -0
  474. package/dist/dashboard-companion/standalone-assets.d.ts +12 -0
  475. package/dist/dashboard-companion/standalone-assets.js +72 -0
  476. package/dist/dashboard-companion/standalone-assets.js.map +1 -0
  477. package/dist/dashboard-companion/standalone-entry.d.ts +1 -0
  478. package/dist/dashboard-companion/standalone-entry.js +17 -0
  479. package/dist/dashboard-companion/standalone-entry.js.map +1 -0
  480. package/dist/dashboard-gateway/config.d.ts +9 -0
  481. package/dist/dashboard-gateway/config.js +44 -0
  482. package/dist/dashboard-gateway/config.js.map +1 -0
  483. package/dist/dashboard-gateway/index.d.ts +11 -0
  484. package/dist/dashboard-gateway/index.js +755 -0
  485. package/dist/dashboard-gateway/index.js.map +1 -0
  486. package/dist/dashboard-gateway/main.d.ts +1 -0
  487. package/dist/dashboard-gateway/main.js +25 -0
  488. package/dist/dashboard-gateway/main.js.map +1 -0
  489. package/dist/dashboard-pairing-token.d.ts +1 -0
  490. package/dist/dashboard-pairing-token.js +5 -0
  491. package/dist/dashboard-pairing-token.js.map +1 -0
  492. package/dist/elaris/client.d.ts +73 -0
  493. package/dist/elaris/client.js +825 -0
  494. package/dist/elaris/client.js.map +1 -0
  495. package/dist/elaris/config.d.ts +18 -0
  496. package/dist/elaris/config.js +75 -0
  497. package/dist/elaris/config.js.map +1 -0
  498. package/dist/elaris/errors.d.ts +41 -0
  499. package/dist/elaris/errors.js +205 -0
  500. package/dist/elaris/errors.js.map +1 -0
  501. package/dist/elaris/github-repo.d.ts +18 -0
  502. package/dist/elaris/github-repo.js +89 -0
  503. package/dist/elaris/github-repo.js.map +1 -0
  504. package/dist/elaris/index.d.ts +10 -0
  505. package/dist/elaris/index.js +11 -0
  506. package/dist/elaris/index.js.map +1 -0
  507. package/dist/elaris/redact.d.ts +89 -0
  508. package/dist/elaris/redact.js +423 -0
  509. package/dist/elaris/redact.js.map +1 -0
  510. package/dist/elaris/run-id.d.ts +5 -0
  511. package/dist/elaris/run-id.js +20 -0
  512. package/dist/elaris/run-id.js.map +1 -0
  513. package/dist/elaris/status.d.ts +45 -0
  514. package/dist/elaris/status.js +122 -0
  515. package/dist/elaris/status.js.map +1 -0
  516. package/dist/elaris/tool-schemas.d.ts +314 -0
  517. package/dist/elaris/tool-schemas.js +208 -0
  518. package/dist/elaris/tool-schemas.js.map +1 -0
  519. package/dist/elaris/tools.d.ts +73 -0
  520. package/dist/elaris/tools.js +1065 -0
  521. package/dist/elaris/tools.js.map +1 -0
  522. package/dist/elaris/types.d.ts +1541 -0
  523. package/dist/elaris/types.js +252 -0
  524. package/dist/elaris/types.js.map +1 -0
  525. package/dist/errors.d.ts +16 -0
  526. package/dist/errors.js +19 -0
  527. package/dist/errors.js.map +1 -1
  528. package/dist/handler.d.ts +4 -0
  529. package/dist/handler.js +10 -1
  530. package/dist/handler.js.map +1 -1
  531. package/dist/index.d.ts +2 -1
  532. package/dist/index.js +13 -3
  533. package/dist/index.js.map +1 -1
  534. package/dist/local-clink-backend.d.ts +3 -0
  535. package/dist/local-clink-backend.js +4 -0
  536. package/dist/local-clink-backend.js.map +1 -1
  537. package/dist/package-info.d.ts +2 -0
  538. package/dist/package-info.js +18 -0
  539. package/dist/package-info.js.map +1 -0
  540. package/dist/parsers/codex-jsonl.js +48 -3
  541. package/dist/parsers/codex-jsonl.js.map +1 -1
  542. package/dist/parsers/extract.d.ts +10 -1
  543. package/dist/parsers/extract.js +11 -3
  544. package/dist/parsers/extract.js.map +1 -1
  545. package/dist/paths.d.ts +8 -0
  546. package/dist/paths.js +31 -43
  547. package/dist/paths.js.map +1 -1
  548. package/dist/pipeline.d.ts +51 -3
  549. package/dist/pipeline.js +264 -47
  550. package/dist/pipeline.js.map +1 -1
  551. package/dist/run-dir.d.ts +24 -0
  552. package/dist/run-dir.js +201 -2
  553. package/dist/run-dir.js.map +1 -1
  554. package/dist/runner.d.ts +13 -0
  555. package/dist/runner.js +184 -15
  556. package/dist/runner.js.map +1 -1
  557. package/dist/safety.d.ts +4 -4
  558. package/dist/safety.js +4 -4
  559. package/dist/schema.d.ts +7 -7
  560. package/dist/server.d.ts +2 -0
  561. package/dist/server.js +396 -24
  562. package/dist/server.js.map +1 -1
  563. package/dist/session-log-stream.d.ts +18 -0
  564. package/dist/session-log-stream.js +319 -0
  565. package/dist/session-log-stream.js.map +1 -0
  566. package/package.json +47 -5
  567. package/conf/adapters/gemini.json +0 -44
  568. package/conf/adapters/hapi/gemini.json +0 -47
  569. package/dist/artifacts.d.ts +0 -9
  570. package/dist/artifacts.js +0 -24
  571. package/dist/artifacts.js.map +0 -1
  572. package/dist/parsers/gemini-json.d.ts +0 -2
  573. package/dist/parsers/gemini-json.js +0 -72
  574. package/dist/parsers/gemini-json.js.map +0 -1
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Card extractor for typed plan-review runs (workflow `plan-review-receipts`;
3
+ * legacy runs persisted under the pre-rename name `council-plan-review`). The
4
+ * card kind stays `"council-plan-review"` — it is a dashboard wire-contract
5
+ * literal, not the workflow name.
6
+ *
7
+ * Unlike the other councils, this card is deliberately NOT derived from raw
8
+ * model artifacts. A reviewer body is untrusted until the projector has
9
+ * stripped model-echoed identity/bindings and revalidated the assembled
10
+ * candidate against the compiled `review-receipt-v1` contract, so reading
11
+ * `stageCallArtifacts` here would report seat outcomes the runtime never
12
+ * accepted. The only honest source is the terminal
13
+ * `council-plan-review-result-v1` envelope the projector already published —
14
+ * which this module revalidates rather than trusts.
15
+ *
16
+ * The card reports TRANSPORT facts only: how many roster seats produced a
17
+ * schema-valid receipt candidate, which contract identity they are bound to,
18
+ * and whether the advisory chairman ran. It never reports a verdict, score,
19
+ * threshold, approval, unanimity, sign-off, or convergence — ClinkX returns
20
+ * receipt candidates, and the roster-level gate belongs to the consumer.
21
+ */
22
+ import type { RunSummaryCardV1 } from "../../run-summary.js";
23
+ /**
24
+ * Context outcome as the run persisted it. `absent` covers both a preflight
25
+ * that never ran and one whose persisted metadata does not decode — neither is
26
+ * evidence that context was satisfied.
27
+ */
28
+ export type PlanReviewCardContextStatus = "succeeded" | "partial" | "absent";
29
+ export interface PlanReviewCardInput {
30
+ /** Terminal envelope text as published. Revalidated here, never trusted. */
31
+ readonly envelopeText: string | undefined;
32
+ readonly contextStatus: PlanReviewCardContextStatus;
33
+ }
34
+ export declare function extractCouncilPlanReviewCard(input: PlanReviewCardInput): RunSummaryCardV1;
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Card extractor for typed plan-review runs (workflow `plan-review-receipts`;
3
+ * legacy runs persisted under the pre-rename name `council-plan-review`). The
4
+ * card kind stays `"council-plan-review"` — it is a dashboard wire-contract
5
+ * literal, not the workflow name.
6
+ *
7
+ * Unlike the other councils, this card is deliberately NOT derived from raw
8
+ * model artifacts. A reviewer body is untrusted until the projector has
9
+ * stripped model-echoed identity/bindings and revalidated the assembled
10
+ * candidate against the compiled `review-receipt-v1` contract, so reading
11
+ * `stageCallArtifacts` here would report seat outcomes the runtime never
12
+ * accepted. The only honest source is the terminal
13
+ * `council-plan-review-result-v1` envelope the projector already published —
14
+ * which this module revalidates rather than trusts.
15
+ *
16
+ * The card reports TRANSPORT facts only: how many roster seats produced a
17
+ * schema-valid receipt candidate, which contract identity they are bound to,
18
+ * and whether the advisory chairman ran. It never reports a verdict, score,
19
+ * threshold, approval, unanimity, sign-off, or convergence — ClinkX returns
20
+ * receipt candidates, and the roster-level gate belongs to the consumer.
21
+ */
22
+ import { CouncilPlanReviewResultSchema } from "../../plan-review/contract.js";
23
+ /** Matches the existing 16-char digest-prefix convention used for cache keys. */
24
+ const DIGEST_PREFIX_CHARS = 16;
25
+ export function extractCouncilPlanReviewCard(input) {
26
+ const envelope = parseEnvelope(input.envelopeText);
27
+ // No usable envelope means no seat facts exist to report. Fall back to the
28
+ // generic card rather than invent counts from partial evidence.
29
+ if (envelope == null) {
30
+ return { kind: "generic" };
31
+ }
32
+ let completedSeats = 0;
33
+ let failedSeats = 0;
34
+ let missingSeats = 0;
35
+ for (const seat of envelope.seats) {
36
+ switch (seat.execution_status) {
37
+ case "completed":
38
+ completedSeats += 1;
39
+ break;
40
+ case "failed":
41
+ failedSeats += 1;
42
+ break;
43
+ case "missing":
44
+ missingSeats += 1;
45
+ break;
46
+ }
47
+ }
48
+ return {
49
+ kind: "council-plan-review",
50
+ executionStatus: envelope.execution_status,
51
+ seatCount: envelope.seats.length,
52
+ completedSeats,
53
+ failedSeats,
54
+ missingSeats,
55
+ executionContractDigestPrefix: envelope.execution_contract_digest.slice(0, DIGEST_PREFIX_CHARS),
56
+ chairmanStatus: envelope.chairman.execution_status,
57
+ contextStatus: input.contextStatus,
58
+ };
59
+ }
60
+ function parseEnvelope(text) {
61
+ if (text === undefined || text.length === 0) {
62
+ return undefined;
63
+ }
64
+ let parsed;
65
+ try {
66
+ parsed = JSON.parse(text);
67
+ }
68
+ catch {
69
+ return undefined;
70
+ }
71
+ const result = CouncilPlanReviewResultSchema.safeParse(parsed);
72
+ return result.success ? result.data : undefined;
73
+ }
74
+ //# sourceMappingURL=council-plan-review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"council-plan-review.js","sourceRoot":"","sources":["../../../src/run-summary/cards/council-plan-review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAG9E,iFAAiF;AACjF,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAe/B,MAAM,UAAU,4BAA4B,CAC1C,KAA0B;IAE1B,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAEnD,2EAA2E;IAC3E,gEAAgE;IAChE,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC;IAED,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,QAAQ,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9B,KAAK,WAAW;gBACd,cAAc,IAAI,CAAC,CAAC;gBACpB,MAAM;YACR,KAAK,QAAQ;gBACX,WAAW,IAAI,CAAC,CAAC;gBACjB,MAAM;YACR,KAAK,SAAS;gBACZ,YAAY,IAAI,CAAC,CAAC;gBAClB,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,eAAe,EAAE,QAAQ,CAAC,gBAAgB;QAC1C,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;QAChC,cAAc;QACd,WAAW;QACX,YAAY;QACZ,6BAA6B,EAAE,QAAQ,CAAC,yBAAyB,CAAC,KAAK,CACrE,CAAC,EACD,mBAAmB,CACpB;QACD,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,gBAAgB;QAClD,aAAa,EAAE,KAAK,CAAC,aAAa;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,IAAwB;IAExB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,6BAA6B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/D,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC"}
@@ -11,6 +11,11 @@ export function extractCard(input) {
11
11
  case "council-debug": return extractCouncilDebugCard(input.stageCallArtifacts);
12
12
  case "council-discover": return extractCouncilDiscoverCard(input.stageCallArtifacts);
13
13
  case "council-answer": return extractCouncilAnswerCard(input.stageCallArtifacts);
14
+ // plan-review-receipts is intentionally absent: its card is derived from the
15
+ // projector's validated result envelope in run-summary.ts, because a raw
16
+ // reviewer artifact is untrusted until identity is stripped and the
17
+ // candidate revalidated. Deriving seat outcomes here would report receipts
18
+ // the runtime never accepted. See ./council-plan-review.ts (card kind "council-plan-review").
14
19
  default: return extractGenericCard();
15
20
  }
16
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/run-summary/cards/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOlD,MAAM,UAAU,WAAW,CAAC,KAA0B;IACpD,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;QAC7B,KAAK,iBAAiB,CAAC,CAAC,OAAO,yBAAyB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACnF,KAAK,qBAAqB,CAAC,CAAC,OAAO,4BAA4B,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC1F,KAAK,eAAe,CAAC,CAAC,OAAO,uBAAuB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC/E,KAAK,kBAAkB,CAAC,CAAC,OAAO,0BAA0B,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACrF,KAAK,gBAAgB,CAAC,CAAC,OAAO,wBAAwB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACjF,OAAO,CAAC,CAAC,OAAO,kBAAkB,EAAE,CAAC;IACvC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/run-summary/cards/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOlD,MAAM,UAAU,WAAW,CAAC,KAA0B;IACpD,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;QAC7B,KAAK,iBAAiB,CAAC,CAAC,OAAO,yBAAyB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACnF,KAAK,qBAAqB,CAAC,CAAC,OAAO,4BAA4B,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC1F,KAAK,eAAe,CAAC,CAAC,OAAO,uBAAuB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC/E,KAAK,kBAAkB,CAAC,CAAC,OAAO,0BAA0B,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACrF,KAAK,gBAAgB,CAAC,CAAC,OAAO,wBAAwB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACjF,6EAA6E;QAC7E,yEAAyE;QACzE,oEAAoE;QACpE,2EAA2E;QAC3E,8FAA8F;QAC9F,OAAO,CAAC,CAAC,OAAO,kBAAkB,EAAE,CAAC;IACvC,CAAC;AACH,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import type { NormalizedWorkflowDefinition } from "./definition-normalizer.js";
2
2
  import type { WorkflowExecutionResult, ExecutedCall } from "./engine.js";
3
+ import type { PlanReviewCardContextStatus } from "./run-summary/cards/council-plan-review.js";
3
4
  import type { WorkflowStateStore } from "./state.js";
5
+ import type { WorkflowContext } from "./context-preflight.js";
4
6
  export interface RunSummaryV1 {
5
7
  runId: string;
6
8
  workflow: {
@@ -13,6 +15,7 @@ export interface RunSummaryV1 {
13
15
  attemptCompletedAt: string;
14
16
  stages: RunSummaryStageV1[];
15
17
  card: RunSummaryCardV1;
18
+ workflowContext?: WorkflowContext | undefined;
16
19
  failure?: RunSummaryFailureV1;
17
20
  }
18
21
  export interface RunSummaryStageV1 {
@@ -60,6 +63,16 @@ export type RunSummaryCardV1 = {
60
63
  confidence?: number;
61
64
  caveatCount: number;
62
65
  topCaveats: string[];
66
+ } | {
67
+ kind: "council-plan-review";
68
+ executionStatus: "complete" | "partial";
69
+ seatCount: number;
70
+ completedSeats: number;
71
+ failedSeats: number;
72
+ missingSeats: number;
73
+ executionContractDigestPrefix: string;
74
+ chairmanStatus: "completed" | "failed" | "skipped";
75
+ contextStatus: PlanReviewCardContextStatus;
63
76
  } | {
64
77
  kind: "generic";
65
78
  };
@@ -1,5 +1,7 @@
1
1
  import { logger } from "./logger.js";
2
+ import { PLAN_REVIEW_RECEIPTS_WORKFLOW, isPlanReviewRunState } from "./plan-review/admission.js";
2
3
  import { deriveDecisiveFailure, deriveStagePresentation } from "./run-summary-derived.js";
4
+ import { extractCouncilPlanReviewCard } from "./run-summary/cards/council-plan-review.js";
3
5
  export function deriveCardKind(definitionName) {
4
6
  switch (definitionName) {
5
7
  case "council-default":
@@ -12,6 +14,8 @@ export function deriveCardKind(definitionName) {
12
14
  return "council-discover";
13
15
  case "council-answer":
14
16
  return "council-answer";
17
+ case PLAN_REVIEW_RECEIPTS_WORKFLOW:
18
+ return "council-plan-review";
15
19
  default:
16
20
  return "generic";
17
21
  }
@@ -30,9 +34,32 @@ export function buildSuccessRunSummary(result, store, cardExtractor) {
30
34
  attemptStartedAt: expectTimestamp(runState.startedAt, "run startedAt"),
31
35
  attemptCompletedAt: expectTimestamp(runState.completedAt, "run completedAt"),
32
36
  stages: buildStageSummaries(runState, definition, store),
33
- card: cardExtractor(flattenExecutedCalls(result), definition),
37
+ card: buildCard(result, definition, runState, cardExtractor),
38
+ workflowContext: runState.workflow_context,
34
39
  };
35
40
  }
41
+ /**
42
+ * Plan review is the one council whose card cannot be read off raw call
43
+ * artifacts: only the projector's published `council-plan-review-result-v1`
44
+ * envelope (`result.outputText` under the `plan_review_artifacts` terminal
45
+ * policy) carries seat outcomes the runtime actually validated. Every other
46
+ * workflow keeps the existing artifact-driven extractor untouched.
47
+ */
48
+ function buildCard(result, definition, runState, cardExtractor) {
49
+ // Presence-based typed detection so legacy runs persisted under the
50
+ // pre-rename name "council-plan-review" still get the transport card, while
51
+ // runs of the generic council-plan-review workflow never do.
52
+ if (isPlanReviewRunState(runState)) {
53
+ return extractCouncilPlanReviewCard({
54
+ envelopeText: result.outputText,
55
+ contextStatus: deriveContextStatus(runState),
56
+ });
57
+ }
58
+ return cardExtractor(flattenExecutedCalls(result), definition);
59
+ }
60
+ function deriveContextStatus(runState) {
61
+ return runState.workflow_context?.context_builder.status ?? "absent";
62
+ }
36
63
  export function buildFailureRunSummary(store) {
37
64
  const runState = store.runState;
38
65
  const definition = store.definition;
@@ -49,6 +76,7 @@ export function buildFailureRunSummary(store) {
49
76
  attemptCompletedAt: expectTimestamp(runState.completedAt, "run completedAt"),
50
77
  stages: buildStageSummaries(runState, definition, store),
51
78
  card: { kind: "generic" },
79
+ workflowContext: runState.workflow_context,
52
80
  };
53
81
  if (decisiveFailure != null) {
54
82
  summary.failure = decisiveFailure;
@@ -1 +1 @@
1
- {"version":3,"file":"run-summary.js","sourceRoot":"","sources":["../src/run-summary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-summary.js","sourceRoot":"","sources":["../src/run-summary.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AA6D1F,MAAM,UAAU,cAAc,CAAC,cAAsB;IACnD,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,iBAAiB;YACpB,OAAO,iBAAiB,CAAC;QAC3B,KAAK,qBAAqB;YACxB,OAAO,qBAAqB,CAAC;QAC/B,KAAK,eAAe;YAClB,OAAO,eAAe,CAAC;QACzB,KAAK,kBAAkB;YACrB,OAAO,kBAAkB,CAAC;QAC5B,KAAK,gBAAgB;YACnB,OAAO,gBAAgB,CAAC;QAC1B,KAAK,6BAA6B;YAChC,OAAO,qBAAqB,CAAC;QAC/B;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAA+B,EAC/B,KAAyB,EACzB,aAAsC;IAEtC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAEpC,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,QAAQ,EAAE;YACR,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,OAAO,EAAE,UAAU,CAAC,OAAO;SAC5B;QACD,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC/C,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,gBAAgB,EAAE,eAAe,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;QACtE,kBAAkB,EAAE,eAAe,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;QAC5E,MAAM,EAAE,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC;QACxD,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC;QAC5D,eAAe,EAAE,QAAQ,CAAC,gBAAgB;KAC3C,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,SAAS,CAChB,MAA+B,EAC/B,UAAwC,EACxC,QAAkB,EAClB,aAAsC;IAEtC,oEAAoE;IACpE,4EAA4E;IAC5E,6DAA6D;IAC7D,IAAI,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,4BAA4B,CAAC;YAClC,YAAY,EAAE,MAAM,CAAC,UAAU;YAC/B,aAAa,EAAE,mBAAmB,CAAC,QAAQ,CAAC;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,aAAa,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAkB;IAC7C,OAAO,QAAQ,CAAC,gBAAgB,EAAE,eAAe,CAAC,MAAM,IAAI,QAAQ,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAyB;IAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,MAAM,eAAe,GAAG,qBAAqB,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE3E,MAAM,OAAO,GAAiB;QAC5B,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,QAAQ,EAAE;YACR,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,OAAO,EAAE,UAAU,CAAC,OAAO;SAC5B;QACD,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC/C,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,gBAAgB,EAAE,eAAe,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;QACtE,kBAAkB,EAAE,eAAe,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;QAC5E,MAAM,EAAE,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC;QACxD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACzB,eAAe,EAAE,QAAQ,CAAC,gBAAgB;KAC3C,CAAC;IAEF,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5B,OAAO,CAAC,OAAO,GAAG,eAAe,CAAC;IACpC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAA2C,EAC3C,KAAyB,EACzB,aAAsC;IAEtC,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,IAAI;YACnB,CAAC,CAAC,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC;YACtD,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CACT;YACE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC;YACxB,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC5D,EACD,sCAAsC,CACvC,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAAkB,EAClB,UAAwC,EACxC,KAAyB;IAEzB,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,iBAAiB,CACxB,eAAgC,EAChC,YAAwC,EACxC,KAAyB;IAEzB,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,eAAe,CAAC,EAAE,CAAC,CAAC;IACtF,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,gCAAgC,eAAe,CAAC,EAAE,GAAG,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,YAAY,GAAG,uBAAuB,CAC1C,UAAU,CAAC,KAAK,EAChB,eAAe,EACf,KAAK,CAAC,MAAM,CAAC,cAAc,CAC5B,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,eAAe,CAAC,EAAE;QACtB,KAAK,EAAE,eAAe,CAAC,WAAW,IAAI,eAAe,CAAC,eAAe,CAAC,EAAE,CAAC;QACzE,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,cAAc,EAAE,YAAY,CAAC,cAAc;QAC3C,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,YAAY,EAAE,YAAY,CAAC,YAAY;QACvC,cAAc,EAAE,YAAY,CAAC,cAAc;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAA0B;IACxD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB;YACE,MAAM,IAAI,KAAK,CAAC,wDAAwD,MAAM,GAAG,CAAC,CAAC;IACvF,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB,EAAE,KAAa;IAC/D,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA+B;IAC3D,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,eAAe,CAAC,EAAU;IACjC,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,SAAS,CAAC,KAAyB;IAC1C,IAAI,CAAC;QACH,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -57,10 +57,11 @@ export declare const CallSchema: z.ZodEffects<z.ZodObject<{
57
57
  cli_name: z.ZodString;
58
58
  role: z.ZodString;
59
59
  reducer: z.ZodOptional<z.ZodString>;
60
+ post_processor: z.ZodOptional<z.ZodString>;
60
61
  anonymize_context: z.ZodOptional<z.ZodBoolean>;
61
62
  timeout_seconds: z.ZodOptional<z.ZodNumber>;
62
63
  absolute_file_paths: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
63
- absolute_file_paths_from: z.ZodOptional<z.ZodString>;
64
+ absolute_file_paths_from: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
64
65
  images: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
65
66
  images_from: z.ZodOptional<z.ZodString>;
66
67
  context_from: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, string[], string | string[]>>;
@@ -75,10 +76,11 @@ export declare const CallSchema: z.ZodEffects<z.ZodObject<{
75
76
  cli_name: string;
76
77
  role: string;
77
78
  reducer?: string | undefined;
79
+ post_processor?: string | undefined;
78
80
  anonymize_context?: boolean | undefined;
79
81
  timeout_seconds?: number | undefined;
80
82
  absolute_file_paths?: string[] | undefined;
81
- absolute_file_paths_from?: string | undefined;
83
+ absolute_file_paths_from?: string | string[] | undefined;
82
84
  images?: string[] | undefined;
83
85
  images_from?: string | undefined;
84
86
  context_from?: string[] | undefined;
@@ -92,10 +94,11 @@ export declare const CallSchema: z.ZodEffects<z.ZodObject<{
92
94
  cli_name: string;
93
95
  role: string;
94
96
  reducer?: string | undefined;
97
+ post_processor?: string | undefined;
95
98
  anonymize_context?: boolean | undefined;
96
99
  timeout_seconds?: number | undefined;
97
100
  absolute_file_paths?: string[] | undefined;
98
- absolute_file_paths_from?: string | undefined;
101
+ absolute_file_paths_from?: string | string[] | undefined;
99
102
  images?: string[] | undefined;
100
103
  images_from?: string | undefined;
101
104
  context_from?: string | string[] | undefined;
@@ -109,10 +112,11 @@ export declare const CallSchema: z.ZodEffects<z.ZodObject<{
109
112
  cli_name: string;
110
113
  role: string;
111
114
  reducer?: string | undefined;
115
+ post_processor?: string | undefined;
112
116
  anonymize_context?: boolean | undefined;
113
117
  timeout_seconds?: number | undefined;
114
118
  absolute_file_paths?: string[] | undefined;
115
- absolute_file_paths_from?: string | undefined;
119
+ absolute_file_paths_from?: string | string[] | undefined;
116
120
  images?: string[] | undefined;
117
121
  images_from?: string | undefined;
118
122
  context_from?: string[] | undefined;
@@ -126,10 +130,11 @@ export declare const CallSchema: z.ZodEffects<z.ZodObject<{
126
130
  cli_name: string;
127
131
  role: string;
128
132
  reducer?: string | undefined;
133
+ post_processor?: string | undefined;
129
134
  anonymize_context?: boolean | undefined;
130
135
  timeout_seconds?: number | undefined;
131
136
  absolute_file_paths?: string[] | undefined;
132
- absolute_file_paths_from?: string | undefined;
137
+ absolute_file_paths_from?: string | string[] | undefined;
133
138
  images?: string[] | undefined;
134
139
  images_from?: string | undefined;
135
140
  context_from?: string | string[] | undefined;
@@ -166,10 +171,11 @@ export declare const StageSchema: z.ZodObject<{
166
171
  cli_name: z.ZodString;
167
172
  role: z.ZodString;
168
173
  reducer: z.ZodOptional<z.ZodString>;
174
+ post_processor: z.ZodOptional<z.ZodString>;
169
175
  anonymize_context: z.ZodOptional<z.ZodBoolean>;
170
176
  timeout_seconds: z.ZodOptional<z.ZodNumber>;
171
177
  absolute_file_paths: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
172
- absolute_file_paths_from: z.ZodOptional<z.ZodString>;
178
+ absolute_file_paths_from: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
173
179
  images: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
174
180
  images_from: z.ZodOptional<z.ZodString>;
175
181
  context_from: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, string[], string | string[]>>;
@@ -184,10 +190,11 @@ export declare const StageSchema: z.ZodObject<{
184
190
  cli_name: string;
185
191
  role: string;
186
192
  reducer?: string | undefined;
193
+ post_processor?: string | undefined;
187
194
  anonymize_context?: boolean | undefined;
188
195
  timeout_seconds?: number | undefined;
189
196
  absolute_file_paths?: string[] | undefined;
190
- absolute_file_paths_from?: string | undefined;
197
+ absolute_file_paths_from?: string | string[] | undefined;
191
198
  images?: string[] | undefined;
192
199
  images_from?: string | undefined;
193
200
  context_from?: string[] | undefined;
@@ -201,10 +208,11 @@ export declare const StageSchema: z.ZodObject<{
201
208
  cli_name: string;
202
209
  role: string;
203
210
  reducer?: string | undefined;
211
+ post_processor?: string | undefined;
204
212
  anonymize_context?: boolean | undefined;
205
213
  timeout_seconds?: number | undefined;
206
214
  absolute_file_paths?: string[] | undefined;
207
- absolute_file_paths_from?: string | undefined;
215
+ absolute_file_paths_from?: string | string[] | undefined;
208
216
  images?: string[] | undefined;
209
217
  images_from?: string | undefined;
210
218
  context_from?: string | string[] | undefined;
@@ -218,10 +226,11 @@ export declare const StageSchema: z.ZodObject<{
218
226
  cli_name: string;
219
227
  role: string;
220
228
  reducer?: string | undefined;
229
+ post_processor?: string | undefined;
221
230
  anonymize_context?: boolean | undefined;
222
231
  timeout_seconds?: number | undefined;
223
232
  absolute_file_paths?: string[] | undefined;
224
- absolute_file_paths_from?: string | undefined;
233
+ absolute_file_paths_from?: string | string[] | undefined;
225
234
  images?: string[] | undefined;
226
235
  images_from?: string | undefined;
227
236
  context_from?: string[] | undefined;
@@ -235,10 +244,11 @@ export declare const StageSchema: z.ZodObject<{
235
244
  cli_name: string;
236
245
  role: string;
237
246
  reducer?: string | undefined;
247
+ post_processor?: string | undefined;
238
248
  anonymize_context?: boolean | undefined;
239
249
  timeout_seconds?: number | undefined;
240
250
  absolute_file_paths?: string[] | undefined;
241
- absolute_file_paths_from?: string | undefined;
251
+ absolute_file_paths_from?: string | string[] | undefined;
242
252
  images?: string[] | undefined;
243
253
  images_from?: string | undefined;
244
254
  context_from?: string | string[] | undefined;
@@ -263,10 +273,11 @@ export declare const StageSchema: z.ZodObject<{
263
273
  cli_name: string;
264
274
  role: string;
265
275
  reducer?: string | undefined;
276
+ post_processor?: string | undefined;
266
277
  anonymize_context?: boolean | undefined;
267
278
  timeout_seconds?: number | undefined;
268
279
  absolute_file_paths?: string[] | undefined;
269
- absolute_file_paths_from?: string | undefined;
280
+ absolute_file_paths_from?: string | string[] | undefined;
270
281
  images?: string[] | undefined;
271
282
  images_from?: string | undefined;
272
283
  context_from?: string[] | undefined;
@@ -284,10 +295,11 @@ export declare const StageSchema: z.ZodObject<{
284
295
  cli_name: string;
285
296
  role: string;
286
297
  reducer?: string | undefined;
298
+ post_processor?: string | undefined;
287
299
  anonymize_context?: boolean | undefined;
288
300
  timeout_seconds?: number | undefined;
289
301
  absolute_file_paths?: string[] | undefined;
290
- absolute_file_paths_from?: string | undefined;
302
+ absolute_file_paths_from?: string | string[] | undefined;
291
303
  images?: string[] | undefined;
292
304
  images_from?: string | undefined;
293
305
  context_from?: string | string[] | undefined;
@@ -311,12 +323,26 @@ export type Stage = z.infer<typeof StageSchema>;
311
323
  export declare const WorkflowSettingsSchema: z.ZodObject<{
312
324
  timeout_seconds: z.ZodDefault<z.ZodNumber>;
313
325
  max_retries: z.ZodDefault<z.ZodNumber>;
326
+ /**
327
+ * Opt-in (default off): hard-fail the run when context-builder preflight
328
+ * selects zero files. Default behavior warns and proceeds, falling back to
329
+ * caller-provided context_files (decision D3).
330
+ */
331
+ fail_on_empty_context_selection: z.ZodDefault<z.ZodBoolean>;
332
+ fail_on_degraded_context_coverage: z.ZodDefault<z.ZodBoolean>;
333
+ include_selected_context_artifact: z.ZodDefault<z.ZodBoolean>;
314
334
  }, "strip", z.ZodTypeAny, {
315
335
  max_retries: number;
316
336
  timeout_seconds: number;
337
+ fail_on_empty_context_selection: boolean;
338
+ fail_on_degraded_context_coverage: boolean;
339
+ include_selected_context_artifact: boolean;
317
340
  }, {
318
341
  max_retries?: number | undefined;
319
342
  timeout_seconds?: number | undefined;
343
+ fail_on_empty_context_selection?: boolean | undefined;
344
+ fail_on_degraded_context_coverage?: boolean | undefined;
345
+ include_selected_context_artifact?: boolean | undefined;
320
346
  }>;
321
347
  export type WorkflowSettings = z.infer<typeof WorkflowSettingsSchema>;
322
348
  export declare const WorkflowDefinitionSchema: z.ZodObject<{
@@ -349,10 +375,11 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
349
375
  cli_name: z.ZodString;
350
376
  role: z.ZodString;
351
377
  reducer: z.ZodOptional<z.ZodString>;
378
+ post_processor: z.ZodOptional<z.ZodString>;
352
379
  anonymize_context: z.ZodOptional<z.ZodBoolean>;
353
380
  timeout_seconds: z.ZodOptional<z.ZodNumber>;
354
381
  absolute_file_paths: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
355
- absolute_file_paths_from: z.ZodOptional<z.ZodString>;
382
+ absolute_file_paths_from: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
356
383
  images: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
357
384
  images_from: z.ZodOptional<z.ZodString>;
358
385
  context_from: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, string[], string | string[]>>;
@@ -367,10 +394,11 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
367
394
  cli_name: string;
368
395
  role: string;
369
396
  reducer?: string | undefined;
397
+ post_processor?: string | undefined;
370
398
  anonymize_context?: boolean | undefined;
371
399
  timeout_seconds?: number | undefined;
372
400
  absolute_file_paths?: string[] | undefined;
373
- absolute_file_paths_from?: string | undefined;
401
+ absolute_file_paths_from?: string | string[] | undefined;
374
402
  images?: string[] | undefined;
375
403
  images_from?: string | undefined;
376
404
  context_from?: string[] | undefined;
@@ -384,10 +412,11 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
384
412
  cli_name: string;
385
413
  role: string;
386
414
  reducer?: string | undefined;
415
+ post_processor?: string | undefined;
387
416
  anonymize_context?: boolean | undefined;
388
417
  timeout_seconds?: number | undefined;
389
418
  absolute_file_paths?: string[] | undefined;
390
- absolute_file_paths_from?: string | undefined;
419
+ absolute_file_paths_from?: string | string[] | undefined;
391
420
  images?: string[] | undefined;
392
421
  images_from?: string | undefined;
393
422
  context_from?: string | string[] | undefined;
@@ -401,10 +430,11 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
401
430
  cli_name: string;
402
431
  role: string;
403
432
  reducer?: string | undefined;
433
+ post_processor?: string | undefined;
404
434
  anonymize_context?: boolean | undefined;
405
435
  timeout_seconds?: number | undefined;
406
436
  absolute_file_paths?: string[] | undefined;
407
- absolute_file_paths_from?: string | undefined;
437
+ absolute_file_paths_from?: string | string[] | undefined;
408
438
  images?: string[] | undefined;
409
439
  images_from?: string | undefined;
410
440
  context_from?: string[] | undefined;
@@ -418,10 +448,11 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
418
448
  cli_name: string;
419
449
  role: string;
420
450
  reducer?: string | undefined;
451
+ post_processor?: string | undefined;
421
452
  anonymize_context?: boolean | undefined;
422
453
  timeout_seconds?: number | undefined;
423
454
  absolute_file_paths?: string[] | undefined;
424
- absolute_file_paths_from?: string | undefined;
455
+ absolute_file_paths_from?: string | string[] | undefined;
425
456
  images?: string[] | undefined;
426
457
  images_from?: string | undefined;
427
458
  context_from?: string | string[] | undefined;
@@ -446,10 +477,11 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
446
477
  cli_name: string;
447
478
  role: string;
448
479
  reducer?: string | undefined;
480
+ post_processor?: string | undefined;
449
481
  anonymize_context?: boolean | undefined;
450
482
  timeout_seconds?: number | undefined;
451
483
  absolute_file_paths?: string[] | undefined;
452
- absolute_file_paths_from?: string | undefined;
484
+ absolute_file_paths_from?: string | string[] | undefined;
453
485
  images?: string[] | undefined;
454
486
  images_from?: string | undefined;
455
487
  context_from?: string[] | undefined;
@@ -467,10 +499,11 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
467
499
  cli_name: string;
468
500
  role: string;
469
501
  reducer?: string | undefined;
502
+ post_processor?: string | undefined;
470
503
  anonymize_context?: boolean | undefined;
471
504
  timeout_seconds?: number | undefined;
472
505
  absolute_file_paths?: string[] | undefined;
473
- absolute_file_paths_from?: string | undefined;
506
+ absolute_file_paths_from?: string | string[] | undefined;
474
507
  images?: string[] | undefined;
475
508
  images_from?: string | undefined;
476
509
  context_from?: string | string[] | undefined;
@@ -509,12 +542,26 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
509
542
  settings: z.ZodDefault<z.ZodObject<{
510
543
  timeout_seconds: z.ZodDefault<z.ZodNumber>;
511
544
  max_retries: z.ZodDefault<z.ZodNumber>;
545
+ /**
546
+ * Opt-in (default off): hard-fail the run when context-builder preflight
547
+ * selects zero files. Default behavior warns and proceeds, falling back to
548
+ * caller-provided context_files (decision D3).
549
+ */
550
+ fail_on_empty_context_selection: z.ZodDefault<z.ZodBoolean>;
551
+ fail_on_degraded_context_coverage: z.ZodDefault<z.ZodBoolean>;
552
+ include_selected_context_artifact: z.ZodDefault<z.ZodBoolean>;
512
553
  }, "strip", z.ZodTypeAny, {
513
554
  max_retries: number;
514
555
  timeout_seconds: number;
556
+ fail_on_empty_context_selection: boolean;
557
+ fail_on_degraded_context_coverage: boolean;
558
+ include_selected_context_artifact: boolean;
515
559
  }, {
516
560
  max_retries?: number | undefined;
517
561
  timeout_seconds?: number | undefined;
562
+ fail_on_empty_context_selection?: boolean | undefined;
563
+ fail_on_degraded_context_coverage?: boolean | undefined;
564
+ include_selected_context_artifact?: boolean | undefined;
518
565
  }>>;
519
566
  }, "strip", z.ZodTypeAny, {
520
567
  description: string;
@@ -535,10 +582,11 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
535
582
  cli_name: string;
536
583
  role: string;
537
584
  reducer?: string | undefined;
585
+ post_processor?: string | undefined;
538
586
  anonymize_context?: boolean | undefined;
539
587
  timeout_seconds?: number | undefined;
540
588
  absolute_file_paths?: string[] | undefined;
541
- absolute_file_paths_from?: string | undefined;
589
+ absolute_file_paths_from?: string | string[] | undefined;
542
590
  images?: string[] | undefined;
543
591
  images_from?: string | undefined;
544
592
  context_from?: string[] | undefined;
@@ -559,6 +607,9 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
559
607
  settings: {
560
608
  max_retries: number;
561
609
  timeout_seconds: number;
610
+ fail_on_empty_context_selection: boolean;
611
+ fail_on_degraded_context_coverage: boolean;
612
+ include_selected_context_artifact: boolean;
562
613
  };
563
614
  }, {
564
615
  description: string;
@@ -571,10 +622,11 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
571
622
  cli_name: string;
572
623
  role: string;
573
624
  reducer?: string | undefined;
625
+ post_processor?: string | undefined;
574
626
  anonymize_context?: boolean | undefined;
575
627
  timeout_seconds?: number | undefined;
576
628
  absolute_file_paths?: string[] | undefined;
577
- absolute_file_paths_from?: string | undefined;
629
+ absolute_file_paths_from?: string | string[] | undefined;
578
630
  images?: string[] | undefined;
579
631
  images_from?: string | undefined;
580
632
  context_from?: string | string[] | undefined;
@@ -603,6 +655,9 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
603
655
  settings?: {
604
656
  max_retries?: number | undefined;
605
657
  timeout_seconds?: number | undefined;
658
+ fail_on_empty_context_selection?: boolean | undefined;
659
+ fail_on_degraded_context_coverage?: boolean | undefined;
660
+ include_selected_context_artifact?: boolean | undefined;
606
661
  } | undefined;
607
662
  }>;
608
663
  export type WorkflowDefinition = z.infer<typeof WorkflowDefinitionSchema>;
@@ -62,10 +62,11 @@ const BaseCallSchema = z.object({
62
62
  cli_name: z.string().min(1),
63
63
  role: z.string().min(1),
64
64
  reducer: z.string().optional(),
65
+ post_processor: z.string().optional(),
65
66
  anonymize_context: z.boolean().optional(),
66
67
  timeout_seconds: z.number().positive().optional(),
67
68
  absolute_file_paths: z.array(z.string()).optional(),
68
- absolute_file_paths_from: z.string().optional(),
69
+ absolute_file_paths_from: z.union([z.string(), z.array(z.string())]).optional(),
69
70
  images: z.array(z.string()).optional(),
70
71
  images_from: z.string().optional(),
71
72
  context_from: ContextFromSchema,
@@ -107,6 +108,14 @@ export const StageSchema = z.object({
107
108
  export const WorkflowSettingsSchema = z.object({
108
109
  timeout_seconds: z.number().positive().default(1800),
109
110
  max_retries: z.number().int().min(0).default(0),
111
+ /**
112
+ * Opt-in (default off): hard-fail the run when context-builder preflight
113
+ * selects zero files. Default behavior warns and proceeds, falling back to
114
+ * caller-provided context_files (decision D3).
115
+ */
116
+ fail_on_empty_context_selection: z.boolean().default(false),
117
+ fail_on_degraded_context_coverage: z.boolean().default(false),
118
+ include_selected_context_artifact: z.boolean().default(false),
110
119
  });
111
120
  export const WorkflowDefinitionSchema = z.object({
112
121
  name: IdSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAEtC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC;KACtB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,KAAK,CAAC,UAAU,EAAE,gDAAgD,CAAC,CAAC;AAEvE,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC;IACvC,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SACjE,QAAQ,EAAE;IACb,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAIH,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;SAC/B,OAAO,CAAC,gBAAgB,CAAC;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACnD,CAAC,CAAC;AAIH,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;GAEG;AACH,MAAM,iBAAiB,GAAG,CAAC;KACxB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;KACxC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KAC3D,QAAQ,EAAE,CAAC;AAEd,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,EAAE,EAAE,QAAQ;IACZ,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACzC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjD,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACnD,wBAAwB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/E,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,iBAAiB;IAC/B,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1D,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc;KACrC,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC;KACD,MAAM,CACL,CAAC,CAAC,EAAE,EAAE;IACJ,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC;IACtD,MAAM,WAAW,GAAG,CAAC,CAAC,eAAe,IAAI,IAAI,IAAI,CAAC,CAAC,eAAe,KAAK,EAAE,CAAC;IAC1E,OAAO,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,WAAW,CAAC,CAAC;AACpE,CAAC,EACD;IACE,OAAO,EACL,sEAAsE;IACxE,IAAI,EAAE,CAAC,QAAQ,CAAC;CACjB,CACF,CAAC;AAIJ,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,EAAE,EAAE,QAAQ;IACZ,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACnC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;IACpC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAC1D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,mCAAmC,CAAC;CACvE,CAAC,CAAC;AAIH,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACpD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C;;;;OAIG;IACH,+BAA+B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3D,iCAAiC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC7D,iCAAiC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9D,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,uCAAuC,CAAC;IAC5E,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACzD,QAAQ,EAAE,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;CAC7C,CAAC,CAAC;AAIH,8EAA8E;AAC9E,8CAA8C;AAC9C,8EAA8E;AAE9E,OAAO,EAAE,UAAU,EAAE,CAAC"}