clinkx 0.3.0 → 1.1.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 (669) hide show
  1. package/CHANGELOG.md +119 -0
  2. package/LICENSE +10 -0
  3. package/README.md +154 -26
  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/chairman-knobs.d.ts +24 -0
  12. package/clinkx-workflows/dist/chairman-knobs.js +27 -0
  13. package/clinkx-workflows/dist/chairman-knobs.js.map +1 -0
  14. package/clinkx-workflows/dist/citation-check.d.ts +40 -0
  15. package/clinkx-workflows/dist/citation-check.js +348 -0
  16. package/clinkx-workflows/dist/citation-check.js.map +1 -0
  17. package/clinkx-workflows/dist/clink-client.d.ts +12 -1
  18. package/clinkx-workflows/dist/clink-client.js +56 -5
  19. package/clinkx-workflows/dist/clink-client.js.map +1 -1
  20. package/clinkx-workflows/dist/config.d.ts +173 -16
  21. package/clinkx-workflows/dist/config.js +417 -26
  22. package/clinkx-workflows/dist/config.js.map +1 -1
  23. package/clinkx-workflows/dist/contained-file.d.ts +172 -0
  24. package/clinkx-workflows/dist/contained-file.js +483 -0
  25. package/clinkx-workflows/dist/contained-file.js.map +1 -0
  26. package/clinkx-workflows/dist/context-builder-lifecycle-contract.d.ts +416 -0
  27. package/clinkx-workflows/dist/context-builder-lifecycle-contract.js +328 -0
  28. package/clinkx-workflows/dist/context-builder-lifecycle-contract.js.map +1 -0
  29. package/clinkx-workflows/dist/context-builder-lifecycle-router.d.ts +24 -0
  30. package/clinkx-workflows/dist/context-builder-lifecycle-router.js +39 -0
  31. package/clinkx-workflows/dist/context-builder-lifecycle-router.js.map +1 -0
  32. package/clinkx-workflows/dist/context-cache-key.d.ts +53 -0
  33. package/clinkx-workflows/dist/context-cache-key.js +91 -0
  34. package/clinkx-workflows/dist/context-cache-key.js.map +1 -0
  35. package/clinkx-workflows/dist/context-mode-resolver.d.ts +27 -0
  36. package/clinkx-workflows/dist/context-mode-resolver.js +126 -0
  37. package/clinkx-workflows/dist/context-mode-resolver.js.map +1 -0
  38. package/clinkx-workflows/dist/context-preflight.d.ts +189 -0
  39. package/clinkx-workflows/dist/context-preflight.js +91 -0
  40. package/clinkx-workflows/dist/context-preflight.js.map +1 -0
  41. package/clinkx-workflows/dist/council-execution-policy.d.ts +68 -0
  42. package/clinkx-workflows/dist/council-execution-policy.js +110 -0
  43. package/clinkx-workflows/dist/council-execution-policy.js.map +1 -0
  44. package/clinkx-workflows/dist/council-expander.d.ts +10 -9
  45. package/clinkx-workflows/dist/council-expander.js +20 -10
  46. package/clinkx-workflows/dist/council-expander.js.map +1 -1
  47. package/clinkx-workflows/dist/dashboard/activity-contract.d.ts +5718 -0
  48. package/clinkx-workflows/dist/dashboard/activity-contract.js +157 -0
  49. package/clinkx-workflows/dist/dashboard/activity-contract.js.map +1 -0
  50. package/clinkx-workflows/dist/dashboard/activity-lease.d.ts +25 -0
  51. package/clinkx-workflows/dist/dashboard/activity-lease.js +34 -0
  52. package/clinkx-workflows/dist/dashboard/activity-lease.js.map +1 -0
  53. package/clinkx-workflows/dist/dashboard/activity-reader.d.ts +90 -0
  54. package/clinkx-workflows/dist/dashboard/activity-reader.js +493 -0
  55. package/clinkx-workflows/dist/dashboard/activity-reader.js.map +1 -0
  56. package/clinkx-workflows/dist/dashboard/api-routes.d.ts +40 -0
  57. package/clinkx-workflows/dist/dashboard/api-routes.js +1155 -0
  58. package/clinkx-workflows/dist/dashboard/api-routes.js.map +1 -0
  59. package/clinkx-workflows/dist/dashboard/artifact-index.d.ts +37 -0
  60. package/clinkx-workflows/dist/dashboard/artifact-index.js +145 -0
  61. package/clinkx-workflows/dist/dashboard/artifact-index.js.map +1 -0
  62. package/clinkx-workflows/dist/dashboard/auth/challenge-store.d.ts +31 -0
  63. package/clinkx-workflows/dist/dashboard/auth/challenge-store.js +65 -0
  64. package/clinkx-workflows/dist/dashboard/auth/challenge-store.js.map +1 -0
  65. package/clinkx-workflows/dist/dashboard/auth/controller.d.ts +26 -0
  66. package/clinkx-workflows/dist/dashboard/auth/controller.js +596 -0
  67. package/clinkx-workflows/dist/dashboard/auth/controller.js.map +1 -0
  68. package/clinkx-workflows/dist/dashboard/auth/credential-store.d.ts +60 -0
  69. package/clinkx-workflows/dist/dashboard/auth/credential-store.js +776 -0
  70. package/clinkx-workflows/dist/dashboard/auth/credential-store.js.map +1 -0
  71. package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.d.ts +9 -0
  72. package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.js +44 -0
  73. package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.js.map +1 -0
  74. package/clinkx-workflows/dist/dashboard/auth/session-store.d.ts +17 -0
  75. package/clinkx-workflows/dist/dashboard/auth/session-store.js +77 -0
  76. package/clinkx-workflows/dist/dashboard/auth/session-store.js.map +1 -0
  77. package/clinkx-workflows/dist/dashboard/auth/webauthn-service.d.ts +25 -0
  78. package/clinkx-workflows/dist/dashboard/auth/webauthn-service.js +71 -0
  79. package/clinkx-workflows/dist/dashboard/auth/webauthn-service.js.map +1 -0
  80. package/clinkx-workflows/dist/dashboard/context-builder-invocation-contract.d.ts +3865 -0
  81. package/clinkx-workflows/dist/dashboard/context-builder-invocation-contract.js +69 -0
  82. package/clinkx-workflows/dist/dashboard/context-builder-invocation-contract.js.map +1 -0
  83. package/clinkx-workflows/dist/dashboard/context-run-liveness.d.ts +37 -0
  84. package/clinkx-workflows/dist/dashboard/context-run-liveness.js +49 -0
  85. package/clinkx-workflows/dist/dashboard/context-run-liveness.js.map +1 -0
  86. package/clinkx-workflows/dist/dashboard/context-run-reader.d.ts +256 -0
  87. package/clinkx-workflows/dist/dashboard/context-run-reader.js +1301 -0
  88. package/clinkx-workflows/dist/dashboard/context-run-reader.js.map +1 -0
  89. package/clinkx-workflows/dist/dashboard/contracts.d.ts +28483 -0
  90. package/clinkx-workflows/dist/dashboard/contracts.js +1284 -0
  91. package/clinkx-workflows/dist/dashboard/contracts.js.map +1 -0
  92. package/clinkx-workflows/dist/dashboard/generation.d.ts +14 -0
  93. package/clinkx-workflows/dist/dashboard/generation.js +41 -0
  94. package/clinkx-workflows/dist/dashboard/generation.js.map +1 -0
  95. package/clinkx-workflows/dist/dashboard/index.d.ts +32 -0
  96. package/clinkx-workflows/dist/dashboard/index.js +20 -0
  97. package/clinkx-workflows/dist/dashboard/index.js.map +1 -0
  98. package/clinkx-workflows/dist/dashboard/invocation-contract.d.ts +786 -0
  99. package/clinkx-workflows/dist/dashboard/invocation-contract.js +201 -0
  100. package/clinkx-workflows/dist/dashboard/invocation-contract.js.map +1 -0
  101. package/clinkx-workflows/dist/dashboard/lazy-content.d.ts +114 -0
  102. package/clinkx-workflows/dist/dashboard/lazy-content.js +799 -0
  103. package/clinkx-workflows/dist/dashboard/lazy-content.js.map +1 -0
  104. package/clinkx-workflows/dist/dashboard/native-transcript/contract.d.ts +90 -0
  105. package/clinkx-workflows/dist/dashboard/native-transcript/contract.js +31 -0
  106. package/clinkx-workflows/dist/dashboard/native-transcript/contract.js.map +1 -0
  107. package/clinkx-workflows/dist/dashboard/native-transcript/projection.d.ts +12 -0
  108. package/clinkx-workflows/dist/dashboard/native-transcript/projection.js +286 -0
  109. package/clinkx-workflows/dist/dashboard/native-transcript/projection.js.map +1 -0
  110. package/clinkx-workflows/dist/dashboard/progress-report-contract.d.ts +446 -0
  111. package/clinkx-workflows/dist/dashboard/progress-report-contract.js +221 -0
  112. package/clinkx-workflows/dist/dashboard/progress-report-contract.js.map +1 -0
  113. package/clinkx-workflows/dist/dashboard/progress-report-reader.d.ts +50 -0
  114. package/clinkx-workflows/dist/dashboard/progress-report-reader.js +529 -0
  115. package/clinkx-workflows/dist/dashboard/progress-report-reader.js.map +1 -0
  116. package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.d.ts +89 -0
  117. package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.js +71 -0
  118. package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.js.map +1 -0
  119. package/clinkx-workflows/dist/dashboard/progress-report-status-store.d.ts +29 -0
  120. package/clinkx-workflows/dist/dashboard/progress-report-status-store.js +111 -0
  121. package/clinkx-workflows/dist/dashboard/progress-report-status-store.js.map +1 -0
  122. package/clinkx-workflows/dist/dashboard/prompt-builder-library-contract.d.ts +194 -0
  123. package/clinkx-workflows/dist/dashboard/prompt-builder-library-contract.js +89 -0
  124. package/clinkx-workflows/dist/dashboard/prompt-builder-library-contract.js.map +1 -0
  125. package/clinkx-workflows/dist/dashboard/prompt-builder-library-store.d.ts +26 -0
  126. package/clinkx-workflows/dist/dashboard/prompt-builder-library-store.js +102 -0
  127. package/clinkx-workflows/dist/dashboard/prompt-builder-library-store.js.map +1 -0
  128. package/clinkx-workflows/dist/dashboard/read-model.d.ts +86 -0
  129. package/clinkx-workflows/dist/dashboard/read-model.js +440 -0
  130. package/clinkx-workflows/dist/dashboard/read-model.js.map +1 -0
  131. package/clinkx-workflows/dist/dashboard/request-admission.d.ts +31 -0
  132. package/clinkx-workflows/dist/dashboard/request-admission.js +130 -0
  133. package/clinkx-workflows/dist/dashboard/request-admission.js.map +1 -0
  134. package/clinkx-workflows/dist/dashboard/scanner.d.ts +78 -0
  135. package/clinkx-workflows/dist/dashboard/scanner.js +1154 -0
  136. package/clinkx-workflows/dist/dashboard/scanner.js.map +1 -0
  137. package/clinkx-workflows/dist/dashboard/server-factory.d.ts +63 -0
  138. package/clinkx-workflows/dist/dashboard/server-factory.js +483 -0
  139. package/clinkx-workflows/dist/dashboard/server-factory.js.map +1 -0
  140. package/clinkx-workflows/dist/dashboard/session-log-contract.d.ts +2778 -0
  141. package/clinkx-workflows/dist/dashboard/session-log-contract.js +506 -0
  142. package/clinkx-workflows/dist/dashboard/session-log-contract.js.map +1 -0
  143. package/clinkx-workflows/dist/dashboard/session-log-identity.d.ts +21 -0
  144. package/clinkx-workflows/dist/dashboard/session-log-identity.js +101 -0
  145. package/clinkx-workflows/dist/dashboard/session-log-identity.js.map +1 -0
  146. package/clinkx-workflows/dist/dashboard/session-log-journal.d.ts +43 -0
  147. package/clinkx-workflows/dist/dashboard/session-log-journal.js +529 -0
  148. package/clinkx-workflows/dist/dashboard/session-log-journal.js.map +1 -0
  149. package/clinkx-workflows/dist/dashboard/session-log-reader.d.ts +61 -0
  150. package/clinkx-workflows/dist/dashboard/session-log-reader.js +378 -0
  151. package/clinkx-workflows/dist/dashboard/session-log-reader.js.map +1 -0
  152. package/clinkx-workflows/dist/dashboard/session-log-redaction.d.ts +14 -0
  153. package/clinkx-workflows/dist/dashboard/session-log-redaction.js +1101 -0
  154. package/clinkx-workflows/dist/dashboard/session-log-redaction.js.map +1 -0
  155. package/clinkx-workflows/dist/dashboard/session-log-retention.d.ts +23 -0
  156. package/clinkx-workflows/dist/dashboard/session-log-retention.js +212 -0
  157. package/clinkx-workflows/dist/dashboard/session-log-retention.js.map +1 -0
  158. package/clinkx-workflows/dist/dashboard/static-responses.d.ts +10 -0
  159. package/clinkx-workflows/dist/dashboard/static-responses.js +94 -0
  160. package/clinkx-workflows/dist/dashboard/static-responses.js.map +1 -0
  161. package/clinkx-workflows/dist/dashboard/worker-lock-observer.d.ts +28 -0
  162. package/clinkx-workflows/dist/dashboard/worker-lock-observer.js +241 -0
  163. package/clinkx-workflows/dist/dashboard/worker-lock-observer.js.map +1 -0
  164. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
  165. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
  166. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
  167. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
  168. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2 +0 -0
  169. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff +0 -0
  170. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2 +0 -0
  171. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff +0 -0
  172. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff +0 -0
  173. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2 +0 -0
  174. package/clinkx-workflows/dist/dashboard-ui/assets/index-JPHQVtn9.js +106 -0
  175. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
  176. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  177. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
  178. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
  179. package/clinkx-workflows/dist/dashboard-ui/assets/style-DOMHk-j6.css +1 -0
  180. package/clinkx-workflows/dist/dashboard-ui/contracts/council-plan-review-input-v1.json +158 -0
  181. package/clinkx-workflows/dist/dashboard-ui/index.html +15 -0
  182. package/clinkx-workflows/dist/dashboard-ui/licenses/IBM-Plex-Mono-OFL.txt +93 -0
  183. package/clinkx-workflows/dist/dashboard-ui/licenses/IBM-Plex-Sans-OFL.txt +93 -0
  184. package/clinkx-workflows/dist/dashboard-ui/licenses/JetBrains-Mono-OFL.txt +93 -0
  185. package/clinkx-workflows/dist/dashboard-ui/licenses/NOTICE.md +32 -0
  186. package/clinkx-workflows/dist/dashboard-ui/theme-init.js +8 -0
  187. package/clinkx-workflows/dist/definition-normalizer.d.ts +19 -0
  188. package/clinkx-workflows/dist/definition-normalizer.js.map +1 -1
  189. package/clinkx-workflows/dist/delegate-finalizer-policy.d.ts +26 -0
  190. package/clinkx-workflows/dist/delegate-finalizer-policy.js +72 -0
  191. package/clinkx-workflows/dist/delegate-finalizer-policy.js.map +1 -0
  192. package/clinkx-workflows/dist/delegate-signature.d.ts +14 -0
  193. package/clinkx-workflows/dist/delegate-signature.js +14 -0
  194. package/clinkx-workflows/dist/delegate-signature.js.map +1 -0
  195. package/clinkx-workflows/dist/delegate-validate.d.ts +108 -0
  196. package/clinkx-workflows/dist/delegate-validate.js +148 -0
  197. package/clinkx-workflows/dist/delegate-validate.js.map +1 -0
  198. package/clinkx-workflows/dist/engine.d.ts +251 -0
  199. package/clinkx-workflows/dist/engine.js +1342 -92
  200. package/clinkx-workflows/dist/engine.js.map +1 -1
  201. package/clinkx-workflows/dist/errors.d.ts +24 -2
  202. package/clinkx-workflows/dist/errors.js +30 -2
  203. package/clinkx-workflows/dist/errors.js.map +1 -1
  204. package/clinkx-workflows/dist/fidelity.d.ts +47 -1
  205. package/clinkx-workflows/dist/fidelity.js +54 -1
  206. package/clinkx-workflows/dist/fidelity.js.map +1 -1
  207. package/clinkx-workflows/dist/fingerprint.d.ts +25 -7
  208. package/clinkx-workflows/dist/fingerprint.js +33 -10
  209. package/clinkx-workflows/dist/fingerprint.js.map +1 -1
  210. package/clinkx-workflows/dist/index.d.ts +19 -0
  211. package/clinkx-workflows/dist/index.js +68 -1
  212. package/clinkx-workflows/dist/index.js.map +1 -1
  213. package/clinkx-workflows/dist/loader.d.ts +9 -3
  214. package/clinkx-workflows/dist/loader.js +92 -21
  215. package/clinkx-workflows/dist/loader.js.map +1 -1
  216. package/clinkx-workflows/dist/logger.d.ts +1 -1
  217. package/clinkx-workflows/dist/logger.js +17 -3
  218. package/clinkx-workflows/dist/logger.js.map +1 -1
  219. package/clinkx-workflows/dist/monotonic-clock.d.ts +19 -0
  220. package/clinkx-workflows/dist/monotonic-clock.js +22 -0
  221. package/clinkx-workflows/dist/monotonic-clock.js.map +1 -0
  222. package/clinkx-workflows/dist/plan-review/admission.d.ts +160 -0
  223. package/clinkx-workflows/dist/plan-review/admission.js +290 -0
  224. package/clinkx-workflows/dist/plan-review/admission.js.map +1 -0
  225. package/clinkx-workflows/dist/plan-review/context-policy.d.ts +55 -0
  226. package/clinkx-workflows/dist/plan-review/context-policy.js +146 -0
  227. package/clinkx-workflows/dist/plan-review/context-policy.js.map +1 -0
  228. package/clinkx-workflows/dist/plan-review/contract.d.ts +763 -0
  229. package/clinkx-workflows/dist/plan-review/contract.js +289 -0
  230. package/clinkx-workflows/dist/plan-review/contract.js.map +1 -0
  231. package/clinkx-workflows/dist/plan-review/digest.d.ts +68 -0
  232. package/clinkx-workflows/dist/plan-review/digest.js +241 -0
  233. package/clinkx-workflows/dist/plan-review/digest.js.map +1 -0
  234. package/clinkx-workflows/dist/plan-review/discovery.d.ts +45 -0
  235. package/clinkx-workflows/dist/plan-review/discovery.js +36 -0
  236. package/clinkx-workflows/dist/plan-review/discovery.js.map +1 -0
  237. package/clinkx-workflows/dist/plan-review/execution-contract.d.ts +298 -0
  238. package/clinkx-workflows/dist/plan-review/execution-contract.js +194 -0
  239. package/clinkx-workflows/dist/plan-review/execution-contract.js.map +1 -0
  240. package/clinkx-workflows/dist/plan-review/expander.d.ts +48 -0
  241. package/clinkx-workflows/dist/plan-review/expander.js +243 -0
  242. package/clinkx-workflows/dist/plan-review/expander.js.map +1 -0
  243. package/clinkx-workflows/dist/plan-review/projector.d.ts +126 -0
  244. package/clinkx-workflows/dist/plan-review/projector.js +437 -0
  245. package/clinkx-workflows/dist/plan-review/projector.js.map +1 -0
  246. package/clinkx-workflows/dist/plan-review/publication.d.ts +95 -0
  247. package/clinkx-workflows/dist/plan-review/publication.js +182 -0
  248. package/clinkx-workflows/dist/plan-review/publication.js.map +1 -0
  249. package/clinkx-workflows/dist/plan-review/ranking-reducer.d.ts +34 -0
  250. package/clinkx-workflows/dist/plan-review/ranking-reducer.js +139 -0
  251. package/clinkx-workflows/dist/plan-review/ranking-reducer.js.map +1 -0
  252. package/clinkx-workflows/dist/plan-review/resume.d.ts +38 -0
  253. package/clinkx-workflows/dist/plan-review/resume.js +122 -0
  254. package/clinkx-workflows/dist/plan-review/resume.js.map +1 -0
  255. package/clinkx-workflows/dist/plan-review/rubric.d.ts +7 -0
  256. package/clinkx-workflows/dist/plan-review/rubric.js +24 -0
  257. package/clinkx-workflows/dist/plan-review/rubric.js.map +1 -0
  258. package/clinkx-workflows/dist/plan-review/run-state.d.ts +398 -0
  259. package/clinkx-workflows/dist/plan-review/run-state.js +183 -0
  260. package/clinkx-workflows/dist/plan-review/run-state.js.map +1 -0
  261. package/clinkx-workflows/dist/plan-review/runtime-policy.d.ts +74 -0
  262. package/clinkx-workflows/dist/plan-review/runtime-policy.js +186 -0
  263. package/clinkx-workflows/dist/plan-review/runtime-policy.js.map +1 -0
  264. package/clinkx-workflows/dist/plan-review/snapshot.d.ts +81 -0
  265. package/clinkx-workflows/dist/plan-review/snapshot.js +170 -0
  266. package/clinkx-workflows/dist/plan-review/snapshot.js.map +1 -0
  267. package/clinkx-workflows/dist/plan-review/stage-error.d.ts +19 -0
  268. package/clinkx-workflows/dist/plan-review/stage-error.js +20 -0
  269. package/clinkx-workflows/dist/plan-review/stage-error.js.map +1 -0
  270. package/clinkx-workflows/dist/post-processors/index.d.ts +20 -0
  271. package/clinkx-workflows/dist/post-processors/index.js +21 -0
  272. package/clinkx-workflows/dist/post-processors/index.js.map +1 -0
  273. package/clinkx-workflows/dist/prompt-budget.d.ts +7 -0
  274. package/clinkx-workflows/dist/prompt-budget.js +7 -1
  275. package/clinkx-workflows/dist/prompt-budget.js.map +1 -1
  276. package/clinkx-workflows/dist/reducers/index.js +2 -0
  277. package/clinkx-workflows/dist/reducers/index.js.map +1 -1
  278. package/clinkx-workflows/dist/roster-contract.d.ts +889 -0
  279. package/clinkx-workflows/dist/roster-contract.js +180 -0
  280. package/clinkx-workflows/dist/roster-contract.js.map +1 -0
  281. package/clinkx-workflows/dist/rosters.d.ts +14 -0
  282. package/clinkx-workflows/dist/rosters.js +169 -0
  283. package/clinkx-workflows/dist/rosters.js.map +1 -0
  284. package/clinkx-workflows/dist/run-health.d.ts +7 -0
  285. package/clinkx-workflows/dist/run-health.js +25 -0
  286. package/clinkx-workflows/dist/run-health.js.map +1 -0
  287. package/clinkx-workflows/dist/run-lock-heartbeat.d.ts +2 -0
  288. package/clinkx-workflows/dist/run-lock-heartbeat.js +3 -0
  289. package/clinkx-workflows/dist/run-lock-heartbeat.js.map +1 -0
  290. package/clinkx-workflows/dist/run-summary/cards/council-plan-review.d.ts +34 -0
  291. package/clinkx-workflows/dist/run-summary/cards/council-plan-review.js +74 -0
  292. package/clinkx-workflows/dist/run-summary/cards/council-plan-review.js.map +1 -0
  293. package/clinkx-workflows/dist/run-summary/cards/index.js +5 -0
  294. package/clinkx-workflows/dist/run-summary/cards/index.js.map +1 -1
  295. package/clinkx-workflows/dist/run-summary.d.ts +13 -0
  296. package/clinkx-workflows/dist/run-summary.js +29 -1
  297. package/clinkx-workflows/dist/run-summary.js.map +1 -1
  298. package/clinkx-workflows/dist/schema.d.ts +140 -21
  299. package/clinkx-workflows/dist/schema.js +34 -1
  300. package/clinkx-workflows/dist/schema.js.map +1 -1
  301. package/clinkx-workflows/dist/seed-terms.d.ts +30 -0
  302. package/clinkx-workflows/dist/seed-terms.js +176 -0
  303. package/clinkx-workflows/dist/seed-terms.js.map +1 -0
  304. package/clinkx-workflows/dist/server.d.ts +5 -2
  305. package/clinkx-workflows/dist/server.js +84 -52
  306. package/clinkx-workflows/dist/server.js.map +1 -1
  307. package/clinkx-workflows/dist/shutdown.d.ts +29 -18
  308. package/clinkx-workflows/dist/shutdown.js +90 -64
  309. package/clinkx-workflows/dist/shutdown.js.map +1 -1
  310. package/clinkx-workflows/dist/state-schema.d.ts +61 -0
  311. package/clinkx-workflows/dist/state.d.ts +175 -3
  312. package/clinkx-workflows/dist/state.js +1398 -44
  313. package/clinkx-workflows/dist/state.js.map +1 -1
  314. package/clinkx-workflows/dist/stdio-watchdog.d.ts +52 -0
  315. package/clinkx-workflows/dist/stdio-watchdog.js +212 -0
  316. package/clinkx-workflows/dist/stdio-watchdog.js.map +1 -0
  317. package/clinkx-workflows/dist/transport.d.ts +15 -0
  318. package/clinkx-workflows/dist/transport.js +19 -10
  319. package/clinkx-workflows/dist/transport.js.map +1 -1
  320. package/clinkx-workflows/dist/types.d.ts +20 -2
  321. package/clinkx-workflows/dist/validators/council.d.ts +334 -101
  322. package/clinkx-workflows/dist/validators/council.js +52 -13
  323. package/clinkx-workflows/dist/validators/council.js.map +1 -1
  324. package/clinkx-workflows/dist/validators/index.d.ts +1 -0
  325. package/clinkx-workflows/dist/validators/index.js +3 -0
  326. package/clinkx-workflows/dist/validators/index.js.map +1 -1
  327. package/clinkx-workflows/dist/validators/plan-review.d.ts +398 -0
  328. package/clinkx-workflows/dist/validators/plan-review.js +316 -0
  329. package/clinkx-workflows/dist/validators/plan-review.js.map +1 -0
  330. package/clinkx-workflows/dist/workflow-receipt.js +188 -4
  331. package/clinkx-workflows/dist/workflow-receipt.js.map +1 -1
  332. package/clinkx-workflows/dist/workflow-tools.d.ts +118 -3
  333. package/clinkx-workflows/dist/workflow-tools.js +2110 -175
  334. package/clinkx-workflows/dist/workflow-tools.js.map +1 -1
  335. package/clinkx-workflows/dist/workspace-signature.d.ts +16 -0
  336. package/clinkx-workflows/dist/workspace-signature.js +388 -0
  337. package/clinkx-workflows/dist/workspace-signature.js.map +1 -0
  338. package/clinkx-workflows/templates/council/answer-chairman.txt +3 -0
  339. package/clinkx-workflows/templates/council/answer-cross-reviewer.txt +3 -0
  340. package/clinkx-workflows/templates/council/answer-specialist.txt +5 -1
  341. package/clinkx-workflows/templates/council/chairman.txt +3 -0
  342. package/clinkx-workflows/templates/council/code-review-chairman.txt +16 -0
  343. package/clinkx-workflows/templates/council/code-review-cross-reviewer.txt +7 -1
  344. package/clinkx-workflows/templates/council/code-review-reviewer.txt +22 -3
  345. package/clinkx-workflows/templates/council/debug-chairman.txt +3 -0
  346. package/clinkx-workflows/templates/council/debug-cross-reviewer.txt +3 -0
  347. package/clinkx-workflows/templates/council/debug-debugger.txt +5 -1
  348. package/clinkx-workflows/templates/council/discover-analyst.txt +5 -1
  349. package/clinkx-workflows/templates/council/discover-chairman.txt +3 -0
  350. package/clinkx-workflows/templates/council/discover-cross-reviewer.txt +3 -0
  351. package/clinkx-workflows/templates/council/member.txt +5 -1
  352. package/clinkx-workflows/templates/council/plan-review-chairman.txt +71 -0
  353. package/clinkx-workflows/templates/council/plan-review-cross-reviewer.txt +54 -0
  354. package/clinkx-workflows/templates/council/plan-review-reviewer.txt +63 -0
  355. package/clinkx-workflows/templates/council/reviewer.txt +3 -0
  356. package/clinkx-workflows/templates/plan-review/chairman.txt +48 -0
  357. package/clinkx-workflows/templates/plan-review/cross-review.txt +52 -0
  358. package/clinkx-workflows/templates/plan-review/ranking.txt +16 -0
  359. package/clinkx-workflows/templates/plan-review/reviewer.txt +57 -0
  360. package/clinkx-workflows/workflows/council-answer.yaml +100 -8
  361. package/clinkx-workflows/workflows/council-code-review.yaml +106 -8
  362. package/clinkx-workflows/workflows/council-debug.yaml +100 -8
  363. package/clinkx-workflows/workflows/council-default.yaml +104 -8
  364. package/clinkx-workflows/workflows/council-discover.yaml +100 -8
  365. package/clinkx-workflows/workflows/council-plan-review.yaml +253 -0
  366. package/clinkx-workflows/workflows/plan-review-receipts.yaml +230 -0
  367. package/conf/adapters/agy.json +56 -0
  368. package/conf/adapters/claude.json +12 -0
  369. package/conf/adapters/codex-app-server.json +44 -0
  370. package/conf/adapters/codex.json +14 -2
  371. package/conf/adapters/glm.json +24 -3
  372. package/conf/adapters/grok.json +67 -0
  373. package/conf/adapters/hapi/agy.json +59 -0
  374. package/conf/adapters/hapi/claude.json +12 -0
  375. package/conf/adapters/hapi/codex.json +14 -2
  376. package/conf/adapters/hapi/glm.json +25 -4
  377. package/conf/rosters/default-council.json +21 -0
  378. package/dist/activity-journal.d.ts +56 -0
  379. package/dist/activity-journal.js +706 -0
  380. package/dist/activity-journal.js.map +1 -0
  381. package/dist/allowed-roots.d.ts +41 -0
  382. package/dist/allowed-roots.js +125 -3
  383. package/dist/allowed-roots.js.map +1 -1
  384. package/dist/codex/activity-session-log.d.ts +14 -0
  385. package/dist/codex/activity-session-log.js +206 -0
  386. package/dist/codex/activity-session-log.js.map +1 -0
  387. package/dist/codex/agent-tools.d.ts +23 -0
  388. package/dist/codex/agent-tools.js +1306 -0
  389. package/dist/codex/agent-tools.js.map +1 -0
  390. package/dist/codex/app-server-client.d.ts +79 -0
  391. package/dist/codex/app-server-client.js +593 -0
  392. package/dist/codex/app-server-client.js.map +1 -0
  393. package/dist/codex/app-server-registry.d.ts +407 -0
  394. package/dist/codex/app-server-registry.js +1493 -0
  395. package/dist/codex/app-server-registry.js.map +1 -0
  396. package/dist/codex/client-types.d.ts +115 -0
  397. package/dist/codex/client-types.js +2 -0
  398. package/dist/codex/client-types.js.map +1 -0
  399. package/dist/codex/protocol.d.ts +5375 -0
  400. package/dist/codex/protocol.js +614 -0
  401. package/dist/codex/protocol.js.map +1 -0
  402. package/dist/codex/session.d.ts +263 -0
  403. package/dist/codex/session.js +466 -0
  404. package/dist/codex/session.js.map +1 -0
  405. package/dist/config.d.ts +386 -23
  406. package/dist/config.js +184 -15
  407. package/dist/config.js.map +1 -1
  408. package/dist/context-builder/anchors.d.ts +1 -0
  409. package/dist/context-builder/anchors.js +3 -0
  410. package/dist/context-builder/anchors.js.map +1 -1
  411. package/dist/context-builder/bundle.d.ts +48 -2
  412. package/dist/context-builder/bundle.js +388 -2417
  413. package/dist/context-builder/bundle.js.map +1 -1
  414. package/dist/context-builder/codemap.d.ts +5 -0
  415. package/dist/context-builder/codemap.js +387 -13
  416. package/dist/context-builder/codemap.js.map +1 -1
  417. package/dist/context-builder/config.d.ts +1 -0
  418. package/dist/context-builder/config.js +12 -0
  419. package/dist/context-builder/config.js.map +1 -1
  420. package/dist/context-builder/context-run-catalog.d.ts +17 -0
  421. package/dist/context-builder/context-run-catalog.js +99 -0
  422. package/dist/context-builder/context-run-catalog.js.map +1 -0
  423. package/dist/context-builder/delegate-finalizer-effective.d.ts +33 -0
  424. package/dist/context-builder/delegate-finalizer-effective.js +82 -0
  425. package/dist/context-builder/delegate-finalizer-effective.js.map +1 -0
  426. package/dist/context-builder/delegate-packet.d.ts +55 -0
  427. package/dist/context-builder/delegate-packet.js +430 -74
  428. package/dist/context-builder/delegate-packet.js.map +1 -1
  429. package/dist/context-builder/delegate-reconstruction.d.ts +29 -0
  430. package/dist/context-builder/delegate-reconstruction.js +110 -41
  431. package/dist/context-builder/delegate-reconstruction.js.map +1 -1
  432. package/dist/context-builder/delegate-validation.d.ts +41 -1
  433. package/dist/context-builder/delegate-validation.js +237 -48
  434. package/dist/context-builder/delegate-validation.js.map +1 -1
  435. package/dist/context-builder/delegate.d.ts +11 -0
  436. package/dist/context-builder/delegate.js +210 -58
  437. package/dist/context-builder/delegate.js.map +1 -1
  438. package/dist/context-builder/diagnostics.d.ts +11 -2
  439. package/dist/context-builder/diagnostics.js +39 -6
  440. package/dist/context-builder/diagnostics.js.map +1 -1
  441. package/dist/context-builder/discovery-progress.d.ts +25 -0
  442. package/dist/context-builder/discovery-progress.js +64 -0
  443. package/dist/context-builder/discovery-progress.js.map +1 -0
  444. package/dist/context-builder/discovery-watchdog.d.ts +15 -0
  445. package/dist/context-builder/discovery-watchdog.js +39 -0
  446. package/dist/context-builder/discovery-watchdog.js.map +1 -0
  447. package/dist/context-builder/discovery.d.ts +36 -1
  448. package/dist/context-builder/discovery.js +584 -172
  449. package/dist/context-builder/discovery.js.map +1 -1
  450. package/dist/context-builder/external-gaps.d.ts +73 -0
  451. package/dist/context-builder/external-gaps.js +248 -0
  452. package/dist/context-builder/external-gaps.js.map +1 -0
  453. package/dist/context-builder/globs.d.ts +1 -0
  454. package/dist/context-builder/globs.js +25 -10
  455. package/dist/context-builder/globs.js.map +1 -1
  456. package/dist/context-builder/handler.d.ts +67 -2
  457. package/dist/context-builder/handler.js +1810 -2440
  458. package/dist/context-builder/handler.js.map +1 -1
  459. package/dist/context-builder/invocation-sidecar.d.ts +41 -0
  460. package/dist/context-builder/invocation-sidecar.js +189 -0
  461. package/dist/context-builder/invocation-sidecar.js.map +1 -0
  462. package/dist/context-builder/lifecycle-contract.d.ts +424 -0
  463. package/dist/context-builder/lifecycle-contract.js +523 -0
  464. package/dist/context-builder/lifecycle-contract.js.map +1 -0
  465. package/dist/context-builder/lifecycle-journal.d.ts +62 -0
  466. package/dist/context-builder/lifecycle-journal.js +88 -0
  467. package/dist/context-builder/lifecycle-journal.js.map +1 -0
  468. package/dist/context-builder/lifecycle-observer.d.ts +102 -0
  469. package/dist/context-builder/lifecycle-observer.js +258 -0
  470. package/dist/context-builder/lifecycle-observer.js.map +1 -0
  471. package/dist/context-builder/lifecycle-reconcile.d.ts +32 -0
  472. package/dist/context-builder/lifecycle-reconcile.js +191 -0
  473. package/dist/context-builder/lifecycle-reconcile.js.map +1 -0
  474. package/dist/context-builder/lifecycle-recovery.d.ts +2 -0
  475. package/dist/context-builder/lifecycle-recovery.js +14 -0
  476. package/dist/context-builder/lifecycle-recovery.js.map +1 -0
  477. package/dist/context-builder/mutation-lock.d.ts +32 -0
  478. package/dist/context-builder/mutation-lock.js +321 -0
  479. package/dist/context-builder/mutation-lock.js.map +1 -0
  480. package/dist/context-builder/path-signals.js +9 -5
  481. package/dist/context-builder/path-signals.js.map +1 -1
  482. package/dist/context-builder/progress.d.ts +3 -1
  483. package/dist/context-builder/progress.js +23 -0
  484. package/dist/context-builder/progress.js.map +1 -1
  485. package/dist/context-builder/receipt.d.ts +6 -4
  486. package/dist/context-builder/receipt.js +12 -1
  487. package/dist/context-builder/receipt.js.map +1 -1
  488. package/dist/context-builder/refine-handler.d.ts +14 -0
  489. package/dist/context-builder/refine-handler.js +790 -0
  490. package/dist/context-builder/refine-handler.js.map +1 -0
  491. package/dist/context-builder/review-coverage.d.ts +116 -0
  492. package/dist/context-builder/review-coverage.js +544 -0
  493. package/dist/context-builder/review-coverage.js.map +1 -0
  494. package/dist/context-builder/schema.d.ts +315 -2
  495. package/dist/context-builder/schema.js +133 -7
  496. package/dist/context-builder/schema.js.map +1 -1
  497. package/dist/context-builder/secrets.d.ts +59 -0
  498. package/dist/context-builder/secrets.js +2255 -44
  499. package/dist/context-builder/secrets.js.map +1 -1
  500. package/dist/context-builder/selection.d.ts +7 -3
  501. package/dist/context-builder/selection.js +200 -738
  502. package/dist/context-builder/selection.js.map +1 -1
  503. package/dist/context-builder/session-log-identity.d.ts +1 -0
  504. package/dist/context-builder/session-log-identity.js +66 -0
  505. package/dist/context-builder/session-log-identity.js.map +1 -0
  506. package/dist/context-builder/slice-range-math.d.ts +16 -0
  507. package/dist/context-builder/slice-range-math.js +137 -0
  508. package/dist/context-builder/slice-range-math.js.map +1 -0
  509. package/dist/context-builder/status.d.ts +23 -2
  510. package/dist/context-builder/status.js +60 -4
  511. package/dist/context-builder/status.js.map +1 -1
  512. package/dist/context-builder/storage.d.ts +59 -2
  513. package/dist/context-builder/storage.js +500 -168
  514. package/dist/context-builder/storage.js.map +1 -1
  515. package/dist/context-builder/token-estimate.d.ts +13 -2
  516. package/dist/context-builder/token-estimate.js +77 -4
  517. package/dist/context-builder/token-estimate.js.map +1 -1
  518. package/dist/context-builder/versions.d.ts +44 -0
  519. package/dist/context-builder/versions.js +45 -0
  520. package/dist/context-builder/versions.js.map +1 -0
  521. package/dist/context-builder/workflow-runner.d.ts +75 -0
  522. package/dist/context-builder/workflow-runner.js +1241 -0
  523. package/dist/context-builder/workflow-runner.js.map +1 -0
  524. package/dist/context-builder/write-watchdog.d.ts +14 -0
  525. package/dist/context-builder/write-watchdog.js +38 -0
  526. package/dist/context-builder/write-watchdog.js.map +1 -0
  527. package/dist/dashboard-adapter-catalog.d.ts +9 -0
  528. package/dist/dashboard-adapter-catalog.js +53 -0
  529. package/dist/dashboard-adapter-catalog.js.map +1 -0
  530. package/dist/dashboard-cli.d.ts +81 -0
  531. package/dist/dashboard-cli.js +623 -0
  532. package/dist/dashboard-cli.js.map +1 -0
  533. package/dist/dashboard-companion/client.d.ts +37 -0
  534. package/dist/dashboard-companion/client.js +229 -0
  535. package/dist/dashboard-companion/client.js.map +1 -0
  536. package/dist/dashboard-companion/config.d.ts +8 -0
  537. package/dist/dashboard-companion/config.js +52 -0
  538. package/dist/dashboard-companion/config.js.map +1 -0
  539. package/dist/dashboard-companion/http-proxy.d.ts +10 -0
  540. package/dist/dashboard-companion/http-proxy.js +234 -0
  541. package/dist/dashboard-companion/http-proxy.js.map +1 -0
  542. package/dist/dashboard-companion/protocol.d.ts +80 -0
  543. package/dist/dashboard-companion/protocol.js +458 -0
  544. package/dist/dashboard-companion/protocol.js.map +1 -0
  545. package/dist/dashboard-companion/standalone-assets.d.ts +12 -0
  546. package/dist/dashboard-companion/standalone-assets.js +72 -0
  547. package/dist/dashboard-companion/standalone-assets.js.map +1 -0
  548. package/dist/dashboard-companion/standalone-entry.d.ts +1 -0
  549. package/dist/dashboard-companion/standalone-entry.js +17 -0
  550. package/dist/dashboard-companion/standalone-entry.js.map +1 -0
  551. package/dist/dashboard-gateway/config.d.ts +9 -0
  552. package/dist/dashboard-gateway/config.js +44 -0
  553. package/dist/dashboard-gateway/config.js.map +1 -0
  554. package/dist/dashboard-gateway/index.d.ts +12 -0
  555. package/dist/dashboard-gateway/index.js +786 -0
  556. package/dist/dashboard-gateway/index.js.map +1 -0
  557. package/dist/dashboard-gateway/main.d.ts +1 -0
  558. package/dist/dashboard-gateway/main.js +25 -0
  559. package/dist/dashboard-gateway/main.js.map +1 -0
  560. package/dist/dashboard-pairing-token.d.ts +1 -0
  561. package/dist/dashboard-pairing-token.js +5 -0
  562. package/dist/dashboard-pairing-token.js.map +1 -0
  563. package/dist/elaris/client.d.ts +73 -0
  564. package/dist/elaris/client.js +825 -0
  565. package/dist/elaris/client.js.map +1 -0
  566. package/dist/elaris/config.d.ts +18 -0
  567. package/dist/elaris/config.js +75 -0
  568. package/dist/elaris/config.js.map +1 -0
  569. package/dist/elaris/errors.d.ts +41 -0
  570. package/dist/elaris/errors.js +205 -0
  571. package/dist/elaris/errors.js.map +1 -0
  572. package/dist/elaris/github-repo.d.ts +18 -0
  573. package/dist/elaris/github-repo.js +89 -0
  574. package/dist/elaris/github-repo.js.map +1 -0
  575. package/dist/elaris/index.d.ts +10 -0
  576. package/dist/elaris/index.js +11 -0
  577. package/dist/elaris/index.js.map +1 -0
  578. package/dist/elaris/redact.d.ts +89 -0
  579. package/dist/elaris/redact.js +423 -0
  580. package/dist/elaris/redact.js.map +1 -0
  581. package/dist/elaris/run-id.d.ts +5 -0
  582. package/dist/elaris/run-id.js +20 -0
  583. package/dist/elaris/run-id.js.map +1 -0
  584. package/dist/elaris/status.d.ts +45 -0
  585. package/dist/elaris/status.js +122 -0
  586. package/dist/elaris/status.js.map +1 -0
  587. package/dist/elaris/tool-schemas.d.ts +314 -0
  588. package/dist/elaris/tool-schemas.js +208 -0
  589. package/dist/elaris/tool-schemas.js.map +1 -0
  590. package/dist/elaris/tools.d.ts +73 -0
  591. package/dist/elaris/tools.js +1065 -0
  592. package/dist/elaris/tools.js.map +1 -0
  593. package/dist/elaris/types.d.ts +1541 -0
  594. package/dist/elaris/types.js +252 -0
  595. package/dist/elaris/types.js.map +1 -0
  596. package/dist/errors.d.ts +16 -0
  597. package/dist/errors.js +19 -0
  598. package/dist/errors.js.map +1 -1
  599. package/dist/handler.d.ts +4 -0
  600. package/dist/handler.js +15 -2
  601. package/dist/handler.js.map +1 -1
  602. package/dist/index.d.ts +20 -2
  603. package/dist/index.js +154 -6
  604. package/dist/index.js.map +1 -1
  605. package/dist/local-clink-backend.d.ts +3 -0
  606. package/dist/local-clink-backend.js +4 -0
  607. package/dist/local-clink-backend.js.map +1 -1
  608. package/dist/logger.d.ts +1 -1
  609. package/dist/logger.js +18 -3
  610. package/dist/logger.js.map +1 -1
  611. package/dist/package-info.d.ts +2 -0
  612. package/dist/package-info.js +18 -0
  613. package/dist/package-info.js.map +1 -0
  614. package/dist/parsers/agy-stream-json.d.ts +14 -0
  615. package/dist/parsers/agy-stream-json.js +172 -0
  616. package/dist/parsers/agy-stream-json.js.map +1 -0
  617. package/dist/parsers/codex-jsonl.js +48 -3
  618. package/dist/parsers/codex-jsonl.js.map +1 -1
  619. package/dist/parsers/extract.d.ts +10 -1
  620. package/dist/parsers/extract.js +16 -4
  621. package/dist/parsers/extract.js.map +1 -1
  622. package/dist/parsers/observed-invocation.d.ts +20 -0
  623. package/dist/parsers/observed-invocation.js +42 -0
  624. package/dist/parsers/observed-invocation.js.map +1 -0
  625. package/dist/pipeline.d.ts +17 -0
  626. package/dist/pipeline.js +181 -10
  627. package/dist/pipeline.js.map +1 -1
  628. package/dist/progress-report/lock.d.ts +74 -0
  629. package/dist/progress-report/lock.js +343 -0
  630. package/dist/progress-report/lock.js.map +1 -0
  631. package/dist/progress-report/schema.d.ts +808 -0
  632. package/dist/progress-report/schema.js +119 -0
  633. package/dist/progress-report/schema.js.map +1 -0
  634. package/dist/progress-report/store.d.ts +66 -0
  635. package/dist/progress-report/store.js +766 -0
  636. package/dist/progress-report/store.js.map +1 -0
  637. package/dist/progress-report/tools.d.ts +20 -0
  638. package/dist/progress-report/tools.js +141 -0
  639. package/dist/progress-report/tools.js.map +1 -0
  640. package/dist/prompt-mode.d.ts +1 -1
  641. package/dist/prompt-mode.js +7 -2
  642. package/dist/prompt-mode.js.map +1 -1
  643. package/dist/run-dir.d.ts +24 -0
  644. package/dist/run-dir.js +201 -2
  645. package/dist/run-dir.js.map +1 -1
  646. package/dist/runner.d.ts +20 -0
  647. package/dist/runner.js +192 -16
  648. package/dist/runner.js.map +1 -1
  649. package/dist/safety.d.ts +54 -4
  650. package/dist/safety.js +186 -5
  651. package/dist/safety.js.map +1 -1
  652. package/dist/schema.d.ts +15 -7
  653. package/dist/schema.js +20 -0
  654. package/dist/schema.js.map +1 -1
  655. package/dist/server.d.ts +7 -1
  656. package/dist/server.js +451 -23
  657. package/dist/server.js.map +1 -1
  658. package/dist/session-log-stream.d.ts +18 -0
  659. package/dist/session-log-stream.js +566 -0
  660. package/dist/session-log-stream.js.map +1 -0
  661. package/dist/stdio-activity.d.ts +28 -0
  662. package/dist/stdio-activity.js +72 -0
  663. package/dist/stdio-activity.js.map +1 -0
  664. package/package.json +47 -5
  665. package/conf/adapters/gemini.json +0 -44
  666. package/conf/adapters/hapi/gemini.json +0 -47
  667. package/dist/parsers/gemini-json.d.ts +0 -2
  668. package/dist/parsers/gemini-json.js +0 -72
  669. package/dist/parsers/gemini-json.js.map +0 -1
