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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/progress-report/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const PROGRESS_REPORT_TOOL_NAMES: ReadonlySet<string>;
3
+ /**
4
+ * Four narrow tools rather than one operation-discriminated tool. A Zod
5
+ * discriminated union through zodToJsonSchema either emits `oneOf`, which many
6
+ * MCP clients flatten, or degrades to a permissive object in which every
7
+ * per-operation required field becomes optional — losing exactly the strictness
8
+ * that makes this deterministic.
9
+ *
10
+ * There is exactly ONE write mode (patch). Offering both a patch and a
11
+ * whole-document replace would reintroduce a choice for the caller to get wrong,
12
+ * which is the failure this tool surface exists to remove.
13
+ */
14
+ export declare function getProgressReportToolDefinitions(): readonly {
15
+ name: string;
16
+ description: string;
17
+ inputSchema: Record<string, unknown>;
18
+ annotations: Record<string, boolean>;
19
+ }[];
20
+ export declare function handleProgressReportToolCall(name: string, args: unknown): Promise<CallToolResult>;
@@ -0,0 +1,141 @@
1
+ import { ExecutionError, InvalidParamsError } from "../errors.js";
2
+ import { ProgressReportGetInputSchema, ProgressReportListInputSchema, ProgressReportStartInputSchema, ProgressReportUpdateInputSchema, progressReportGetJsonSchema, progressReportListJsonSchema, progressReportStartJsonSchema, progressReportUpdateJsonSchema, } from "./schema.js";
3
+ import { getReport, listReports, startReport, updateReport } from "./store.js";
4
+ export const PROGRESS_REPORT_TOOL_NAMES = new Set([
5
+ "progress_report_start",
6
+ "progress_report_update",
7
+ "progress_report_get",
8
+ "progress_report_list",
9
+ ]);
10
+ /**
11
+ * Four narrow tools rather than one operation-discriminated tool. A Zod
12
+ * discriminated union through zodToJsonSchema either emits `oneOf`, which many
13
+ * MCP clients flatten, or degrades to a permissive object in which every
14
+ * per-operation required field becomes optional — losing exactly the strictness
15
+ * that makes this deterministic.
16
+ *
17
+ * There is exactly ONE write mode (patch). Offering both a patch and a
18
+ * whole-document replace would reintroduce a choice for the caller to get wrong,
19
+ * which is the failure this tool surface exists to remove.
20
+ */
21
+ export function getProgressReportToolDefinitions() {
22
+ return [
23
+ {
24
+ name: "progress_report_start",
25
+ description: "Open a live progress report for this session and show it on the ClinkX dashboard. Use one for multi-step, long-running, or multi-agent work; skip it for trivial one-step tasks, and do not let it replace your final written report. Call progress_report_list FIRST — if a listed report is this same work (or a continuation of it) adopt it with progress_report_update instead of starting a second one. In a multi-agent run exactly ONE agent writes: the orchestrator owns the report and subagents report their status up to it. The server chooses the session id and every timestamp. Give each report a FRESH request_id (a UUID): the id is derived from it, so reusing one from an earlier report is rejected as request_id_conflict rather than opening a second report. Returns {session_id, revision} — keep both; every later update needs them.",
26
+ inputSchema: progressReportStartJsonSchema(),
27
+ annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: false },
28
+ },
29
+ {
30
+ name: "progress_report_update",
31
+ description: "Apply one bounded change to a progress report: patch session title/goal/status, upsert agents/tasks/files, append log or decision entries, replace tests or blockers. Send only what changed — never the whole document. Closing the session is an update carrying session.status done or failed, so the final status, tests and log entry all commit together. Pass the revision from your last receipt as expected_revision, and a fresh request_id per intended write (replaying one is a no-op that returns the original receipt). Section caps: log and decisions keep the most recent 200 and 100 entries; agents (50), tasks (200) and files (500) are keyed and do NOT evict — at the cap a new key is refused, and there is no removal operation, so update entries in place or start a new report. Optional fields are overwritten but can never be cleared.",
32
+ inputSchema: progressReportUpdateJsonSchema(),
33
+ annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: false },
34
+ },
35
+ {
36
+ name: "progress_report_get",
37
+ description: "Read a progress report back with its current revision. Use it to recover after a revision_conflict, or to inspect a candidate before adopting it.",
38
+ inputSchema: progressReportGetJsonSchema(),
39
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
40
+ },
41
+ {
42
+ name: "progress_report_list",
43
+ description: "List existing progress reports, most recently updated first, optionally restricted to one project folder. Call this before progress_report_start to decide whether this session's work already has a report to adopt. Only the most recently written reports are examined; truncated:true means older reports exist that this listing did not consider.",
44
+ inputSchema: progressReportListJsonSchema(),
45
+ annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
46
+ },
47
+ ];
48
+ }
49
+ /**
50
+ * Ceiling for one tool response. This surface does not run through the clink
51
+ * pipeline, so `CLINKX_MAX_RESPONSE_CHARS` never applied to it and a listing at
52
+ * the section caps could carry several megabytes of task titles straight into
53
+ * the caller's context.
54
+ */
55
+ const MAX_RESPONSE_CHARS = 200_000;
56
+ /** Enough of each list to recognise a report you might adopt, not its whole plan. */
57
+ const LIST_PREVIEW_ITEMS = 10;
58
+ /**
59
+ * `serialized` lets a caller that already had to measure the payload hand the
60
+ * exact same string back instead of stringifying up to ~200 KB a second time.
61
+ */
62
+ function ok(payload, hint, serialized) {
63
+ const text = serialized ?? JSON.stringify(payload, null, 2);
64
+ if (text.length > MAX_RESPONSE_CHARS) {
65
+ throw new ExecutionError(`progress report response is ${String(text.length)} characters, over the ${String(MAX_RESPONSE_CHARS)}-character ceiling${hint === undefined ? "" : `; ${hint}`}`);
66
+ }
67
+ return { content: [{ type: "text", text }] };
68
+ }
69
+ function preview(values) {
70
+ return { shown: values.slice(0, LIST_PREVIEW_ITEMS), total: values.length };
71
+ }
72
+ export async function handleProgressReportToolCall(name, args) {
73
+ switch (name) {
74
+ case "progress_report_start": {
75
+ const input = parse(ProgressReportStartInputSchema, args);
76
+ return ok(await startReport(input));
77
+ }
78
+ case "progress_report_update": {
79
+ const input = parse(ProgressReportUpdateInputSchema, args);
80
+ return ok(await updateReport(input));
81
+ }
82
+ case "progress_report_get": {
83
+ const input = parse(ProgressReportGetInputSchema, args);
84
+ const { document, revision, path } = await getReport(input.report_id);
85
+ const payload = { revision, path, report: document };
86
+ const text = JSON.stringify(payload, null, 2);
87
+ if (text.length > MAX_RESPONSE_CHARS) {
88
+ // DEGRADE rather than throw. A report can sit entirely inside the
89
+ // documented section caps and still serialize past this ceiling (500
90
+ // files + 200 tasks + 200 log entries is ~190 KiB on disk, 2% of the
91
+ // write cap, and just over 200 000 characters here), and it stays
92
+ // writable and keeps growing. Throwing would permanently break the
93
+ // recovery route this surface itself prescribes after a
94
+ // revision_conflict — "re-read it with progress_report_get and retry" —
95
+ // and the caller would have no way back to a usable revision. The
96
+ // revision is the part that matters, so return it without the body.
97
+ // `progress_report_list` still throws: its caller CAN act on the hint by
98
+ // lowering `limit`, and a get caller cannot.
99
+ return ok({
100
+ revision,
101
+ path,
102
+ report_omitted: true,
103
+ reason: `the report serializes to ${String(text.length)} characters, over the ${String(MAX_RESPONSE_CHARS)}-character response ceiling; the revision above is current — read ${path} directly for its contents`,
104
+ });
105
+ }
106
+ return ok(payload, undefined, text);
107
+ }
108
+ case "progress_report_list": {
109
+ const input = parse(ProgressReportListInputSchema, args);
110
+ const listing = await listReports({
111
+ ...(input.project_folder != null ? { project_folder: input.project_folder } : {}),
112
+ limit: input.limit,
113
+ });
114
+ return ok({
115
+ progress_reports: listing.candidates.map((c) => ({
116
+ ...c,
117
+ agents: preview(c.agents),
118
+ tasks: preview(c.tasks),
119
+ })),
120
+ truncated: listing.truncated,
121
+ }, "call it again with a smaller limit");
122
+ }
123
+ default:
124
+ throw new InvalidParamsError(`unknown progress report tool: ${name}`);
125
+ }
126
+ }
127
+ // The input type is deliberately `unknown`: schemas here use `.default()`, so a
128
+ // schema's input and output types differ and a single-parameter ZodType<T> would
129
+ // not match them.
130
+ function parse(schema, args) {
131
+ const result = schema.safeParse(args ?? {});
132
+ if (!result.success) {
133
+ const issues = result.error.issues
134
+ .slice(0, 5)
135
+ .map((i) => `${i.path.join(".") || "(root)"}: ${i.message}`)
136
+ .join("; ");
137
+ throw new InvalidParamsError(`invalid progress report arguments: ${issues}`);
138
+ }
139
+ return result.data;
140
+ }
141
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/progress-report/tools.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,4 @@ export interface PromptDelivery {
12
12
  * - arg: pass prompt as a CLI argument
13
13
  * - file: write prompt to a temp file, pass path as argument
14
14
  */
15
- export declare function preparePromptDelivery(mode: PromptMode, prompt: string, runDirPath: string, stdinPlaceholderArg?: string): PromptDelivery;
15
+ export declare function preparePromptDelivery(mode: PromptMode, prompt: string, runDirPath: string, stdinPlaceholderArg?: string, promptFileFlag?: string): PromptDelivery;
@@ -7,7 +7,7 @@ import { join } from "node:path";
7
7
  * - arg: pass prompt as a CLI argument
8
8
  * - file: write prompt to a temp file, pass path as argument
9
9
  */
10
- export function preparePromptDelivery(mode, prompt, runDirPath, stdinPlaceholderArg) {
10
+ export function preparePromptDelivery(mode, prompt, runDirPath, stdinPlaceholderArg, promptFileFlag) {
11
11
  switch (mode) {
12
12
  case "stdin":
13
13
  return {
@@ -19,7 +19,12 @@ export function preparePromptDelivery(mode, prompt, runDirPath, stdinPlaceholder
19
19
  case "file": {
20
20
  const promptFile = join(runDirPath, "PROMPT.txt");
21
21
  writeFileSync(promptFile, prompt, "utf-8");
22
- return { extraArgs: [promptFile], useStdin: false };
22
+ return {
23
+ extraArgs: promptFileFlag != null
24
+ ? [promptFileFlag, promptFile]
25
+ : [promptFile],
26
+ useStdin: false,
27
+ };
23
28
  }
24
29
  }
25
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-mode.js","sourceRoot":"","sources":["../src/prompt-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAWjC;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAgB,EAChB,MAAc,EACd,UAAkB,EAClB,mBAA4B;IAE5B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO;gBACL,SAAS,EAAE,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE;gBACnE,QAAQ,EAAE,IAAI;aACf,CAAC;QACJ,KAAK,KAAK;YACR,OAAO,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAClD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAClD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC3C,OAAO,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"prompt-mode.js","sourceRoot":"","sources":["../src/prompt-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAWjC;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAgB,EAChB,MAAc,EACd,UAAkB,EAClB,mBAA4B,EAC5B,cAAuB;IAEvB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO;gBACL,SAAS,EAAE,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE;gBACnE,QAAQ,EAAE,IAAI;aACf,CAAC;QACJ,KAAK,KAAK;YACR,OAAO,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAClD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAClD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC3C,OAAO;gBACL,SAAS,EAAE,cAAc,IAAI,IAAI;oBAC/B,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,CAAC;oBAC9B,CAAC,CAAC,CAAC,UAAU,CAAC;gBAChB,QAAQ,EAAE,KAAK;aAChB,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
package/dist/run-dir.d.ts CHANGED
@@ -1,3 +1,7 @@
1
+ /** Payload cap on retained stderr.log bytes (head + tail slices only); the truncation marker line adds ~50 bytes on top. */
2
+ export declare const RETAINED_STDERR_MAX_BYTES = 1048576;
3
+ export declare const RETAINED_STDERR_HEAD_BYTES = 524288;
4
+ export declare const RETAINED_STDERR_TAIL_BYTES = 524288;
1
5
  export interface RunDir {
2
6
  path: string;
3
7
  runId: string;
@@ -10,3 +14,23 @@ export interface RunDir {
10
14
  * passed by absolute path in the prompt and/or env var.
11
15
  */
12
16
  export declare function createRunDir(): RunDir;
17
+ export type RetainRunDirResult = "retained" | "cleaned" | "cleanup_failed";
18
+ /**
19
+ * Retain an idle-killed run dir as diagnostic evidence:
20
+ * - keep ONLY stderr.log; delete everything else (PROMPT.txt must not persist
21
+ * without explicit debug_keep_artifacts opt-in, RESULT.md is absent or
22
+ * incomplete on an idle kill, and CLI-created files are unbounded)
23
+ * - cap stderr.log at RETAINED_STDERR_MAX_BYTES via a head+tail slice
24
+ * - drop a `.retained` marker so retained dirs are identifiable
25
+ * - prune the oldest retained dirs beyond MAX_RETAINED_RUN_DIRS
26
+ *
27
+ * Runs post-termination, so there are no live-fd concerns. Fails CLOSED: if
28
+ * sanitization cannot complete for any non-ENOENT reason, the whole dir is
29
+ * removed instead of retained.
30
+ *
31
+ * @returns "retained" when the sanitized dir survives on disk, "cleaned" when
32
+ * the dir is confirmed gone instead (fail-closed removal or a race that
33
+ * deleted it), "cleanup_failed" when fail-closed removal could not be
34
+ * confirmed and the dir may still exist unsanitized.
35
+ */
36
+ export declare function retainRunDir(path: string): RetainRunDirResult;
package/dist/run-dir.js CHANGED
@@ -1,8 +1,22 @@
1
- import { mkdtempSync, mkdirSync, rmSync } from "node:fs";
2
- import { join } from "node:path";
1
+ import { chmodSync, closeSync, lstatSync, mkdtempSync, mkdirSync, openSync, readdirSync, readSync, rmSync, statSync, writeFileSync, } from "node:fs";
2
+ import { dirname, join } from "node:path";
3
3
  import { tmpdir } from "node:os";
4
4
  import { randomUUID } from "node:crypto";
5
5
  import { logger } from "./logger.js";
6
+ /** Cap on retained (idle-killed) run dirs kept under the runs base dir. */
7
+ const MAX_RETAINED_RUN_DIRS = 20;
8
+ const RETAINED_MARKER = ".retained";
9
+ const STDERR_LOG = "stderr.log";
10
+ /** Payload cap on retained stderr.log bytes (head + tail slices only); the truncation marker line adds ~50 bytes on top. */
11
+ export const RETAINED_STDERR_MAX_BYTES = 1_048_576; // 1 MiB
12
+ export const RETAINED_STDERR_HEAD_BYTES = 524_288; // 512 KiB
13
+ export const RETAINED_STDERR_TAIL_BYTES = 524_288; // 512 KiB
14
+ function isEnoent(err) {
15
+ return err?.code === "ENOENT";
16
+ }
17
+ function errMessage(err) {
18
+ return err instanceof Error ? err.message : String(err);
19
+ }
6
20
  /**
7
21
  * Create a per-run temp directory under ${TMPDIR}/clinkx/runs/<run_id>.
8
22
  *
@@ -29,4 +43,189 @@ export function createRunDir() {
29
43
  },
30
44
  };
31
45
  }
46
+ /**
47
+ * Retain an idle-killed run dir as diagnostic evidence:
48
+ * - keep ONLY stderr.log; delete everything else (PROMPT.txt must not persist
49
+ * without explicit debug_keep_artifacts opt-in, RESULT.md is absent or
50
+ * incomplete on an idle kill, and CLI-created files are unbounded)
51
+ * - cap stderr.log at RETAINED_STDERR_MAX_BYTES via a head+tail slice
52
+ * - drop a `.retained` marker so retained dirs are identifiable
53
+ * - prune the oldest retained dirs beyond MAX_RETAINED_RUN_DIRS
54
+ *
55
+ * Runs post-termination, so there are no live-fd concerns. Fails CLOSED: if
56
+ * sanitization cannot complete for any non-ENOENT reason, the whole dir is
57
+ * removed instead of retained.
58
+ *
59
+ * @returns "retained" when the sanitized dir survives on disk, "cleaned" when
60
+ * the dir is confirmed gone instead (fail-closed removal or a race that
61
+ * deleted it), "cleanup_failed" when fail-closed removal could not be
62
+ * confirmed and the dir may still exist unsanitized.
63
+ */
64
+ export function retainRunDir(path) {
65
+ try {
66
+ for (const entry of readdirSync(path, { withFileTypes: true })) {
67
+ if (entry.name === STDERR_LOG) {
68
+ // Reserved-name type check: keep stderr.log ONLY as a regular,
69
+ // non-symlink file. A directory or symlink under that name would
70
+ // bypass sanitization and the byte cap (lstat: isFile() is false
71
+ // for symlinks), so any other type falls through to deletion.
72
+ const st = lstatSync(join(path, entry.name), { throwIfNoEntry: false });
73
+ if (st?.isFile())
74
+ continue;
75
+ }
76
+ // Everything else is deleted — including a type-confused stderr.log
77
+ // and any pre-existing `.retained` entry; the marker is written fresh
78
+ // below so it is always a regular file created by us.
79
+ rmSync(join(path, entry.name), { recursive: true, force: true });
80
+ }
81
+ // Runs only on the lstat-verified regular file (or a no-op when absent)
82
+ capRetainedStderr(join(path, STDERR_LOG));
83
+ }
84
+ catch (err) {
85
+ if (isEnoent(err)) {
86
+ // Run dir raced away entirely — nothing to retain, nothing left on disk
87
+ logger.debug({ run_dir: path }, "run dir disappeared before retention");
88
+ return "cleaned";
89
+ }
90
+ return failClosed(path, "sanitize", err);
91
+ }
92
+ try {
93
+ writeFileSync(join(path, RETAINED_MARKER), "");
94
+ }
95
+ catch (err) {
96
+ if (isEnoent(err)) {
97
+ // Dir raced away — nothing retained, nothing to prune for
98
+ logger.debug({ run_dir: path }, "run dir disappeared before retention marker write");
99
+ return "cleaned";
100
+ }
101
+ // An unmarked dir would evade the pruner's accounting — fail closed too
102
+ return failClosed(path, "write_marker", err);
103
+ }
104
+ pruneRetainedRunDirs(dirname(path));
105
+ return "retained";
106
+ }
107
+ /**
108
+ * Remove the run dir instead of retaining it. Reports the verified outcome:
109
+ * "cleaned" only when the dir is confirmed gone, else "cleanup_failed".
110
+ */
111
+ function failClosed(path, operation, err) {
112
+ logger.warn({ run_dir: path, operation, err: errMessage(err) }, "retention sanitization failed — cleaning run dir instead of retaining");
113
+ let lastRmErr;
114
+ try {
115
+ rmSync(path, { recursive: true, force: true });
116
+ }
117
+ catch (rmErr) {
118
+ lastRmErr = rmErr;
119
+ // Sanitization failures are often permission damage (e.g. a read-only
120
+ // run dir) — repair the dir mode and retry removal once.
121
+ try {
122
+ chmodSync(path, 0o700);
123
+ rmSync(path, { recursive: true, force: true });
124
+ lastRmErr = undefined;
125
+ }
126
+ catch (retryErr) {
127
+ lastRmErr = retryErr;
128
+ }
129
+ }
130
+ // Verify removal with lstat, not existsSync: existsSync returns false when
131
+ // the path is merely INACCESSIBLE (e.g. parent dir mode 000 → EACCES on
132
+ // traversal), which would misreport a surviving dir as "cleaned". Only a
133
+ // definitive ENOENT confirms the dir is gone; any successful lstat or any
134
+ // other error (EACCES, EPERM, ...) means removal is unconfirmed.
135
+ try {
136
+ lstatSync(path);
137
+ }
138
+ catch (verifyErr) {
139
+ if (isEnoent(verifyErr))
140
+ return "cleaned";
141
+ lastRmErr ??= verifyErr;
142
+ }
143
+ logger.warn({ run_dir: path, err: errMessage(lastRmErr ?? "run dir still present after rmSync") }, "failed to remove run dir after retention sanitization failure");
144
+ return "cleanup_failed";
145
+ }
146
+ /**
147
+ * Rewrite an oversized stderr.log as first RETAINED_STDERR_HEAD_BYTES +
148
+ * truncation marker + last RETAINED_STDERR_TAIL_BYTES. Missing file (ENOENT)
149
+ * is fine — the child may never have written stderr. Other errors propagate
150
+ * to the fail-closed path in retainRunDir.
151
+ */
152
+ function capRetainedStderr(stderrPath) {
153
+ let size;
154
+ try {
155
+ size = statSync(stderrPath).size;
156
+ }
157
+ catch (err) {
158
+ if (isEnoent(err))
159
+ return;
160
+ throw err;
161
+ }
162
+ if (size <= RETAINED_STDERR_MAX_BYTES)
163
+ return;
164
+ const fd = openSync(stderrPath, "r");
165
+ let head;
166
+ let tail;
167
+ try {
168
+ head = readSlice(fd, 0, RETAINED_STDERR_HEAD_BYTES);
169
+ tail = readSlice(fd, size - RETAINED_STDERR_TAIL_BYTES, RETAINED_STDERR_TAIL_BYTES);
170
+ }
171
+ finally {
172
+ closeSync(fd);
173
+ }
174
+ const dropped = size - head.length - tail.length;
175
+ const marker = `\n... [clinkx: truncated ${dropped} bytes for retention] ...\n`;
176
+ writeFileSync(stderrPath, Buffer.concat([head, Buffer.from(marker), tail]));
177
+ }
178
+ function readSlice(fd, position, length) {
179
+ const buf = Buffer.alloc(length);
180
+ let offset = 0;
181
+ while (offset < length) {
182
+ const n = readSync(fd, buf, offset, length - offset, position + offset);
183
+ if (n === 0)
184
+ break;
185
+ offset += n;
186
+ }
187
+ return buf.subarray(0, offset);
188
+ }
189
+ function pruneRetainedRunDirs(base) {
190
+ let entries;
191
+ try {
192
+ entries = readdirSync(base, { withFileTypes: true });
193
+ }
194
+ catch (err) {
195
+ if (!isEnoent(err)) {
196
+ logger.debug({ base, err: errMessage(err) }, "failed to list runs base for retention pruning");
197
+ }
198
+ return;
199
+ }
200
+ const retained = [];
201
+ for (const entry of entries) {
202
+ if (!entry.isDirectory())
203
+ continue;
204
+ const dirPath = join(base, entry.name);
205
+ try {
206
+ // Marker mtime = retention time — the pruning sort key
207
+ retained.push({ path: dirPath, mtimeMs: statSync(join(dirPath, RETAINED_MARKER)).mtimeMs });
208
+ }
209
+ catch (err) {
210
+ // Not a retained dir (ENOENT), or raced away — skip
211
+ if (!isEnoent(err)) {
212
+ logger.debug({ dir: dirPath, err: errMessage(err) }, "failed to stat retention marker during pruning");
213
+ }
214
+ }
215
+ }
216
+ if (retained.length <= MAX_RETAINED_RUN_DIRS)
217
+ return;
218
+ retained.sort((a, b) => b.mtimeMs - a.mtimeMs);
219
+ for (const victim of retained.slice(MAX_RETAINED_RUN_DIRS)) {
220
+ try {
221
+ rmSync(victim.path, { recursive: true, force: true });
222
+ }
223
+ catch (err) {
224
+ // Raced with another prune (ENOENT) — fine
225
+ if (!isEnoent(err)) {
226
+ logger.debug({ dir: victim.path, err: errMessage(err) }, "failed to prune retained run dir");
227
+ }
228
+ }
229
+ }
230
+ }
32
231
  //# sourceMappingURL=run-dir.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-dir.js","sourceRoot":"","sources":["../src/run-dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQrC;;;;;GAKG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;IAElD,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,uBAAuB,CAAC,CAAC;IAEvD,OAAO;QACL,IAAI;QACJ,KAAK;QACL,OAAO;YACL,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/C,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,0BAA0B,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,kCAAkC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"run-dir.js","sourceRoot":"","sources":["../src/run-dir.ts"],"names":[],"mappings":"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"}
package/dist/runner.d.ts CHANGED
@@ -1,7 +1,17 @@
1
1
  import { type ChildProcess } from "node:child_process";
2
2
  import type { CliAdapterConfig } from "./config.js";
3
+ import type { SessionLogOwnerV1 } from "../clinkx-workflows/dist/dashboard/session-log-contract.js";
3
4
  /** Active subprocess registry for graceful shutdown. */
4
5
  export declare const activeProcesses: Set<ChildProcess>;
6
+ /** Synchronously prevent every future generic subprocess admission. */
7
+ export declare function latchSubprocessAdmissionForShutdown(): void;
8
+ /**
9
+ * Test-only reset for the process-wide admission latch and deterministic race
10
+ * hook. Tests that call this own the cleanup and must leave no active child.
11
+ */
12
+ export declare function resetSubprocessAdmissionForTest(): void;
13
+ /** Test-only seam for forcing the post-spawn shutdown race deterministically. */
14
+ export declare function setAfterSpawnRegisteredForTest(hook: ((child: ChildProcess) => void) | undefined): void;
5
15
  /** Kill all subprocesses tracked when shutdown begins. */
6
16
  export declare function killAllActive(): Promise<void>;
7
17
  export interface RunOptions {
@@ -11,7 +21,17 @@ export interface RunOptions {
11
21
  timeoutSeconds?: number | undefined;
12
22
  idleTimeoutSeconds?: number | undefined;
13
23
  idleTimeoutStartupSeconds?: number | undefined;
24
+ /**
25
+ * Floor applied to the resolved startup idle timeout. Delegate calls set this
26
+ * to their own ceiling so an adapter's shorter startup idle cannot kill a
27
+ * slow-to-first-byte call the caller explicitly budgeted for. A resolved 0
28
+ * (disabled) is never raised.
29
+ */
30
+ minIdleTimeoutStartupSeconds?: number | undefined;
14
31
  signal?: AbortSignal | undefined;
32
+ sessionLogOwner?: SessionLogOwnerV1 | undefined;
33
+ /** Internal storage-root override for focused tests. */
34
+ sessionLogRootDir?: string | undefined;
15
35
  }
16
36
  export interface RunResult {
17
37
  exitCode: number | null;