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
package/CHANGELOG.md ADDED
@@ -0,0 +1,119 @@
1
+ # Changelog
2
+
3
+ ## Unreleased
4
+
5
+ ## 1.1.0 — 2026-10-03
6
+
7
+ ### Upgrade notes
8
+
9
+ - Adapter files stay whole-file first-wins. An overlay in `~/.config/clinkx/adapters/` keeps its 1.0.0 argv and parser and does not get the shipped changes below, including `invocation_overrides` (required for per-call `model`/`effort`) and the agy stream-json parser. Re-copy from the packaged `conf/adapters/` or `conf/adapters/hapi/` to adopt them. (#26, #44)
10
+ - Shipped `agy` now sends the prompt on stdin without `--print` and passes `--output-format stream-json`, which needs an agy build that emits stream-json (1.1.8+). (#26, #44)
11
+ - Shipped `glm` and the `hapi/glm` template pin `--model glm-5.3[1m]`, Opus/Sonnet defaults `glm-5.3[1m]`, Haiku `glm-4.7`, and `CLAUDE_CODE_AUTO_COMPACT_WINDOW=1000000`. 1.0.0 used `glm-5`.
12
+ - A finalizer `model`, `effort`, or explicit `min_score` on an effectively disabled finalizer (`finalizer.enabled` omitted under a profile that defaults it off) is now rejected `-32602` by `run_workflow` and `context_builder` before any state or spawn. 1.0.0 accepted and ignored it. Set `finalizer.enabled:true` or drop the knob. (#52)
13
+ - The six `council-*` workflows default to `context_external_gap_policy: degrade`. When the finalizer reports evidence it could not obtain, the run proceeds with `context_quality:"degraded"`, health reason `context_external_gaps`, and a `## Known missing evidence` bundle block instead of failing. An explicit `cb_delegate` with `external_gap_policy:"fail"` keeps the failure. `plan-review-receipts` is unchanged. (#55)
14
+ - `review_deep` delegate `timeout_seconds` defaults to 300 (was 180). (#55)
15
+ - Context-builder default excludes add `.worktrees/**` and vendor trees (`Pods`, `.cxx`, `.gradle`, `DerivedData`). `exclude_globs:[]` / `cb_exclude_globs:[]` cannot remove them. (#45, #55)
16
+ - The workflow context cache (`wfctx-*`) goes cold once: the delegate prompt and discovery algorithm versions changed. (#55)
17
+ - Drain, finish, or abandon unfinished resumable workflow runs before upgrading. Child-config fingerprints now cover override declarations and the enabled curator/finalizer adapters, and shipped adapter JSON changed, so resume across the upgrade can be rejected. Runs that do resume replay their persisted snapshot and keep external-gap policy `fail`. (#26, #55)
18
+ - `progress_report_start`, `progress_report_update`, `progress_report_get`, and `progress_report_list` are always advertised. (#51)
19
+ - New flags, off by default. Only exact `true` enables `CLINKX_INVOCATION_AUDIT_V2_PERSISTENCE_ENABLED`, `CLINKX_OBSERVED_INVOCATION_PERSISTENCE_ENABLED`, and `CLINKX_SESSION_LOG_TOOL_ARGUMENTS_PERSISTENCE_ENABLED`; `CLINKX_SERVER_IDLE_TIMEOUT_SECONDS` defaults to `0`. Readers always accept the new formats, so enable writers only once every dashboard reading the same state runs 1.1.0. With the audit flag off, the dashboard shows model/effort as not recorded. (#24, #28, #40, #57)
20
+ - New runtime dependency: `@letta-ai/trajectory`, pinned to `0.4.3`. (#57)
21
+
22
+ ### Added
23
+
24
+ - Per-call `model` and `effort` on `clink`, generic workflow calls, council `members[]`, `chairman_model` / `chairman_effort`, and the `context_builder` / `cb_delegate` curator and finalizer, when the resolved adapter declares `invocation_overrides`. Every shipped subprocess adapter declares both; Codex effort renders as `-c model_reasoning_effort=<value>`. Unsupported values fail `-32602` before spawn. `plan-review-receipts`, the Codex app-server tools, and Elaris are unchanged. (#26)
25
+ - Invocation evidence: a pre-dispatch audit (requested value, applied value, provenance) for workflow calls, direct `clink` activity, and context curator/finalizer calls, plus the model/effort a child reports (Claude `system/init`, app-server `thread/start`). The dashboard shows both in the call inspector and on run-detail stage rows. Persistence is behind the flags above. (#28, #40, #53)
26
+ - `run_workflow.roster`: named council presets carrying members, chairman, and the context delegate. Discovery is first-wins across `CLINKX_ROSTERS_PATH`, `${XDG_CONFIG_HOME:-~/.config}/clinkx/rosters/`, and built-in `conf/rosters/` (ships `default-council`). A roster cannot be combined with `members`, `chairman`, `chairman_model`, `chairman_effort`, or a non-empty `cb_delegate`. (#52)
27
+ - `list_workflows` adds `available_clis` (per-adapter model/effort support) and `available_rosters`. Council runs report `resolved_roster` on the async ack, the sync result, and `workflow_run_status`. (#52)
28
+ - `workflow_run_status` adds `context.delegate.finalizer` `{effective_enabled, execution_status, score?}` and, while preflight is still scanning, a top-level `context_progress` block. (#52)
29
+ - Progress-report tools `progress_report_start` / `_update` / `_get` / `_list`: patch-only writes, `expected_revision` compare-and-swap, `request_id` replay, server-owned ids and timestamps. Reports live under `<state dir>/progress-reports/` and show on the dashboard. (#51)
30
+ - Delegate `external_gap_policy: "fail" | "degrade"` (default `fail`) on `context_builder` and `cb_delegate`. Finalizer-reported `external_gaps` are classified; rejected gaps fail under either policy, accepted ones carry provenance. (#55)
31
+ - `CLINKX_SERVER_IDLE_TIMEOUT_SECONDS`: opt-in idle lifetime for both STDIO servers. Active tools, workflows, Codex turns, and response delivery hold it off. (#24)
32
+ - Dashboard: prompt builder at `/prompt-builder` for `run_workflow` and chief-of-staff prompts, validated against live adapter capabilities. Its library persists in a private `prompt-builder-library.json` sidecar. Copy is its only action.
33
+ - Dashboard: `CLINKX_WORKFLOWS_DASHBOARD_AUTH_MODE=none` for loopback-only testing. Host and origin checks stay enforced; remote and gateway modes reject it. (#47)
34
+ - Dashboard: session-log conversations tail in place. Tool rows can show bounded, redacted tool arguments when `CLINKX_SESSION_LOG_TOOL_ARGUMENTS_PERSISTENCE_ENABLED=true`, and Find searches them. (#57)
35
+ - Dashboard: `CLINKX_WORKFLOWS_PROGRESS_REPORT_OVERRIDE_DIR` moves the status-pin sidecar off a read-only state directory.
36
+ - Automatic npm publishing after main CI passes. A PR that bumps the root
37
+ version (stable, ahead of the base and npm `latest`, with `CHANGELOG.md` in the
38
+ same diff) releases on merge; PRs and main pushes that leave the version
39
+ unchanged never publish or read the registry and ship with the next bump. A
40
+ failed or incomplete publication is recovered only by a manual run on main,
41
+ which rebuilds from current main and publishes that source under the version
42
+ if it is still unpublished. One tarball is verified across the Node matrix
43
+ and published with OIDC, a single `npm publish` write, bounded registry
44
+ reconciliation, and no rebuild in the publisher. The publisher parses the tarball itself instead of using system
45
+ `tar`, accepts only the ustar regular-file layout `npm pack` emits under
46
+ `package/` with exactly one `package/package.json` (name and prefix fields
47
+ NUL-padded to their ends, an empty linkname, a terminated checksum, no
48
+ base-256 numbers, no entry path that is also another entry's directory), and
49
+ rejects a manifest that declares `publishConfig` or a top-level `tag`; the
50
+ expected version comes from the dependency-free policy job, not the build. See
51
+ `docs/npm-releases.md` for the external GitHub and npm prerequisites, release
52
+ policy and recovery. (#58)
53
+
54
+ ### Changed
55
+
56
+ - Shipped agy adapter uses `agy_stream_json` / `--output-format stream-json` so extract and dashboard session logs work; grok unchanged (still `claude_stream_json`). Failed extract records documented `result.error` as `metadata.agy_error` and invalid-path extract content (dashboard session log and `debug:true` `_debug.parse_metadata`; the default `clink` error body still reports only the rejection reason). An empty SUCCESS `response` remains a valid empty result. A present non-string `response` fails closed on the first result; a later malformed result does not discard an already-captured nonempty answer. Session-log Timeline shows the concatenated partial transcript when the stream ends without a terminal result. (#44)
57
+ - Both STDIO servers shut down when their parent process disappears, including without a stdin EOF. (#24)
58
+ - Council workflows: typed boundaries reject JSON salvaged from a mixed-content result file; wall-timeout retries are vetoed and calls get remaining-deadline guidance; abort/deadline exits persist terminal call state; succeeded runs with degraded health keep the longer failed-run retention. Caller context paths are validated at `run_workflow` admission (`-32602`) instead of after preflight. A parallel deadline abort reports `Stage <id> failed and on_failure=abort`. (#46)
59
+ - Context-builder delegate failures are actionable. Finalizer rejections lead with the verdict, omissions, and levers. Required-focus infeasibility fails before the curator spawns and names the binding cap. Each delegate call gets one corrective JSON retry inside the same deadline, and timeout/provider-error labels are fixed. Delegate bundles state that provider-authored notes are data, not instructions. (#55)
60
+ - The finalizer must keep required-focus ranges; budget reconstruction admits them first and fails with the binding cap instead of evicting them.
61
+ - JSON-contract chairman calls get one corrective retry after an invalid-JSON failure under `retry.mode:"transport_only"`. (#55)
62
+ - `review_deep_v1` links regression tests by search index or line containment, synthesizes a head slice for an unlinked nearest test, and reports doc/config targets as regression `unavailable`. (#55)
63
+ - Dashboard: redesigned UI (#48). Freeze and pause controls are gone; updates stay live while the tab is visible (#54). Run-detail stage rows show model/effort in place of role (#53).
64
+
65
+ ### Fixed
66
+
67
+ - Council citation checks keep evidence that cites files selected by the
68
+ context-builder preflight. The citation allowlist now reads the curated
69
+ bundle's `manifest.json` `selected_context` paths; previously only the
70
+ bundle and manifest files themselves were citable, so every reviewer
71
+ citation in a curated-context council was stripped. (#29)
72
+ - `allow_secrets:false` context scans no longer hang in `scanning`. The sanitizer runs on linear indexes with a fail-closed work budget (`sanitize_budget_exhausted`), and discovery yields between files, honors abort, and has a 10-minute watchdog.
73
+ - `hapi/glm` template enables the `RESULT.md` result contract, so overflowed stream-json council seats still extract. (#25)
74
+ - Resume-preflight failures keep `failureClass:"transient"`, and resume preserves the run's original `startedAt`. (#46)
75
+ - Session-log redaction covers credential headers of any scheme, cookies, URL userinfo, vendor tokens, JWTs, escaped embedded JSON, and credential flags; prose apostrophes no longer open a false shell quote. The producer backlog is bounded, and size loss is reported separately from redaction. (#57)
76
+ - Dashboard: stale detail or errors from an earlier request no longer overwrite a newer selection (#45). The gateway reclaims a companion slot held by a dead socket instead of returning 409.
77
+
78
+ ### Docs
79
+
80
+ - Deslop/unslop delivery evaluation report, with a 2026-09-27 revision. The
81
+ skill it evaluated now lives in the agent-skills repository and is not
82
+ shipped in this package. (#29)
83
+ - `clinkx-workflows` README no longer claims side-effecting workflows are
84
+ rejected at load time; `validateNoSideEffects` is an empty placeholder. (#29)
85
+ - `docs/configuration.md` documents the GLM 1M pin, STDIO server lifetime,
86
+ and per-call override templates (#24, #26). README documents roster
87
+ presets (#52).
88
+
89
+ ## 1.0.0 — 2026-08-17
90
+
91
+ First npm release of the work that landed after `0.3.0`. The previous registry `latest` is still `clinkx@0.3.0` (published 2026-06-15).
92
+
93
+ This package is proprietary. The `license` field is `UNLICENSED`.
94
+
95
+ ### Breaking vs npm 0.3.0
96
+
97
+ Secrets are included by default. `context_builder` and workflow preflight keep API keys, private keys, tokens, and files such as `.env`, `.pem`, `id_rsa`, and `credentials.json` as written. 0.3.0 omitted that material. To restore omit/redact: `allow_secrets:false`, workflow `cb_allow_secrets:false`, or `CLINKX_CONTEXT_ALLOW_SECRETS=false`.
98
+
99
+ Workflow context preflight is on by default. `createServer` exits unless the packaged `codex` adapter config is present and has a `json` role. That check is the JSON file, not a `codex` binary on `PATH`. The first `run_workflow` still needs the `codex` CLI. Full bypass: `CLINKX_WORKFLOWS_CONTEXT_PREFLIGHT_ENABLED=false`.
100
+
101
+ `gemini` and the `gemini_json` parser are gone. Use `agy`.
102
+
103
+ License is not MIT. Copyright (c) 2026 jim380. All rights reserved.
104
+
105
+ ### Added
106
+
107
+ - Tools: `refine_context_run`, `workflow_run_status`, `cancel_workflow`
108
+ - `run_workflow` accepts `async:true`. Default is still blocking.
109
+ - Second bin: `clinkx-workflows-dashboard`
110
+ - `grok` adapter
111
+ - Codex app-server tools, only if `CLINKX_APP_SERVER_ENABLED=true`
112
+ - Elaris tools, only if `CLINKX_ELARIS_ENABLED=true`
113
+ - Workflows: `plan-review-receipts` and the generic `council-plan-review`
114
+
115
+ ### Docs
116
+
117
+ - Adapter files load from the installed package, not from `process.cwd()`
118
+ - README now says secrets are included by default
119
+ - The recommended MCP snippet sets `CLINKX_ALLOWED_ROOTS` and `CLINKX_WORKFLOWS_WORKSPACE_ROOT`
package/LICENSE ADDED
@@ -0,0 +1,10 @@
1
+ Copyright (c) 2026 jim380. All rights reserved.
2
+
3
+ This software is proprietary and unlicensed. Permission is granted only to
4
+ install and run the published npm package "clinkx" for your own use.
5
+
6
+ No permission is granted to copy, modify, merge, publish, distribute,
7
+ sublicense, and/or sell copies of the Software, except as required to install
8
+ and run that published package.
9
+
10
+ The package.json "license" field is UNLICENSED.
package/README.md CHANGED
@@ -1,42 +1,164 @@
1
1
  # ClinkX
2
2
 
3
- An MCP server (STDIO) that exposes local tools for CLI delegation and workflow orchestration:
3
+ An MCP STDIO server with local tools for CLI delegation and workflow orchestration.
4
4
 
5
- - `clink` runs a configured CLI adapter — Gemini, Codex, Claude, or anything else you configure — as a subprocess and returns the output.
6
- - `context_builder` creates a persisted, attachable context bundle from allowed local roots before you delegate to a CLI. It uses deterministic local selection by default and can run explicit curator/finalizer delegate adapters before local validation and materialization.
7
- - `list_workflows`, `resume_workflow`, and `run_workflow` support multi-stage workflow orchestration.
5
+ - `clink` runs a configured CLI adapter (agy, Codex, Claude, Grok, or anything you add) as a subprocess and returns the output.
6
+ - `context_builder` writes a persisted context bundle from allowed local roots. Selection is deterministic by default. You can also run explicit curator and finalizer adapters, then the server validates and materializes locally.
7
+ - `list_workflows`, `resume_workflow`, and `run_workflow` run multi-stage workflows.
8
8
 
9
- Config-driven. No hardcoded CLI allowlist. PAL-compatible at the field level.
9
+ Adapters come from config. There is no hardcoded CLI allowlist. Field-level PAL compatibility is intentional.
10
10
 
11
11
  ## Quick start
12
12
 
13
- Requires Node.js >= 24 and at least one CLI configured as an adapter.
13
+ Node.js >= 24, plus at least one CLI adapter.
14
14
 
15
15
  ```bash
16
16
  npm install
17
- npm run build
17
+ npm run build:all
18
18
  node dist/index.js
19
19
  ```
20
20
 
21
- stdout carries MCP JSON-RPC frames (one JSON object per line). Logs go to stderr.
21
+ stdout is MCP JSON-RPC only (one JSON object per line). Logs go to stderr.
22
+
23
+ Reviewed version bumps publish through CI after main checks pass. See
24
+ [npm releases](docs/npm-releases.md) for trusted publisher setup, release policy,
25
+ artifact verification, and recovery.
26
+
27
+ Both STDIO servers detect parent death even when stdin never delivers EOF.
28
+ Idle shutdown is separately opt-in: `CLINKX_SERVER_IDLE_TIMEOUT_SECONDS=1800`
29
+ enables a 30-minute idle lifetime, while the default `0` preserves quiet
30
+ sessions. Active work and response delivery prevent idle expiry. Enable it only
31
+ for hosts that can reconnect; restart loses process-local session aliases and
32
+ logs. See [STDIO server lifetime](docs/configuration.md#stdio-server-lifetime)
33
+ for shutdown reasons and parent-wrapper limitations.
34
+
35
+ ## Local workflow dashboard
36
+
37
+ After `npm run build:all`:
38
+
39
+ ```bash
40
+ node dist/dashboard-cli.js --port 0
41
+ ```
42
+
43
+ Passkey auth is the default. The process binds `127.0.0.1` and `::1` on the same port and prints `http://localhost:<port>`. An empty credential store also prints one enrollment code. Register a passkey with that code, then sign in as a separate step. Credentials live under `CLINKX_WORKFLOWS_DASHBOARD_CREDENTIAL_DIR` (default `${CLINKX_WORKFLOWS_STATE_DIR}/dashboard/webauthn`). Sessions die on restart.
44
+
45
+ Screens: Runs, Single Calls, Context Runs, Workflows, Adapters, Artifacts. They show retained workflow state, direct-call lifecycle, standalone/refine context-builder lifecycle, persisted pre-dispatch workflow input, final outputs and errors, validated JSON artifacts, and the launch-time workflow/adapter catalogs. Runs, Single Calls, and Context Runs have their own path routes. The persisted-call inspector is an overlay that still shows up as a nested route in history.
46
+
47
+ Workflow-call, activity, and context-run detail pages also have local session logs (observability only). Timeline and Conversation are chronological; order comes from the log sequence. Each lane is fenced to one immutable parent generation (run, activity, or context) plus the matching attempt, turn, or curator/finalizer execution. Pages are at most 500 events. A lane stops at 100,000 events. Events are normalized and pattern-redacted. They are not raw provider payloads, a session browser, or a live tail.
48
+
49
+ Live tool arguments, sanitized argument-derived summaries, and `redaction.coverage: "pattern_best_effort"` require `CLINKX_SESSION_LOG_TOOL_ARGUMENTS_PERSISTENCE_ENABLED=true` (exact value, default off, read once per producer at creation). Disabled producers omit those additions; Claude keeps `"Tool invocation"` and Codex/agy keep legacy summaries. Deploy capable backend and browser readers first; readers always accept extended events. Rollback disables producers first and keeps capable readers until extended journals age out. Flag-off does not make existing gate-on journals old-reader-safe. Redaction hardening remains unconditional; coverage and match counts do not prove cleanliness. See [rollout configuration](docs/configuration.md#session-log-tool-arguments-rollout) and [detector scope](docs/security.md#dashboard-session-logs).
50
+
51
+ The [native projection foundation](clinkx-workflows/src/dashboard/native-transcript/README.md) is unwired and persists nothing, independently of that gate. It handles JSON and text results, preserves source-file/component order, and scopes unverified synthesized identity to the affected call/result pair. Native capture, workers, storage, routes, and UI remain unfinished; #56 stays open.
52
+
53
+ The dashboard has no SSE, filesystem watch, worker-health inference, cross-process cancellation, or run-creation form. Session logs cannot replay, approve, cancel, or otherwise control a run. Copied action objects are MCP tool handoffs, not JSON-RPC requests.
54
+
55
+ Point the dashboard at the same `CLINKX_WORKFLOWS_STATE_DIR` as the workflow process or you will see a different (often empty) run set. Successful sync and async runs are kept for one day by default so you can inspect them. `CLINKX_WORKFLOWS_RETAIN_SUCCEEDED_DAYS=0` or `CLINKX_WORKFLOWS_RETAIN_ASYNC_DAYS=0` means keep that class forever, which can fill the disk.
56
+
57
+ Workflow and activity session logs follow retention of that exact parent generation. Context session logs follow the parent context-run/manual lifecycle. There is no separate context-run pruner yet.
58
+
59
+ Persisted inputs, outputs, errors, and artifact bytes can be sensitive. Access is loopback-only and passkey-gated. That is a shared-account boundary, not isolation from other processes as the same OS user. Redaction strips high-confidence credentials and user-home paths before write. Prompts, outputs, tool summaries, and reasoning can still be sensitive after that. Per-run state admission defaults to 16 MiB (configurable 1–64 MiB via `CLINKX_WORKFLOWS_DASHBOARD_MAX_STATE_BYTES`). Raw result/call reads use smaller fixed caps.
60
+
61
+ For local Docker, `compose.dashboard-local.yml` runs the real UI + API over plain HTTP. Caddy publishes on `127.0.0.1` and `::1`. The browser uses `http://localhost:<port>`. Caddy shares the dashboard network namespace and proxies IPv4 to Node at `127.0.0.1:4180`. The same Node process also listens on `::1:4180`. See `docs/dashboard-local-compose.md`.
62
+
63
+ Hosted passkey topology is one UI+API service behind Traefik on a private Docker network. See `deploy/dashboard-cloud/README.md`. The older gateway/companion and split-origin paths exist only as a temporary bearer rollback until local and live cloud passkey ceremonies pass the proof-gated cutover.
64
+
65
+ To build the local CLI as one host-native executable, use an official Node 25.5+ runtime with SEA support:
66
+
67
+ ```bash
68
+ npm run build:dashboard:standalone -- \
69
+ --node-executable /absolute/path/to/official-node \
70
+ --output ./artifacts/clinkx-dashboard
71
+ ```
72
+
73
+ The binary embeds the dashboard UI, bundled configuration, workflows, and templates. At runtime it still reads state, context runs, and the inspected workspace from the usual environment paths.
22
74
 
23
75
  ## Configuration
24
76
 
25
- Adapters are JSON files discovered in this order:
77
+ Adapter JSON is discovered in this order:
78
+
79
+ 1. `CLINKX_CONFIG_PATH` (file or directory). This replaces the whole search path. Shipped adapters are not loaded.
80
+ 2. `${XDG_CONFIG_HOME:-~/.config}/clinkx/adapters/*.json`. First-wins on `name`.
81
+ 3. Packaged `conf/adapters/*.json` next to the installed package (`import.meta.url`). Not `process.cwd()`.
82
+
83
+ A `conf/adapters/*.json` file in the current working directory is ignored unless `CLINKX_CONFIG_PATH` points at it. Full reference: `docs/configuration.md`.
84
+
85
+ Per-call model and effort are optional and require support declared by the resolved adapter:
86
+
87
+ ```json
88
+ {"cli_name":"codex","prompt":"Summarize the module boundaries without editing files.","model":"gpt-5.4","effort":"low"}
89
+ ```
90
+
91
+ Omit either field to retain that CLI setting. Unsupported overrides fail with MCP `-32602` before spawning; XDG adapter files must declare their own override support.
26
92
 
27
- 1. `CLINKX_CONFIG_PATH` (file or directory)
28
- 2. `${XDG_CONFIG_HOME:-~/.config}/clinkx/adapters/*.json`
29
- 3. `conf/adapters/*.json` (relative to `process.cwd()`)
93
+ Dashboard deployment controls:
30
94
 
31
- See `docs/configuration.md` for the full adapter reference.
95
+ | Setting | Contract |
96
+ |---|---|
97
+ | `CLINKX_WORKFLOWS_DASHBOARD_CREDENTIAL_DIR` | Optional absolute, non-root credential directory. Host default: `${CLINKX_WORKFLOWS_STATE_DIR}/dashboard/webauthn`. Compose pins the writable `/data/dashboard-credentials` volume. |
98
+ | `DASHBOARD_DEPLOYMENT_SLUG` | Required Compose identity, `^[a-z][a-z0-9-]{0,31}$`. Local and cloud names keep distinct stack-kind prefixes. |
99
+ | `DASHBOARD_CREDENTIAL_BOOTSTRAP_MODE` | Required Compose state assertion. First start is `bootstrap`. Flip to `existing-enrolled` right after enrollment, before restart. |
100
+
101
+ Passkey challenge capacity is 96 login slots and 32 registration/add-passkey slots, with 8 concurrent verifications. Saturation returns 503 `auth_busy` and `Retry-After: 1`. Live challenges are not evicted. Local session and challenge cookie names are port-scoped. WebAuthn still uses the shared bare `localhost` RP ID.
102
+
103
+ On browser startup, a valid same-origin passkey status beats provisional bearer state. The only bearer fallback is the split-origin static server's exact no-store 404 `{"error":{"code":"not_found"}}`. Malformed or ambiguous status, and uncertain logout, fail closed. Bearer is the explicit tested rollback.
104
+
105
+ Dashboard shutdown closes listeners first, then auth/gateway resources. Cleanup failures are aggregated across both.
106
+
107
+ ## Council roster presets
108
+
109
+ `run_workflow.roster` names a JSON preset instead of passing `members`, `chairman`, or `cb_delegate`. Council workflows only. Combining `roster` with any of those fields (or a non-empty `cb_delegate`) is MCP `-32602` and creates no run.
110
+
111
+ Discovery is first-wins by file stem, same as adapters:
112
+
113
+ 1. `CLINKX_ROSTERS_PATH` (file or directory). Replaces the rest when set.
114
+ 2. `${XDG_CONFIG_HOME:-~/.config}/clinkx/rosters/*.json`
115
+ 3. Packaged `conf/rosters/*.json` on the root server only. Standalone `createWorkflowServer` loads env/user only.
116
+
117
+ Put a user preset at `~/.config/clinkx/rosters/<name>.json`. The file stem is the name (`^[a-z0-9][a-z0-9_-]{0,63}$`). Schema is Zod-strict `clinkx-roster-v1`; at least one of `members`, `chairman`, or `delegate` is required. Shipped `conf/rosters/default-council.json`:
118
+
119
+ ```json
120
+ {
121
+ "schema_version": "clinkx-roster-v1",
122
+ "description": "Three-member council with a Codex chairman and an enabled curator/finalizer delegate.",
123
+ "members": [
124
+ { "cli_name": "codex" },
125
+ { "cli_name": "claude" },
126
+ { "cli_name": "glm" }
127
+ ],
128
+ "chairman": { "cli_name": "codex" },
129
+ "delegate": {
130
+ "enabled": true,
131
+ "curator": { "cli_name": "codex", "role": "json" },
132
+ "finalizer": {
133
+ "cli_name": "codex",
134
+ "role": "json-codereviewer",
135
+ "enabled": true,
136
+ "min_score": 8.5
137
+ },
138
+ "failure_policy": "fail"
139
+ }
140
+ }
141
+ ```
142
+
143
+ Call `run_workflow` with the preset name:
144
+
145
+ ```json
146
+ {
147
+ "workflow": "council-default",
148
+ "roster": "default-council",
149
+ "variables": { "user_request": "Compare the three approaches and pick one." }
150
+ }
151
+ ```
152
+
153
+ `list_workflows` still returns `available_cli_names`. The root server also returns `available_clis` (per-adapter model/effort template support, not value validity; `app_server` excluded) and `available_rosters` (`{name, source}` with `source` `env` | `user` | `builtin`). A council run's requested seats and delegate appear as `resolved_roster` on the async ack, a trailing sync content block, and `workflow_run_status`. `provider_spawns` is `2N+1` (ranking is a reducer, not a spawn).
32
154
 
33
155
  ## Context bundles
34
156
 
35
- Use `context_builder` when a downstream `clink` call needs curated repository context without inlining source into the first tool response. The tool requires a bounded anchor: at least one bounded `focus_paths` entry or nonblank `search_terms` entry. `include_globs` can narrow scanning when combined with those anchors, but it does not select context alone. The tool writes a durable run directory with `manifest.json` and `artifacts/bundle.md`, then returns one minified JSON receipt.
157
+ Use `context_builder` when a later `clink` call needs curated repo context and you do not want that source inlined in the first tool response. You must pass a bounded anchor: at least one `focus_paths` entry or a nonblank `search_terms` entry. `include_globs` only narrows the scan when those anchors exist. It does not select context by itself.
36
158
 
37
- The receipt includes `recommended_clink.absolute_file_paths`; pass those paths as the `absolute_file_paths` field in a later `clink` call. The handoff is fixed to the persisted `artifacts/bundle.md` and `manifest.json` files.
159
+ The tool writes a durable run directory (`manifest.json`, `artifacts/bundle.md`) and returns one minified JSON receipt. The receipt includes `recommended_clink.absolute_file_paths`. Pass those as `absolute_file_paths` on a later `clink` call. The handoff files are the persisted `artifacts/bundle.md` and `manifest.json`.
38
160
 
39
- Delegate mode requires an explicit request shape and explicit providers:
161
+ Delegate mode needs an explicit request shape and explicit providers:
40
162
 
41
163
  ```json
42
164
  {
@@ -61,11 +183,11 @@ Delegate mode requires an explicit request shape and explicit providers:
61
183
  }
62
184
  ```
63
185
 
64
- There are no built-in curator or finalizer provider defaults. Provider output is advisory: the server validates strict JSON, reconstructs accepted content from local candidates, reapplies budgets and secret checks, and does not persist raw provider output. `failure_policy:"fallback"` publishes deterministic local selection as a partial v2 run if delegate curation fails; `failure_policy:"fail"` returns an error and does not publish a manifest.
186
+ There are no built-in curator or finalizer provider defaults. Provider output is advisory. The server checks strict JSON, rebuilds accepted content from local candidates, reapplies budgets and secret checks, and does not persist raw provider output. `failure_policy:"fallback"` publishes deterministic local selection as a partial v2 run if delegate curation fails. `failure_policy:"fail"` returns an error and does not publish a manifest.
65
187
 
66
188
  ### Adding an adapter
67
189
 
68
- Create `conf/adapters/echo.json`:
190
+ Put the JSON in `${XDG_CONFIG_HOME:-~/.config}/clinkx/adapters/`. Or set `CLINKX_CONFIG_PATH` to a directory that also contains every shipped adapter you still need. That env var replaces the search path.
69
191
 
70
192
  ```json
71
193
  {
@@ -78,8 +200,6 @@ Create `conf/adapters/echo.json`:
78
200
  }
79
201
  ```
80
202
 
81
- Then start the server with `node dist/index.js`.
82
-
83
203
  ## MCP client config
84
204
 
85
205
  The exact shape depends on the client.
@@ -93,7 +213,8 @@ Via npx (recommended):
93
213
  "command": "npx",
94
214
  "args": ["-y", "clinkx@latest"],
95
215
  "env": {
96
- "CLINKX_ALLOWED_ROOTS": "/path/to/your/workspace"
216
+ "CLINKX_ALLOWED_ROOTS": "/path/to/your/workspace",
217
+ "CLINKX_WORKFLOWS_WORKSPACE_ROOT": "/path/to/your/workspace"
97
218
  }
98
219
  }
99
220
  }
@@ -109,7 +230,8 @@ From a local clone:
109
230
  "command": "node",
110
231
  "args": ["/path/to/clink-mcp/dist/index.js"],
111
232
  "env": {
112
- "CLINKX_ALLOWED_ROOTS": "/path/to/your/workspace"
233
+ "CLINKX_ALLOWED_ROOTS": "/path/to/your/workspace",
234
+ "CLINKX_WORKFLOWS_WORKSPACE_ROOT": "/path/to/your/workspace"
113
235
  }
114
236
  }
115
237
  }
@@ -118,10 +240,16 @@ From a local clone:
118
240
 
119
241
  ## Safety
120
242
 
121
- ClinkX validates what goes into the request: paths, environment variables, and argument policy. It does not sandbox the spawned process.
243
+ ClinkX validates request paths, environment variables, and argument policy. It does not sandbox the spawned process.
244
+
245
+ `CLINKX_ALLOWED_ROOTS` limits which file paths the tool accepts. Default is `process.cwd()`. It is required only if the MCP host starts ClinkX with cwd at `/`. Set it anyway so path admission does not depend on whatever cwd the host chose. The subprocess has the same permissions as whoever started ClinkX.
246
+
247
+ Set `CLINKX_WORKFLOWS_WORKSPACE_ROOT` to the same workspace. If you omit it, workflows use `process.cwd()` and warn on stderr.
248
+
249
+ `context_builder` validates roots and blocks symlink escapes. Secret material (API keys, private keys, tokens, `.env` / `.pem` / `id_rsa` / `credentials.json`) is included as written by default (`allow_secrets:true`) so delegates can probe. Opt out with `allow_secrets:false`, `cb_allow_secrets:false`, or `CLINKX_CONTEXT_ALLOW_SECRETS=false`. Bundle artifacts are not a sandbox and not an access-control boundary.
122
250
 
123
- `CLINKX_ALLOWED_ROOTS` constrains which file paths the tool accepts. The subprocess runs with the permissions of whoever started ClinkX.
251
+ See `docs/security.md`.
124
252
 
125
- `context_builder` follows the same input-validation model. It validates roots, blocks symlink escapes, omits high-confidence secrets before writing previews, slices, bundles, or manifests, and persists artifacts for manual retention or cleanup. These artifacts are not a sandbox or an access-control boundary.
253
+ ## License
126
254
 
127
- See `docs/security.md` for details.
255
+ Copyright (c) 2026 jim380. All rights reserved. Proprietary package (`license: UNLICENSED`). See `LICENSE`.
@@ -0,0 +1 @@
1
+ export declare function artifactOnlyEnvEntry(root: string): string;
@@ -0,0 +1,5 @@
1
+ import { sep } from "node:path";
2
+ export function artifactOnlyEnvEntry(root) {
3
+ return root.endsWith(sep) ? `${root}.` : `${root}${sep}.`;
4
+ }
5
+ //# sourceMappingURL=allowed-roots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowed-roots.js","sourceRoot":"","sources":["../src/allowed-roots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC;AAC5D,CAAC"}
@@ -2,8 +2,27 @@
2
2
  * Artifact storage and ordered context threading.
3
3
  */
4
4
  import type { NormalizedWorkflowDefinition, NormalizedStage, NormalizedCall } from "./definition-normalizer.js";
5
+ import { WorkflowError } from "./errors.js";
5
6
  import type { PromptBudgetContributor } from "./prompt-budget.js";
6
7
  import type { ValidatorRegistry } from "./validators/index.js";
8
+ /**
9
+ * JSON-contract parse/Zod failure only: the provider's output was not
10
+ * parseable JSON or did not match the declared validator schema. Size overflow
11
+ * is the SECOND correctable class (OutputSizeError). Unknown validator stays
12
+ * plain WorkflowError. This class marks parse/Zod failures a corrective
13
+ * re-prompt could plausibly fix, so the engine can append a bounded
14
+ * corrective suffix on an already-scheduled retry.
15
+ */
16
+ export declare class SchemaValidationError extends WorkflowError {
17
+ constructor(message: string);
18
+ }
19
+ /**
20
+ * Thrown only after parse+Zod succeed and pretty-printed
21
+ * JSON.stringify(data, null, 2) + "\n" exceeds maxBytes.
22
+ */
23
+ export declare class OutputSizeError extends WorkflowError {
24
+ constructor(message: string);
25
+ }
7
26
  export interface ValidatedJsonOutput {
8
27
  readonly parsed: unknown;
9
28
  readonly serialized: string;
@@ -60,6 +79,6 @@ export declare class ArtifactStore {
60
79
  seedArtifact(record: ArtifactRecord): void;
61
80
  seedFailedCall(stageId: string, callId: string, reason: string): void;
62
81
  buildContext(definition: NormalizedWorkflowDefinition, refs: readonly string[] | undefined): ContextArtifacts;
63
- buildAnonymizedContext(definition: NormalizedWorkflowDefinition, refs: readonly string[] | undefined, rotationIndex?: number): ContextArtifacts;
82
+ buildAnonymizedContext(definition: NormalizedWorkflowDefinition, refs: readonly string[] | undefined, rotationIndex?: number, projectArtifact?: (parsed: unknown) => unknown, namespace?: string, aliasesByReference?: Readonly<Record<string, string>>): ContextArtifacts;
64
83
  private collectReference;
65
84
  }
@@ -6,6 +6,30 @@ import { join } from "node:path";
6
6
  import { WorkflowError } from "./errors.js";
7
7
  import { renderContextSummary } from "./template.js";
8
8
  import { createPathContributor } from "./prompt-budget.js";
9
+ /**
10
+ * JSON-contract parse/Zod failure only: the provider's output was not
11
+ * parseable JSON or did not match the declared validator schema. Size overflow
12
+ * is the SECOND correctable class (OutputSizeError). Unknown validator stays
13
+ * plain WorkflowError. This class marks parse/Zod failures a corrective
14
+ * re-prompt could plausibly fix, so the engine can append a bounded
15
+ * corrective suffix on an already-scheduled retry.
16
+ */
17
+ export class SchemaValidationError extends WorkflowError {
18
+ constructor(message) {
19
+ super(message);
20
+ this.name = "SchemaValidationError";
21
+ }
22
+ }
23
+ /**
24
+ * Thrown only after parse+Zod succeed and pretty-printed
25
+ * JSON.stringify(data, null, 2) + "\n" exceeds maxBytes.
26
+ */
27
+ export class OutputSizeError extends WorkflowError {
28
+ constructor(message) {
29
+ super(message);
30
+ this.name = "OutputSizeError";
31
+ }
32
+ }
9
33
  /**
10
34
  * Recursively strip keys ending in `_id` from a parsed JSON structure
11
35
  * to prevent identity leakage in anonymized context.
@@ -50,7 +74,7 @@ export class ArtifactStore {
50
74
  parsed = JSON.parse(outputText);
51
75
  }
52
76
  catch (error) {
53
- throw new WorkflowError(`Invalid JSON output for ${stageId}.${callId}: ${error instanceof Error ? error.message : String(error)}`);
77
+ throw new SchemaValidationError(`Invalid JSON output for ${stageId}.${callId}: ${error instanceof Error ? error.message : String(error)}`);
54
78
  }
55
79
  const validator = this.validatorRegistry.get(validatorSchemaId);
56
80
  if (validator == null) {
@@ -58,13 +82,13 @@ export class ArtifactStore {
58
82
  }
59
83
  const result = validator.schema.safeParse(parsed);
60
84
  if (!result.success) {
61
- throw new WorkflowError(`Validation failed for ${stageId}.${callId} against ${validatorSchemaId}: ` +
85
+ throw new SchemaValidationError(`Validation failed for ${stageId}.${callId} against ${validatorSchemaId}: ` +
62
86
  result.error.issues.map((issue) => `${issue.path.join(".")}: ${issue.message}`).join("; "));
63
87
  }
64
88
  const serialized = `${JSON.stringify(result.data, null, 2)}\n`;
65
89
  const sizeBytes = Buffer.byteLength(serialized, "utf-8");
66
90
  if (validator.maxBytes != null && sizeBytes > validator.maxBytes) {
67
- throw new WorkflowError(`Validated output for ${stageId}.${callId} exceeds ${String(validator.maxBytes)} bytes ` +
91
+ throw new OutputSizeError(`Validated output for ${stageId}.${callId} exceeds ${String(validator.maxBytes)} bytes ` +
68
92
  `(got ${String(sizeBytes)} bytes)`);
69
93
  }
70
94
  return { parsed: result.data, serialized, sizeBytes };
@@ -174,7 +198,7 @@ export class ArtifactStore {
174
198
  omissions,
175
199
  };
176
200
  }
177
- buildAnonymizedContext(definition, refs, rotationIndex = 0) {
201
+ buildAnonymizedContext(definition, refs, rotationIndex = 0, projectArtifact = stripIdentityFields, namespace, aliasesByReference) {
178
202
  const base = this.buildContext(definition, refs);
179
203
  if (base.artifacts.length === 0) {
180
204
  return base;
@@ -182,17 +206,22 @@ export class ArtifactStore {
182
206
  if (base.artifacts.length > 26) {
183
207
  throw new WorkflowError("Anonymous aliasing supports at most 26 artifacts (A-Z)");
184
208
  }
185
- const anonDir = join(this.artifactRoot, "anonymous");
209
+ const anonDir = namespace === undefined
210
+ ? join(this.artifactRoot, "anonymous")
211
+ : join(this.artifactRoot, "anonymous", namespace);
186
212
  mkdirSync(anonDir, { recursive: true });
187
213
  const aliasedArtifacts = [];
188
214
  const aliasedPaths = [];
189
215
  const perStage = new Map();
190
216
  for (let i = 0; i < base.artifacts.length; i++) {
191
217
  const artifact = base.artifacts[i];
192
- const letter = String.fromCharCode(65 + (i % 26));
193
- const aliasFilename = `${letter}.json`;
218
+ const alias = aliasesByReference?.[artifact.reference] ?? String.fromCharCode(65 + (i % 26));
219
+ if (!/^[A-Za-z0-9_-]{1,64}$/.test(alias)) {
220
+ throw new WorkflowError(`Invalid anonymous alias for ${artifact.reference}`);
221
+ }
222
+ const aliasFilename = `${alias}.json`;
194
223
  const aliasPath = join(anonDir, aliasFilename);
195
- const content = JSON.stringify(stripIdentityFields(artifact.parsed), null, 2) + "\n";
224
+ const content = JSON.stringify(projectArtifact(artifact.parsed), null, 2) + "\n";
196
225
  writeFileSync(aliasPath, content, "utf-8");
197
226
  aliasedPaths.push(aliasPath);
198
227
  aliasedArtifacts.push({
@@ -241,7 +270,7 @@ export class ArtifactStore {
241
270
  return {
242
271
  absoluteFilePaths: rotatedPaths,
243
272
  context: summaryParts.length > 0 ? summaryParts.join(" ") : undefined,
244
- contributors: aliasedArtifacts.map((artifact, index) => createPathContributor(`context_from:answer_${String.fromCharCode(65 + index)}`, artifact.filePath, "context")),
273
+ contributors: aliasedArtifacts.map((artifact) => createPathContributor(`context_from:answer_${artifact.filename.replace(".json", "")}`, artifact.filePath, "context")),
245
274
  artifacts: aliasedArtifacts,
246
275
  omissions: base.omissions,
247
276
  };
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"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"}
@@ -21,13 +21,17 @@ export interface ClinkBackend {
21
21
  readonly isTerminated: boolean;
22
22
  /** Whether the backend's child process died unexpectedly (only relevant for child-process backends). */
23
23
  readonly hasChildDied: boolean;
24
+ /** True only for an in-process backend that can carry trusted call metadata. */
25
+ readonly supportsSessionLogOwner?: boolean | undefined;
24
26
  /** Initialize the backend (connect to child, etc). No-op for in-process backends. */
25
27
  connect(): Promise<void>;
26
28
  /** Call the clink tool. */
27
29
  callTool(args: Record<string, unknown>, options?: {
28
30
  signal?: AbortSignal;
29
31
  timeoutMs?: number;
32
+ sessionLogOwner?: SessionLogOwnerV1;
30
33
  }): Promise<ToolCallResult>;
31
34
  /** Shut down the backend. */
32
35
  terminate(): Promise<void>;
33
36
  }
37
+ import type { SessionLogOwnerV1 } from "./dashboard/session-log-contract.js";