@@ -10,23 +10,35 @@
10
10
  * REAL controls (child env CAN control these):
11
11
  * - CLINKX_MAX_CONCURRENT: fail-fast semaphore depth (concurrency.ts:3,25-29)
12
12
  * - CLINKX_MAX_RESPONSE_CHARS: output truncation ceiling (pipeline.ts env fallback)
13
- * - CLINKX_MAX_OUTPUT_BYTES: per-stream capture cap (runner.ts::createStreamCapture)
13
+ * - CLINKX_MAX_OUTPUT_BYTES: per-stream capture cap — legacy fallback read only when
14
+ * CLINKX_MAX_CAPTURE_BYTES is unset (runner.ts capture resolution). Effective in the
15
+ * child because the scrub removes CLINKX_MAX_CAPTURE_BYTES and re-injection never sets it.
14
16
  * - CLINKX_MAX_PROMPT_BYTES: pre-dispatch prompt ceiling (runner.ts)
15
17
  * - CLINKX_CONFIG_PATH: adapter config path override
16
18
  * - CLINKX_ALLOWED_ROOTS: comma-separated allowed path prefixes
17
19
  * - CLINKX_LOG_LEVEL: pino log verbosity
18
20
  *
19
21
  * DEAD knobs (adapter JSON wins, env has no effect with current shipped adapters):
20
- * - CLINKX_TIMEOUT_SECONDS: both shipped adapters set timeout_seconds in JSON
21
- * (codex.json:9 = 3600, claude.json:8 = 3600). Adapter config wins per runner.ts:156-159.
22
- * - CLINKX_IDLE_TIMEOUT_SECONDS: both shipped adapters set idle_timeout_seconds in JSON.
23
- * Adapter config wins per runner.ts:164-167.
24
- * - CLINKX_IDLE_TIMEOUT_STARTUP_SECONDS: both shipped adapters set idle_timeout_startup_seconds.
25
- * Adapter config wins per runner.ts:168-171. Additionally, result_contract.enabled forces
26
- * both idle timers to 0 (runner.ts:163-170).
22
+ * - CLINKX_TIMEOUT_SECONDS: every shipped subprocess adapter (conf/adapters/*.json and
23
+ * conf/adapters/hapi/*.json) sets timeout_seconds = 3600 in JSON. Adapter config wins
24
+ * per the runner.ts timeout resolution (options > adapter > env > default).
25
+ * - CLINKX_IDLE_TIMEOUT_SECONDS: every shipped subprocess adapter sets
26
+ * idle_timeout_seconds in JSON. Adapter config wins (same precedence).
27
+ * - CLINKX_IDLE_TIMEOUT_STARTUP_SECONDS: every shipped subprocess adapter sets
28
+ * idle_timeout_startup_seconds. Adapter config wins (same precedence). Additionally,
29
+ * an adapter with suppress_stdout and no stderr_to_file has both idle timers forced
30
+ * to 0 — no observable byte channel (runner.ts idle resolution).
27
31
  */
28
32
  import { realpathSync } from "node:fs";
29
- import { join, resolve } from "node:path";
33
+ import { isIP } from "node:net";
34
+ import { userInfo } from "node:os";
35
+ import { isAbsolute, join, parse, resolve } from "node:path";
36
+ import { artifactOnlyEnvEntry } from "./allowed-roots.js";
37
+ export const DEFAULT_DASHBOARD_MAX_STATE_BYTES = 16_777_216;
38
+ export const MIN_DASHBOARD_MAX_STATE_BYTES = 1_048_576;
39
+ export const MAX_DASHBOARD_MAX_STATE_BYTES = 67_108_864;
40
+ export const INVOCATION_AUDIT_V2_PERSISTENCE_ENV = "CLINKX_INVOCATION_AUDIT_V2_PERSISTENCE_ENABLED";
41
+ export const OBSERVED_INVOCATION_PERSISTENCE_ENV = "CLINKX_OBSERVED_INVOCATION_PERSISTENCE_ENABLED";
30
42
  // ---------------------------------------------------------------------------
31
43
  // Workflow server env vars (CLINKX_WORKFLOWS_*)
32
44
  // ---------------------------------------------------------------------------
@@ -34,6 +46,13 @@ function envStr(key, fallback) {
34
46
  const v = process.env[key];
35
47
  return v != null && v !== "" ? v : fallback;
36
48
  }
49
+ function envWorkflowContextMode(key, fallback) {
50
+ const raw = envStr(key, fallback).trim();
51
+ if (raw === "full" || raw === "deterministic" || raw === "off") {
52
+ return raw;
53
+ }
54
+ throw new Error(`${key} must be one of full, deterministic, off; got ${JSON.stringify(raw)}`);
55
+ }
37
56
  function envInt(key, fallback) {
38
57
  const v = process.env[key];
39
58
  if (v == null || v === "")
@@ -48,10 +67,27 @@ function envNonNegativeInt(key, fallback) {
48
67
  const n = Number(v);
49
68
  return Number.isSafeInteger(n) && n >= 0 ? n : fallback;
50
69
  }
70
+ /** Integer-strict positive parse — rejects fractional values (e.g. "1.5"). */
71
+ function envPositiveInt(key, fallback) {
72
+ const v = process.env[key];
73
+ if (v == null || v === "")
74
+ return fallback;
75
+ const n = Number(v);
76
+ return Number.isSafeInteger(n) && n >= 1 ? n : fallback;
77
+ }
78
+ function envBool(key, fallback) {
79
+ const v = process.env[key];
80
+ if (v == null || v.trim() === "")
81
+ return fallback;
82
+ return v.trim().toLowerCase() === "true";
83
+ }
51
84
  export const DEFAULT_RETAIN_FAILED_DAYS = 30;
52
85
  export const DEFAULT_RETAIN_CANCELLED_DAYS = 30;
53
86
  export const DEFAULT_RETAIN_DEBUG_DAYS = 7;
54
- /** Resolve workspace root: explicit env > process.cwd() with warning. */
87
+ export const DEFAULT_RETAIN_ASYNC_DAYS = 1;
88
+ export const DEFAULT_RETAIN_SUCCEEDED_DAYS = 1;
89
+ export const DEFAULT_DASHBOARD_PORT = 4180;
90
+ /** Resolve workspace root: explicit env > process.cwd() fallback (callers warn at startup). */
55
91
  export function resolveWorkspaceRoot() {
56
92
  const explicit = process.env["CLINKX_WORKFLOWS_WORKSPACE_ROOT"];
57
93
  if (explicit != null && explicit !== "") {
@@ -62,7 +98,9 @@ export function resolveWorkspaceRoot() {
62
98
  return resolve(explicit);
63
99
  }
64
100
  }
65
- // Fallback with warning — caller should log this
101
+ // Silent fallback — this module cannot log (logger.ts imports config.js; circular).
102
+ // Both servers (createServer, createWorkflowServer) warn at startup via
103
+ // hasExplicitWorkspaceRoot() when this cwd fallback is in effect.
66
104
  return resolve(process.cwd());
67
105
  }
68
106
  /** Whether workspace root was explicitly configured. */
@@ -71,12 +109,40 @@ export function hasExplicitWorkspaceRoot() {
71
109
  return v != null && v !== "";
72
110
  }
73
111
  /**
74
- * Derive CLINKX_ALLOWED_ROOTS for the child process.
75
- * Union of resolved workspace root + workflow state/artifact roots.
76
- * Rejects filesystem root (/) as workspace root.
112
+ * Reader-first rollout gate for every InvocationAuditV2 persistence surface.
113
+ * Exact matching is deliberate: unset, empty, case variants, and whitespace
114
+ * remain old-reader-safe.
115
+ */
116
+ export function invocationAuditV2PersistenceEnabled(env = process.env) {
117
+ return env[INVOCATION_AUDIT_V2_PERSISTENCE_ENV] === "true";
118
+ }
119
+ /**
120
+ * Reader-first rollout gate for observed-invocation persistence surfaces.
121
+ * Exact matching is deliberate: unset, empty, case variants, and whitespace
122
+ * remain old-reader-safe.
123
+ */
124
+ export function observedInvocationPersistenceEnabled(env = process.env) {
125
+ return env[OBSERVED_INVOCATION_PERSISTENCE_ENV] === "true";
126
+ }
127
+ /**
128
+ * Derive CLINKX_ALLOWED_ROOTS for the child process: the resolved workspace
129
+ * root plus the workflow state/artifact roots, comma-joined. The state and
130
+ * artifact roots carry the artifact-only `/.` marker (artifactOnlyEnvEntry),
131
+ * so the child may use them for artifact/state I/O but context_builder never
132
+ * admits them as source roots.
133
+ *
134
+ * Performs NO validation of workspaceRoot: a cwd-derived root (see
135
+ * resolveWorkspaceRoot's fallback) is passed through as-is — including "/",
136
+ * which grants the child filesystem-wide reach. The only guardrail today is
137
+ * the startup warning both servers emit when CLINKX_WORKFLOWS_WORKSPACE_ROOT
138
+ * is unset.
77
139
  */
78
140
  export function deriveAllowedRoots(workspaceRoot, stateDir, artifactsDir) {
79
- const roots = [workspaceRoot, stateDir, artifactsDir];
141
+ const roots = [
142
+ workspaceRoot,
143
+ artifactOnlyEnvEntry(stateDir),
144
+ artifactOnlyEnvEntry(artifactsDir),
145
+ ];
80
146
  return roots.join(",");
81
147
  }
82
148
  // ---------------------------------------------------------------------------
@@ -87,7 +153,8 @@ export function getClinkxCmd() {
87
153
  return envStr("CLINKX_WORKFLOWS_CLINKX_CMD", "clinkx");
88
154
  }
89
155
  /**
90
- * Resolve a path relative to the package root (two levels up from dist/src/).
156
+ * Resolve a path relative to the package root (one level up from this file's
157
+ * directory — dist/ at runtime, src/ under vitest).
91
158
  * If the path is absolute, return as-is.
92
159
  */
93
160
  function resolvePackageRelative(raw) {
@@ -101,6 +168,22 @@ function resolvePackageRelative(raw) {
101
168
  export function getWorkflowsPath() {
102
169
  return envStr("CLINKX_WORKFLOWS_PATH", "workflows/");
103
170
  }
171
+ /** Effective absolute workflow definition directory used by the loader. */
172
+ export function getResolvedWorkflowsPath() {
173
+ return resolvePackageRelative(getWorkflowsPath());
174
+ }
175
+ /** Soft default for workflow context-builder preflight mode. */
176
+ export function getWorkflowsContextDefault() {
177
+ return envWorkflowContextMode("CLINKX_WORKFLOWS_CONTEXT_DEFAULT", "full");
178
+ }
179
+ /** Curator adapter name used by the injected default full delegate. */
180
+ export function getWorkflowsContextDefaultCurator() {
181
+ const value = envStr("CLINKX_WORKFLOWS_CONTEXT_DEFAULT_CURATOR", "codex").trim();
182
+ if (value === "") {
183
+ throw new Error("CLINKX_WORKFLOWS_CONTEXT_DEFAULT_CURATOR must be non-empty");
184
+ }
185
+ return value;
186
+ }
104
187
  /** Prompt template root directory (resolved relative to package root). */
105
188
  export function getTemplatesPath() {
106
189
  return resolvePackageRelative(envStr("CLINKX_WORKFLOWS_TEMPLATES_PATH", "templates/"));
@@ -109,6 +192,14 @@ export function getTemplatesPath() {
109
192
  export function getMaxParallel() {
110
193
  return envInt("CLINKX_WORKFLOWS_MAX_PARALLEL", 5);
111
194
  }
195
+ /** Process-wide cap for detached workflow runs (integer-strict, >= 1). */
196
+ export function getWorkflowsMaxConcurrentAsync() {
197
+ return envPositiveInt("CLINKX_WORKFLOWS_MAX_CONCURRENT_ASYNC", 1);
198
+ }
199
+ /** Override that allows raw async admission above the context-builder pool cap. */
200
+ export function getWorkflowsAllowUnsafeAsyncCap() {
201
+ return envBool("CLINKX_WORKFLOWS_ALLOW_UNSAFE_ASYNC_CAP", false);
202
+ }
112
203
  /** Passed to child as CLINKX_MAX_CONCURRENT. */
113
204
  export function getChildMaxConcurrent() {
114
205
  return envInt("CLINKX_WORKFLOWS_CHILD_MAX_CONCURRENT", 5);
@@ -128,7 +219,261 @@ export function getChildMaxPromptBytes() {
128
219
  /** Optional workflow-owned child adapter bundle path. */
129
220
  export function getChildConfigPath() {
130
221
  const v = process.env["CLINKX_WORKFLOWS_CHILD_CONFIG_PATH"];
131
- return v != null && v !== "" ? v : undefined;
222
+ if (v == null || v === "")
223
+ return undefined;
224
+ const absolute = resolve(resolveWorkspaceRoot(), v);
225
+ try {
226
+ return realpathSync(absolute);
227
+ }
228
+ catch {
229
+ return absolute;
230
+ }
231
+ }
232
+ /** Loopback HTTP port for the standalone dashboard. */
233
+ export function getDashboardPort() {
234
+ const raw = process.env["CLINKX_WORKFLOWS_DASHBOARD_PORT"];
235
+ if (raw == null || raw === "")
236
+ return DEFAULT_DASHBOARD_PORT;
237
+ const port = Number(raw);
238
+ if (!/^(?:0|[1-9]\d*)$/.test(raw) || !Number.isSafeInteger(port) || port > 65_535) {
239
+ throw new Error("CLINKX_WORKFLOWS_DASHBOARD_PORT must be an integer from 0 through 65535");
240
+ }
241
+ return port;
242
+ }
243
+ /** Maximum admitted dashboard state.json byte count. */
244
+ export function getDashboardMaxStateBytes() {
245
+ const key = "CLINKX_WORKFLOWS_DASHBOARD_MAX_STATE_BYTES";
246
+ const raw = process.env[key];
247
+ if (raw == null)
248
+ return DEFAULT_DASHBOARD_MAX_STATE_BYTES;
249
+ const value = Number(raw);
250
+ if (!/^[1-9]\d*$/.test(raw) ||
251
+ !Number.isSafeInteger(value) ||
252
+ value < MIN_DASHBOARD_MAX_STATE_BYTES ||
253
+ value > MAX_DASHBOARD_MAX_STATE_BYTES) {
254
+ throw new Error(`${key} must be an integer from ${String(MIN_DASHBOARD_MAX_STATE_BYTES)} through ${String(MAX_DASHBOARD_MAX_STATE_BYTES)} bytes`);
255
+ }
256
+ return value;
257
+ }
258
+ // ---------------------------------------------------------------------------
259
+ // Dashboard remote public access (opt-in; local/SSH behavior unchanged)
260
+ // ---------------------------------------------------------------------------
261
+ //
262
+ // Remote access is an explicit opt-in via a strict env PAIR. Both absent means
263
+ // local mode (loopback + SSH forwarding, unchanged). Exactly one present is a
264
+ // misconfiguration that fails loud at startup. Both present means remote mode.
265
+ // This module only RESOLVES the configuration; wiring into the CLI/backend and
266
+ // the remote URL fragment are later phases. The listener still binds 127.0.0.1;
267
+ // remote reachability is provided by a front proxy, never by widening the bind.
268
+ export const DASHBOARD_PUBLIC_API_ORIGIN_ENV = "CLINKX_WORKFLOWS_DASHBOARD_PUBLIC_API_ORIGIN";
269
+ export const DASHBOARD_UI_ORIGIN_ENV = "CLINKX_WORKFLOWS_DASHBOARD_UI_ORIGIN";
270
+ export const DASHBOARD_AUTH_MODE_ENV = "CLINKX_WORKFLOWS_DASHBOARD_AUTH_MODE";
271
+ export const DASHBOARD_CREDENTIAL_DIR_ENV = "CLINKX_WORKFLOWS_DASHBOARD_CREDENTIAL_DIR";
272
+ export const DASHBOARD_RP_NAME_ENV = "CLINKX_WORKFLOWS_DASHBOARD_RP_NAME";
273
+ export const DASHBOARD_SESSION_TTL_SECONDS_ENV = "CLINKX_WORKFLOWS_DASHBOARD_SESSION_TTL_SECONDS";
274
+ export const DEFAULT_DASHBOARD_RP_NAME = "ClinkX Dashboard";
275
+ export const DEFAULT_DASHBOARD_SESSION_TTL_SECONDS = 43_200;
276
+ /**
277
+ * Reusable canonical absolute-HTTPS origin parser. Accepts only the exact
278
+ * canonical origin serialization and rejects everything else fail-closed:
279
+ * non-https, embedded credentials, any path beyond root, query, fragment,
280
+ * wildcard, comma list, whitespace, and any non-canonical serialization
281
+ * (trailing slash, default `:443`, uppercase host, IDN not already punycoded).
282
+ *
283
+ * `label` is embedded in the thrown message so callers surface an actionable
284
+ * startup error naming the offending variable.
285
+ */
286
+ export function parseCanonicalHttpsOrigin(raw, label) {
287
+ if (raw === "") {
288
+ throw new Error(`${label} must be a canonical absolute HTTPS origin; got an empty value`);
289
+ }
290
+ if (/\s/.test(raw)) {
291
+ throw new Error(`${label} must not contain whitespace`);
292
+ }
293
+ if (raw.includes(",")) {
294
+ throw new Error(`${label} must be a single origin, not a comma-separated list`);
295
+ }
296
+ if (raw.includes("*")) {
297
+ throw new Error(`${label} must be an exact origin and must not contain a wildcard "*"`);
298
+ }
299
+ let url;
300
+ try {
301
+ url = new URL(raw);
302
+ }
303
+ catch {
304
+ throw new Error(`${label} is not a valid absolute URL: ${JSON.stringify(raw)}`);
305
+ }
306
+ if (url.protocol !== "https:") {
307
+ throw new Error(`${label} must use https; got protocol ${JSON.stringify(url.protocol)}`);
308
+ }
309
+ if (url.username !== "" || url.password !== "") {
310
+ throw new Error(`${label} must not embed credentials`);
311
+ }
312
+ if (url.search !== "") {
313
+ throw new Error(`${label} must not contain a query string`);
314
+ }
315
+ if (url.hash !== "") {
316
+ throw new Error(`${label} must not contain a fragment`);
317
+ }
318
+ if (url.pathname !== "" && url.pathname !== "/") {
319
+ throw new Error(`${label} must not contain a path`);
320
+ }
321
+ if (raw !== url.origin) {
322
+ throw new Error(`${label} must be the canonical origin serialization ${JSON.stringify(url.origin)}; got ${JSON.stringify(raw)}`);
323
+ }
324
+ return { origin: url.origin, host: url.host };
325
+ }
326
+ function validateDashboardCredentialDirectory(directory, label) {
327
+ const resolved = resolve(directory);
328
+ if (directory === ""
329
+ || directory.includes("\0")
330
+ || !isAbsolute(directory)
331
+ || resolved === parse(resolved).root) {
332
+ throw new Error(`${label} must be a non-empty absolute non-root path without NUL bytes`);
333
+ }
334
+ return directory;
335
+ }
336
+ /**
337
+ * Resolve the passkey credential directory independently from workflow state.
338
+ * Explicit values are intentionally not trimmed or normalized.
339
+ */
340
+ export function resolveDashboardCredentialDirectory(env = process.env, stateDirectory = getStateDir()) {
341
+ const explicit = env[DASHBOARD_CREDENTIAL_DIR_ENV];
342
+ if (explicit == null) {
343
+ return validateDashboardCredentialDirectory(join(resolve(stateDirectory), "dashboard", "webauthn"), DASHBOARD_CREDENTIAL_DIR_ENV);
344
+ }
345
+ return validateDashboardCredentialDirectory(explicit, DASHBOARD_CREDENTIAL_DIR_ENV);
346
+ }
347
+ /** Resolve the temporary passkey/bearer rollback selector. */
348
+ export function resolveDashboardAuthMode(env = process.env) {
349
+ const raw = env[DASHBOARD_AUTH_MODE_ENV];
350
+ if (raw == null || raw === "")
351
+ return "passkey";
352
+ if (raw === "passkey" || raw === "bearer" || raw === "none")
353
+ return raw;
354
+ throw new Error(`${DASHBOARD_AUTH_MODE_ENV} must be one of passkey, bearer, none; got ${JSON.stringify(raw)}`);
355
+ }
356
+ function dashboardRpId(expectedOrigin, localMode) {
357
+ const hostname = new URL(expectedOrigin).hostname;
358
+ const unbracketed = hostname.startsWith("[") && hostname.endsWith("]")
359
+ ? hostname.slice(1, -1)
360
+ : hostname;
361
+ if (isIP(unbracketed) !== 0) {
362
+ throw new Error(`dashboard WebAuthn RP ID must not be an IP address; got ${JSON.stringify(unbracketed)}`);
363
+ }
364
+ if (unbracketed === "localhost" && !localMode) {
365
+ throw new Error("dashboard WebAuthn permits localhost only in local mode");
366
+ }
367
+ return unbracketed;
368
+ }
369
+ /**
370
+ * Derive the complete WebAuthn configuration from the public dashboard origin.
371
+ * The caller supplies the active local port only after the first loopback
372
+ * listener has selected it; cloud inputs are validated before listener or
373
+ * filesystem work.
374
+ */
375
+ export function resolveDashboardAuthConfig(input) {
376
+ const env = input.env ?? process.env;
377
+ const rpName = (env[DASHBOARD_RP_NAME_ENV] ?? DEFAULT_DASHBOARD_RP_NAME).trim();
378
+ if (rpName === "") {
379
+ throw new Error(`${DASHBOARD_RP_NAME_ENV} must not be empty`);
380
+ }
381
+ const sessionTtlRaw = env[DASHBOARD_SESSION_TTL_SECONDS_ENV];
382
+ let sessionTtlSeconds = DEFAULT_DASHBOARD_SESSION_TTL_SECONDS;
383
+ if (sessionTtlRaw != null && sessionTtlRaw !== "") {
384
+ if (!/^[1-9]\d*$/.test(sessionTtlRaw)) {
385
+ throw new Error(`${DASHBOARD_SESSION_TTL_SECONDS_ENV} must be a positive integer`);
386
+ }
387
+ sessionTtlSeconds = Number(sessionTtlRaw);
388
+ if (!Number.isSafeInteger(sessionTtlSeconds)
389
+ || !Number.isSafeInteger(sessionTtlSeconds * 1000)) {
390
+ throw new Error(`${DASHBOARD_SESSION_TTL_SECONDS_ENV} must produce a safe millisecond TTL`);
391
+ }
392
+ }
393
+ const credentialDirectory = validateDashboardCredentialDirectory(input.credentialDirectory, "dashboard credential directory");
394
+ if (input.publicAccess.mode === "local") {
395
+ if (!Number.isSafeInteger(input.localPort)
396
+ || input.localPort < 1
397
+ || input.localPort > 65_535) {
398
+ throw new Error("local dashboard WebAuthn requires an active port from 1 through 65535");
399
+ }
400
+ const expectedHost = `localhost:${String(input.localPort)}`;
401
+ const expectedOrigin = `http://${expectedHost}`;
402
+ return {
403
+ rpName,
404
+ expectedOrigin,
405
+ expectedRPID: dashboardRpId(expectedOrigin, true),
406
+ expectedHost,
407
+ secureCookies: false,
408
+ credentialDirectory,
409
+ sessionTtlSeconds,
410
+ };
411
+ }
412
+ if (input.publicAccess.publicApiOrigin !== input.publicAccess.uiOrigin) {
413
+ throw new Error("dashboard passkey mode requires the API and UI to use the same origin");
414
+ }
415
+ const expectedOrigin = input.publicAccess.publicApiOrigin;
416
+ const parsed = new URL(expectedOrigin);
417
+ return {
418
+ rpName,
419
+ expectedOrigin,
420
+ expectedRPID: dashboardRpId(expectedOrigin, false),
421
+ expectedHost: parsed.host,
422
+ secureCookies: true,
423
+ credentialDirectory,
424
+ sessionTtlSeconds,
425
+ };
426
+ }
427
+ /**
428
+ * Resolve the discriminated local/remote dashboard access value from the strict
429
+ * env pair. Both absent → local; exactly one present → actionable startup
430
+ * error; both present → remote (each origin parsed canonically). The returned
431
+ * value carries no bearer/tunnel credentials.
432
+ */
433
+ export function resolveDashboardPublicAccess(env = process.env) {
434
+ const apiRaw = env[DASHBOARD_PUBLIC_API_ORIGIN_ENV];
435
+ const uiRaw = env[DASHBOARD_UI_ORIGIN_ENV];
436
+ const apiPresent = apiRaw != null && apiRaw !== "";
437
+ const uiPresent = uiRaw != null && uiRaw !== "";
438
+ if (!apiPresent && !uiPresent) {
439
+ return { mode: "local" };
440
+ }
441
+ if (apiPresent !== uiPresent) {
442
+ const setKey = apiPresent ? DASHBOARD_PUBLIC_API_ORIGIN_ENV : DASHBOARD_UI_ORIGIN_ENV;
443
+ const missingKey = apiPresent ? DASHBOARD_UI_ORIGIN_ENV : DASHBOARD_PUBLIC_API_ORIGIN_ENV;
444
+ throw new Error(`${setKey} is set but ${missingKey} is not; remote dashboard access requires both origins. Set both for remote mode, or neither for local/SSH mode.`);
445
+ }
446
+ const api = parseCanonicalHttpsOrigin(apiRaw, DASHBOARD_PUBLIC_API_ORIGIN_ENV);
447
+ const ui = parseCanonicalHttpsOrigin(uiRaw, DASHBOARD_UI_ORIGIN_ENV);
448
+ return {
449
+ mode: "remote",
450
+ publicApiOrigin: api.origin,
451
+ uiOrigin: ui.origin,
452
+ publicHost: api.host,
453
+ };
454
+ }
455
+ /**
456
+ * Build the remote static-deployment Content-Security-Policy. Identical to the
457
+ * loopback dashboard CSP except `connect-src` adds the exact API origin (only
458
+ * `'self'` plus that origin — never a wildcard or credentials). The origin is
459
+ * re-parsed defensively so a malformed value can never be injected into the
460
+ * header. Kept here as the single source of truth mirrored by the buildless
461
+ * static runtime under `deploy/dashboard-ui/serve.mjs`.
462
+ */
463
+ export function dashboardStaticCsp(publicApiOrigin) {
464
+ const { origin } = parseCanonicalHttpsOrigin(publicApiOrigin, "publicApiOrigin");
465
+ return [
466
+ "default-src 'self'",
467
+ "script-src 'self'",
468
+ "style-src 'self'",
469
+ "font-src 'self'",
470
+ `connect-src 'self' ${origin}`,
471
+ "img-src 'self' data:",
472
+ "object-src 'none'",
473
+ "base-uri 'none'",
474
+ "form-action 'none'",
475
+ "frame-ancestors 'none'",
476
+ ].join("; ");
132
477
  }
133
478
  /**
134
479
  * Default workflow-level timeout (seconds).
@@ -162,15 +507,56 @@ export function getRetentionConfig() {
162
507
  retainFailedDays: envNonNegativeInt("CLINKX_WORKFLOWS_RETAIN_FAILED_DAYS", DEFAULT_RETAIN_FAILED_DAYS),
163
508
  retainCancelledDays: envNonNegativeInt("CLINKX_WORKFLOWS_RETAIN_CANCELLED_DAYS", DEFAULT_RETAIN_CANCELLED_DAYS),
164
509
  retainDebugDays: envNonNegativeInt("CLINKX_WORKFLOWS_RETAIN_DEBUG_DAYS", DEFAULT_RETAIN_DEBUG_DAYS),
510
+ retainAsyncDays: envNonNegativeInt("CLINKX_WORKFLOWS_RETAIN_ASYNC_DAYS", DEFAULT_RETAIN_ASYNC_DAYS),
511
+ retainSucceededDays: envNonNegativeInt("CLINKX_WORKFLOWS_RETAIN_SUCCEEDED_DAYS", DEFAULT_RETAIN_SUCCEEDED_DAYS),
165
512
  };
166
513
  }
167
514
  /** Persistent workflow state directory. */
168
- export function getStateDir() {
169
- const xdgState = process.env["XDG_STATE_HOME"];
170
- const defaultBase = xdgState != null && xdgState !== ""
171
- ? xdgState
172
- : `${process.env["HOME"] ?? "~"}/.local/state`;
173
- return envStr("CLINKX_WORKFLOWS_STATE_DIR", `${defaultBase}/clinkx-workflows`);
515
+ export function getStateDir(env = process.env, accountHomeProvider = () => userInfo().homedir) {
516
+ const explicit = env["CLINKX_WORKFLOWS_STATE_DIR"];
517
+ if (explicit != null && explicit !== "") {
518
+ if (!isAbsolute(explicit)) {
519
+ throw new Error(`CLINKX_WORKFLOWS_STATE_DIR must be an absolute path; got ${JSON.stringify(explicit)}`);
520
+ }
521
+ return explicit;
522
+ }
523
+ const xdgState = env["XDG_STATE_HOME"];
524
+ if (xdgState != null && xdgState !== "") {
525
+ if (!isAbsolute(xdgState)) {
526
+ throw new Error(`XDG_STATE_HOME must be an absolute path when used for workflow state; got ${JSON.stringify(xdgState)}`);
527
+ }
528
+ return join(xdgState, "clinkx-workflows");
529
+ }
530
+ const configuredHome = env["HOME"];
531
+ if (configuredHome != null && configuredHome !== "") {
532
+ if (!isAbsolute(configuredHome)) {
533
+ throw new Error(`HOME must be an absolute path when used for workflow state; got ${JSON.stringify(configuredHome)}`);
534
+ }
535
+ return join(configuredHome, ".local", "state", "clinkx-workflows");
536
+ }
537
+ const accountHome = accountHomeProvider();
538
+ const resolvedAccountHome = accountHome === "" ? "" : resolve(accountHome);
539
+ if (accountHome === "" ||
540
+ !isAbsolute(accountHome) ||
541
+ resolvedAccountHome === parse(resolvedAccountHome).root) {
542
+ throw new Error(`OS account home must be a non-empty absolute non-root path; got ${JSON.stringify(accountHome)}`);
543
+ }
544
+ return join(accountHome, ".local", "state", "clinkx-workflows");
545
+ }
546
+ export const DASHBOARD_PROGRESS_REPORT_OVERRIDE_DIR_ENV = "CLINKX_WORKFLOWS_PROGRESS_REPORT_OVERRIDE_DIR";
547
+ /**
548
+ * Parent directory for dashboard-private sidecars:
549
+ * `progress-report-status-overrides.json` and `prompt-builder-library.json`.
550
+ * Unset/empty keeps the historical location beside `progress-reports/` under
551
+ * the workflow state directory. Compose pins a dedicated writable volume so
552
+ * read-only producer state mounts can still persist operator pins.
553
+ */
554
+ export function getProgressReportOverrideDir(env = process.env, accountHomeProvider = () => userInfo().homedir) {
555
+ const explicit = env[DASHBOARD_PROGRESS_REPORT_OVERRIDE_DIR_ENV];
556
+ if (explicit == null || explicit === "") {
557
+ return getStateDir(env, accountHomeProvider);
558
+ }
559
+ return validateDashboardCredentialDirectory(explicit, DASHBOARD_PROGRESS_REPORT_OVERRIDE_DIR_ENV);
174
560
  }
175
561
  /** Base directory containing persistent run state directories. */
176
562
  export function getRunsDir() {
@@ -201,6 +587,8 @@ export const CHILD_ENV_SCRUB_EXTRA = ["XDG_CONFIG_HOME"];
201
587
  /**
202
588
  * Child env vars that are re-injected with workflow-owned values.
203
589
  * Maps from workflow config key to child env var name.
590
+ * Reference only: buildChildEnv (child-env.ts) performs the re-injection with
591
+ * explicit assignments and does not read this map. Keep the two in sync.
204
592
  */
205
593
  export const CHILD_ENV_REINJECT_MAP = {
206
594
  maxConcurrent: "CLINKX_MAX_CONCURRENT",
@@ -212,7 +600,9 @@ export const CHILD_ENV_REINJECT_MAP = {
212
600
  logLevel: "CLINKX_LOG_LEVEL",
213
601
  };
214
602
  /**
215
- * Baseline OS env vars that are NEVER scrubbed from child.
603
+ * Baseline OS env vars that are never scrubbed from the child.
604
+ * Reference only: buildChildEnv does not read this list — these vars survive
605
+ * because the scrub removes only CLINKX_* and CHILD_ENV_SCRUB_EXTRA.
216
606
  * ClinkX's internal env.ts::buildEnv handles delegate subprocess sanitization.
217
607
  */
218
608
  export const CHILD_ENV_BASELINE = [
@@ -224,8 +614,9 @@ export const CHILD_ENV_BASELINE = [
224
614
  ];
225
615
  /**
226
616
  * DEAD KNOBS: these env vars have no effect with current shipped adapters
227
- * because adapter JSON config wins (runner.ts:156-171). Both shipped adapters
228
- * set timeout_seconds in JSON (codex.json:9 = 3600, claude.json:8 = 3600).
617
+ * because adapter JSON config wins (runner.ts timeout/idle resolution:
618
+ * options > adapter > env > default). Every shipped subprocess adapter sets
619
+ * timeout_seconds = 3600 in JSON.
229
620
  *
230
621
  * These are Layer 3 (child-side) timeout controls. The workflow engine does
231
622
  * NOT attempt to control child-side timeouts via env vars. Instead, use
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,8EAA8E;AAC9E,gDAAgD;AAChD,8EAA8E;AAE9E,SAAS,MAAM,CAAC,GAAW,EAAE,QAAgB;IAC3C,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC9C,CAAC;AAED,SAAS,MAAM,CAAC,GAAW,EAAE,QAAgB;IAC3C,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpD,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW,EAAE,QAAgB;IACtD,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAC7C,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAChD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAQ3C,yEAAyE;AACzE,MAAM,UAAU,oBAAoB;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAChE,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,iDAAiD;IACjD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,wBAAwB;IACtC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,aAAqB,EACrB,QAAgB,EAChB,YAAoB;IAEpB,MAAM,KAAK,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,+CAA+C;AAC/C,MAAM,UAAU,YAAY;IAC1B,OAAO,MAAM,CAAC,6BAA6B,EAAE,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,GAAW;IACzC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACvD,OAAO,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,gBAAgB;IAC9B,OAAO,MAAM,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;AACvD,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB;IAC9B,OAAO,sBAAsB,CAAC,MAAM,CAAC,iCAAiC,EAAE,YAAY,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,cAAc;IAC5B,OAAO,MAAM,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,qBAAqB;IACnC,OAAO,MAAM,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,wBAAwB;IACtC,OAAO,MAAM,CAAC,2CAA2C,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,sBAAsB;IACpC,OAAO,MAAM,CAAC,yCAAyC,EAAE,UAAU,CAAC,CAAC;AACvE,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,sBAAsB;IACpC,OAAO,MAAM,CAAC,yCAAyC,EAAE,SAAS,CAAC,CAAC;AACtE,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,kBAAkB;IAChC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAC5D,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,MAAM,CAAC,kCAAkC,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,iBAAiB;IAC/B,OAAO,MAAM,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,gBAAgB,EAAE,iBAAiB,CAAC,qCAAqC,EAAE,0BAA0B,CAAC;QACtG,mBAAmB,EAAE,iBAAiB,CAAC,wCAAwC,EAAE,6BAA6B,CAAC;QAC/G,eAAe,EAAE,iBAAiB,CAAC,oCAAoC,EAAE,yBAAyB,CAAC;KACpG,CAAC;AACJ,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,WAAW;IACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,QAAQ,IAAI,IAAI,IAAI,QAAQ,KAAK,EAAE;QACrD,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC;IACjD,OAAO,MAAM,CAAC,4BAA4B,EAAE,GAAG,WAAW,mBAAmB,CAAC,CAAC;AACjF,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,UAAU;IACxB,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC;IAC/C,OAAO,MAAM,CAAC,gCAAgC,EAAE,GAAG,MAAM,6BAA6B,CAAC,CAAC;AAC1F,CAAC;AAED,8EAA8E;AAC9E,qCAAqC;AACrC,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,iBAAiB,CAAU,CAAC;AAElE;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,aAAa,EAAE,uBAAuB;IACtC,gBAAgB,EAAE,2BAA2B;IAC7C,cAAc,EAAE,yBAAyB;IACzC,cAAc,EAAE,yBAAyB;IACzC,UAAU,EAAE,oBAAoB;IAChC,YAAY,EAAE,sBAAsB;IACpC,QAAQ,EAAE,kBAAkB;CACpB,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;CACA,CAAC;AAEX;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,wBAAwB;IACxB,6BAA6B;IAC7B,qCAAqC;CAC7B,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}