clinkx 0.2.3 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (574) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/LICENSE +10 -0
  3. package/README.md +113 -18
  4. package/clinkx-workflows/dist/allowed-roots.d.ts +1 -0
  5. package/clinkx-workflows/dist/allowed-roots.js +5 -0
  6. package/clinkx-workflows/dist/allowed-roots.js.map +1 -0
  7. package/clinkx-workflows/dist/artifacts.d.ts +20 -1
  8. package/clinkx-workflows/dist/artifacts.js +38 -9
  9. package/clinkx-workflows/dist/artifacts.js.map +1 -1
  10. package/clinkx-workflows/dist/backend.d.ts +4 -0
  11. package/clinkx-workflows/dist/citation-check.d.ts +40 -0
  12. package/clinkx-workflows/dist/citation-check.js +348 -0
  13. package/clinkx-workflows/dist/citation-check.js.map +1 -0
  14. package/clinkx-workflows/dist/clink-client.d.ts +2 -1
  15. package/clinkx-workflows/dist/clink-client.js +17 -4
  16. package/clinkx-workflows/dist/clink-client.js.map +1 -1
  17. package/clinkx-workflows/dist/config.d.ts +145 -16
  18. package/clinkx-workflows/dist/config.js +384 -26
  19. package/clinkx-workflows/dist/config.js.map +1 -1
  20. package/clinkx-workflows/dist/contained-file.d.ts +172 -0
  21. package/clinkx-workflows/dist/contained-file.js +483 -0
  22. package/clinkx-workflows/dist/contained-file.js.map +1 -0
  23. package/clinkx-workflows/dist/context-builder-lifecycle-contract.d.ts +416 -0
  24. package/clinkx-workflows/dist/context-builder-lifecycle-contract.js +328 -0
  25. package/clinkx-workflows/dist/context-builder-lifecycle-contract.js.map +1 -0
  26. package/clinkx-workflows/dist/context-builder-lifecycle-router.d.ts +24 -0
  27. package/clinkx-workflows/dist/context-builder-lifecycle-router.js +39 -0
  28. package/clinkx-workflows/dist/context-builder-lifecycle-router.js.map +1 -0
  29. package/clinkx-workflows/dist/context-cache-key.d.ts +53 -0
  30. package/clinkx-workflows/dist/context-cache-key.js +91 -0
  31. package/clinkx-workflows/dist/context-cache-key.js.map +1 -0
  32. package/clinkx-workflows/dist/context-mode-resolver.d.ts +27 -0
  33. package/clinkx-workflows/dist/context-mode-resolver.js +126 -0
  34. package/clinkx-workflows/dist/context-mode-resolver.js.map +1 -0
  35. package/clinkx-workflows/dist/context-preflight.d.ts +184 -0
  36. package/clinkx-workflows/dist/context-preflight.js +91 -0
  37. package/clinkx-workflows/dist/context-preflight.js.map +1 -0
  38. package/clinkx-workflows/dist/council-expander.d.ts +1 -1
  39. package/clinkx-workflows/dist/council-expander.js +2 -1
  40. package/clinkx-workflows/dist/council-expander.js.map +1 -1
  41. package/clinkx-workflows/dist/dashboard/activity-contract.d.ts +165 -0
  42. package/clinkx-workflows/dist/dashboard/activity-contract.js +105 -0
  43. package/clinkx-workflows/dist/dashboard/activity-contract.js.map +1 -0
  44. package/clinkx-workflows/dist/dashboard/activity-lease.d.ts +25 -0
  45. package/clinkx-workflows/dist/dashboard/activity-lease.js +34 -0
  46. package/clinkx-workflows/dist/dashboard/activity-lease.js.map +1 -0
  47. package/clinkx-workflows/dist/dashboard/activity-reader.d.ts +86 -0
  48. package/clinkx-workflows/dist/dashboard/activity-reader.js +480 -0
  49. package/clinkx-workflows/dist/dashboard/activity-reader.js.map +1 -0
  50. package/clinkx-workflows/dist/dashboard/api-routes.d.ts +36 -0
  51. package/clinkx-workflows/dist/dashboard/api-routes.js +1047 -0
  52. package/clinkx-workflows/dist/dashboard/api-routes.js.map +1 -0
  53. package/clinkx-workflows/dist/dashboard/artifact-index.d.ts +37 -0
  54. package/clinkx-workflows/dist/dashboard/artifact-index.js +145 -0
  55. package/clinkx-workflows/dist/dashboard/artifact-index.js.map +1 -0
  56. package/clinkx-workflows/dist/dashboard/auth/challenge-store.d.ts +31 -0
  57. package/clinkx-workflows/dist/dashboard/auth/challenge-store.js +65 -0
  58. package/clinkx-workflows/dist/dashboard/auth/challenge-store.js.map +1 -0
  59. package/clinkx-workflows/dist/dashboard/auth/controller.d.ts +26 -0
  60. package/clinkx-workflows/dist/dashboard/auth/controller.js +596 -0
  61. package/clinkx-workflows/dist/dashboard/auth/controller.js.map +1 -0
  62. package/clinkx-workflows/dist/dashboard/auth/credential-store.d.ts +60 -0
  63. package/clinkx-workflows/dist/dashboard/auth/credential-store.js +776 -0
  64. package/clinkx-workflows/dist/dashboard/auth/credential-store.js.map +1 -0
  65. package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.d.ts +9 -0
  66. package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.js +44 -0
  67. package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.js.map +1 -0
  68. package/clinkx-workflows/dist/dashboard/auth/session-store.d.ts +17 -0
  69. package/clinkx-workflows/dist/dashboard/auth/session-store.js +77 -0
  70. package/clinkx-workflows/dist/dashboard/auth/session-store.js.map +1 -0
  71. package/clinkx-workflows/dist/dashboard/auth/webauthn-service.d.ts +25 -0
  72. package/clinkx-workflows/dist/dashboard/auth/webauthn-service.js +71 -0
  73. package/clinkx-workflows/dist/dashboard/auth/webauthn-service.js.map +1 -0
  74. package/clinkx-workflows/dist/dashboard/context-run-liveness.d.ts +37 -0
  75. package/clinkx-workflows/dist/dashboard/context-run-liveness.js +49 -0
  76. package/clinkx-workflows/dist/dashboard/context-run-liveness.js.map +1 -0
  77. package/clinkx-workflows/dist/dashboard/context-run-reader.d.ts +222 -0
  78. package/clinkx-workflows/dist/dashboard/context-run-reader.js +1178 -0
  79. package/clinkx-workflows/dist/dashboard/context-run-reader.js.map +1 -0
  80. package/clinkx-workflows/dist/dashboard/contracts.d.ts +8936 -0
  81. package/clinkx-workflows/dist/dashboard/contracts.js +1157 -0
  82. package/clinkx-workflows/dist/dashboard/contracts.js.map +1 -0
  83. package/clinkx-workflows/dist/dashboard/generation.d.ts +14 -0
  84. package/clinkx-workflows/dist/dashboard/generation.js +41 -0
  85. package/clinkx-workflows/dist/dashboard/generation.js.map +1 -0
  86. package/clinkx-workflows/dist/dashboard/index.d.ts +28 -0
  87. package/clinkx-workflows/dist/dashboard/index.js +16 -0
  88. package/clinkx-workflows/dist/dashboard/index.js.map +1 -0
  89. package/clinkx-workflows/dist/dashboard/lazy-content.d.ts +101 -0
  90. package/clinkx-workflows/dist/dashboard/lazy-content.js +748 -0
  91. package/clinkx-workflows/dist/dashboard/lazy-content.js.map +1 -0
  92. package/clinkx-workflows/dist/dashboard/progress-report-contract.d.ts +303 -0
  93. package/clinkx-workflows/dist/dashboard/progress-report-contract.js +221 -0
  94. package/clinkx-workflows/dist/dashboard/progress-report-contract.js.map +1 -0
  95. package/clinkx-workflows/dist/dashboard/progress-report-reader.d.ts +50 -0
  96. package/clinkx-workflows/dist/dashboard/progress-report-reader.js +581 -0
  97. package/clinkx-workflows/dist/dashboard/progress-report-reader.js.map +1 -0
  98. package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.d.ts +89 -0
  99. package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.js +71 -0
  100. package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.js.map +1 -0
  101. package/clinkx-workflows/dist/dashboard/progress-report-status-store.d.ts +28 -0
  102. package/clinkx-workflows/dist/dashboard/progress-report-status-store.js +110 -0
  103. package/clinkx-workflows/dist/dashboard/progress-report-status-store.js.map +1 -0
  104. package/clinkx-workflows/dist/dashboard/read-model.d.ts +86 -0
  105. package/clinkx-workflows/dist/dashboard/read-model.js +440 -0
  106. package/clinkx-workflows/dist/dashboard/read-model.js.map +1 -0
  107. package/clinkx-workflows/dist/dashboard/request-admission.d.ts +31 -0
  108. package/clinkx-workflows/dist/dashboard/request-admission.js +126 -0
  109. package/clinkx-workflows/dist/dashboard/request-admission.js.map +1 -0
  110. package/clinkx-workflows/dist/dashboard/scanner.d.ts +75 -0
  111. package/clinkx-workflows/dist/dashboard/scanner.js +1110 -0
  112. package/clinkx-workflows/dist/dashboard/scanner.js.map +1 -0
  113. package/clinkx-workflows/dist/dashboard/server-factory.d.ts +50 -0
  114. package/clinkx-workflows/dist/dashboard/server-factory.js +431 -0
  115. package/clinkx-workflows/dist/dashboard/server-factory.js.map +1 -0
  116. package/clinkx-workflows/dist/dashboard/session-log-contract.d.ts +2611 -0
  117. package/clinkx-workflows/dist/dashboard/session-log-contract.js +480 -0
  118. package/clinkx-workflows/dist/dashboard/session-log-contract.js.map +1 -0
  119. package/clinkx-workflows/dist/dashboard/session-log-identity.d.ts +21 -0
  120. package/clinkx-workflows/dist/dashboard/session-log-identity.js +101 -0
  121. package/clinkx-workflows/dist/dashboard/session-log-identity.js.map +1 -0
  122. package/clinkx-workflows/dist/dashboard/session-log-journal.d.ts +43 -0
  123. package/clinkx-workflows/dist/dashboard/session-log-journal.js +522 -0
  124. package/clinkx-workflows/dist/dashboard/session-log-journal.js.map +1 -0
  125. package/clinkx-workflows/dist/dashboard/session-log-reader.d.ts +61 -0
  126. package/clinkx-workflows/dist/dashboard/session-log-reader.js +378 -0
  127. package/clinkx-workflows/dist/dashboard/session-log-reader.js.map +1 -0
  128. package/clinkx-workflows/dist/dashboard/session-log-redaction.d.ts +6 -0
  129. package/clinkx-workflows/dist/dashboard/session-log-redaction.js +367 -0
  130. package/clinkx-workflows/dist/dashboard/session-log-redaction.js.map +1 -0
  131. package/clinkx-workflows/dist/dashboard/session-log-retention.d.ts +23 -0
  132. package/clinkx-workflows/dist/dashboard/session-log-retention.js +212 -0
  133. package/clinkx-workflows/dist/dashboard/session-log-retention.js.map +1 -0
  134. package/clinkx-workflows/dist/dashboard/static-responses.d.ts +10 -0
  135. package/clinkx-workflows/dist/dashboard/static-responses.js +94 -0
  136. package/clinkx-workflows/dist/dashboard/static-responses.js.map +1 -0
  137. package/clinkx-workflows/dist/dashboard/worker-lock-observer.d.ts +28 -0
  138. package/clinkx-workflows/dist/dashboard/worker-lock-observer.js +241 -0
  139. package/clinkx-workflows/dist/dashboard/worker-lock-observer.js.map +1 -0
  140. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
  141. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
  142. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
  143. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
  144. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2 +0 -0
  145. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff +0 -0
  146. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2 +0 -0
  147. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff +0 -0
  148. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff +0 -0
  149. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2 +0 -0
  150. package/clinkx-workflows/dist/dashboard-ui/assets/index-DOkMXTfB.js +25 -0
  151. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
  152. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  153. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
  154. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
  155. package/clinkx-workflows/dist/dashboard-ui/assets/style-ChJsn0KD.css +1 -0
  156. package/clinkx-workflows/dist/dashboard-ui/contracts/council-plan-review-input-v1.json +158 -0
  157. package/clinkx-workflows/dist/dashboard-ui/index.html +15 -0
  158. package/clinkx-workflows/dist/dashboard-ui/licenses/IBM-Plex-Mono-OFL.txt +93 -0
  159. package/clinkx-workflows/dist/dashboard-ui/licenses/IBM-Plex-Sans-OFL.txt +93 -0
  160. package/clinkx-workflows/dist/dashboard-ui/licenses/JetBrains-Mono-OFL.txt +93 -0
  161. package/clinkx-workflows/dist/dashboard-ui/licenses/NOTICE.md +32 -0
  162. package/clinkx-workflows/dist/dashboard-ui/theme-init.js +8 -0
  163. package/clinkx-workflows/dist/definition-normalizer.d.ts +19 -0
  164. package/clinkx-workflows/dist/definition-normalizer.js.map +1 -1
  165. package/clinkx-workflows/dist/delegate-validate.d.ts +78 -0
  166. package/clinkx-workflows/dist/delegate-validate.js +97 -0
  167. package/clinkx-workflows/dist/delegate-validate.js.map +1 -0
  168. package/clinkx-workflows/dist/engine.d.ts +141 -0
  169. package/clinkx-workflows/dist/engine.js +882 -28
  170. package/clinkx-workflows/dist/engine.js.map +1 -1
  171. package/clinkx-workflows/dist/errors.d.ts +2 -0
  172. package/clinkx-workflows/dist/errors.js.map +1 -1
  173. package/clinkx-workflows/dist/fingerprint.d.ts +1 -1
  174. package/clinkx-workflows/dist/fingerprint.js +1 -1
  175. package/clinkx-workflows/dist/index.d.ts +19 -0
  176. package/clinkx-workflows/dist/index.js +15 -0
  177. package/clinkx-workflows/dist/index.js.map +1 -1
  178. package/clinkx-workflows/dist/loader.d.ts +9 -3
  179. package/clinkx-workflows/dist/loader.js +92 -21
  180. package/clinkx-workflows/dist/loader.js.map +1 -1
  181. package/clinkx-workflows/dist/plan-review/admission.d.ts +160 -0
  182. package/clinkx-workflows/dist/plan-review/admission.js +290 -0
  183. package/clinkx-workflows/dist/plan-review/admission.js.map +1 -0
  184. package/clinkx-workflows/dist/plan-review/context-policy.d.ts +55 -0
  185. package/clinkx-workflows/dist/plan-review/context-policy.js +146 -0
  186. package/clinkx-workflows/dist/plan-review/context-policy.js.map +1 -0
  187. package/clinkx-workflows/dist/plan-review/contract.d.ts +763 -0
  188. package/clinkx-workflows/dist/plan-review/contract.js +289 -0
  189. package/clinkx-workflows/dist/plan-review/contract.js.map +1 -0
  190. package/clinkx-workflows/dist/plan-review/digest.d.ts +68 -0
  191. package/clinkx-workflows/dist/plan-review/digest.js +241 -0
  192. package/clinkx-workflows/dist/plan-review/digest.js.map +1 -0
  193. package/clinkx-workflows/dist/plan-review/discovery.d.ts +45 -0
  194. package/clinkx-workflows/dist/plan-review/discovery.js +36 -0
  195. package/clinkx-workflows/dist/plan-review/discovery.js.map +1 -0
  196. package/clinkx-workflows/dist/plan-review/execution-contract.d.ts +298 -0
  197. package/clinkx-workflows/dist/plan-review/execution-contract.js +194 -0
  198. package/clinkx-workflows/dist/plan-review/execution-contract.js.map +1 -0
  199. package/clinkx-workflows/dist/plan-review/expander.d.ts +48 -0
  200. package/clinkx-workflows/dist/plan-review/expander.js +243 -0
  201. package/clinkx-workflows/dist/plan-review/expander.js.map +1 -0
  202. package/clinkx-workflows/dist/plan-review/projector.d.ts +126 -0
  203. package/clinkx-workflows/dist/plan-review/projector.js +437 -0
  204. package/clinkx-workflows/dist/plan-review/projector.js.map +1 -0
  205. package/clinkx-workflows/dist/plan-review/publication.d.ts +95 -0
  206. package/clinkx-workflows/dist/plan-review/publication.js +182 -0
  207. package/clinkx-workflows/dist/plan-review/publication.js.map +1 -0
  208. package/clinkx-workflows/dist/plan-review/ranking-reducer.d.ts +34 -0
  209. package/clinkx-workflows/dist/plan-review/ranking-reducer.js +139 -0
  210. package/clinkx-workflows/dist/plan-review/ranking-reducer.js.map +1 -0
  211. package/clinkx-workflows/dist/plan-review/resume.d.ts +38 -0
  212. package/clinkx-workflows/dist/plan-review/resume.js +122 -0
  213. package/clinkx-workflows/dist/plan-review/resume.js.map +1 -0
  214. package/clinkx-workflows/dist/plan-review/rubric.d.ts +7 -0
  215. package/clinkx-workflows/dist/plan-review/rubric.js +24 -0
  216. package/clinkx-workflows/dist/plan-review/rubric.js.map +1 -0
  217. package/clinkx-workflows/dist/plan-review/run-state.d.ts +398 -0
  218. package/clinkx-workflows/dist/plan-review/run-state.js +183 -0
  219. package/clinkx-workflows/dist/plan-review/run-state.js.map +1 -0
  220. package/clinkx-workflows/dist/plan-review/runtime-policy.d.ts +74 -0
  221. package/clinkx-workflows/dist/plan-review/runtime-policy.js +186 -0
  222. package/clinkx-workflows/dist/plan-review/runtime-policy.js.map +1 -0
  223. package/clinkx-workflows/dist/plan-review/snapshot.d.ts +81 -0
  224. package/clinkx-workflows/dist/plan-review/snapshot.js +170 -0
  225. package/clinkx-workflows/dist/plan-review/snapshot.js.map +1 -0
  226. package/clinkx-workflows/dist/plan-review/stage-error.d.ts +19 -0
  227. package/clinkx-workflows/dist/plan-review/stage-error.js +20 -0
  228. package/clinkx-workflows/dist/plan-review/stage-error.js.map +1 -0
  229. package/clinkx-workflows/dist/post-processors/index.d.ts +20 -0
  230. package/clinkx-workflows/dist/post-processors/index.js +21 -0
  231. package/clinkx-workflows/dist/post-processors/index.js.map +1 -0
  232. package/clinkx-workflows/dist/prompt-budget.d.ts +7 -0
  233. package/clinkx-workflows/dist/prompt-budget.js +7 -1
  234. package/clinkx-workflows/dist/prompt-budget.js.map +1 -1
  235. package/clinkx-workflows/dist/reducers/index.js +2 -0
  236. package/clinkx-workflows/dist/reducers/index.js.map +1 -1
  237. package/clinkx-workflows/dist/run-lock-heartbeat.d.ts +2 -0
  238. package/clinkx-workflows/dist/run-lock-heartbeat.js +3 -0
  239. package/clinkx-workflows/dist/run-lock-heartbeat.js.map +1 -0
  240. package/clinkx-workflows/dist/run-summary/cards/council-plan-review.d.ts +34 -0
  241. package/clinkx-workflows/dist/run-summary/cards/council-plan-review.js +74 -0
  242. package/clinkx-workflows/dist/run-summary/cards/council-plan-review.js.map +1 -0
  243. package/clinkx-workflows/dist/run-summary/cards/index.js +5 -0
  244. package/clinkx-workflows/dist/run-summary/cards/index.js.map +1 -1
  245. package/clinkx-workflows/dist/run-summary.d.ts +13 -0
  246. package/clinkx-workflows/dist/run-summary.js +29 -1
  247. package/clinkx-workflows/dist/run-summary.js.map +1 -1
  248. package/clinkx-workflows/dist/schema.d.ts +76 -21
  249. package/clinkx-workflows/dist/schema.js +10 -1
  250. package/clinkx-workflows/dist/schema.js.map +1 -1
  251. package/clinkx-workflows/dist/seed-terms.d.ts +30 -0
  252. package/clinkx-workflows/dist/seed-terms.js +176 -0
  253. package/clinkx-workflows/dist/seed-terms.js.map +1 -0
  254. package/clinkx-workflows/dist/server.d.ts +5 -2
  255. package/clinkx-workflows/dist/server.js +82 -52
  256. package/clinkx-workflows/dist/server.js.map +1 -1
  257. package/clinkx-workflows/dist/shutdown.d.ts +18 -20
  258. package/clinkx-workflows/dist/shutdown.js +43 -61
  259. package/clinkx-workflows/dist/shutdown.js.map +1 -1
  260. package/clinkx-workflows/dist/state-schema.d.ts +38 -0
  261. package/clinkx-workflows/dist/state.d.ts +170 -3
  262. package/clinkx-workflows/dist/state.js +1275 -28
  263. package/clinkx-workflows/dist/state.js.map +1 -1
  264. package/clinkx-workflows/dist/transport.d.ts +15 -0
  265. package/clinkx-workflows/dist/transport.js +19 -10
  266. package/clinkx-workflows/dist/transport.js.map +1 -1
  267. package/clinkx-workflows/dist/types.d.ts +14 -2
  268. package/clinkx-workflows/dist/validators/council.d.ts +318 -85
  269. package/clinkx-workflows/dist/validators/council.js +52 -13
  270. package/clinkx-workflows/dist/validators/council.js.map +1 -1
  271. package/clinkx-workflows/dist/validators/index.d.ts +1 -0
  272. package/clinkx-workflows/dist/validators/index.js +3 -0
  273. package/clinkx-workflows/dist/validators/index.js.map +1 -1
  274. package/clinkx-workflows/dist/validators/plan-review.d.ts +398 -0
  275. package/clinkx-workflows/dist/validators/plan-review.js +316 -0
  276. package/clinkx-workflows/dist/validators/plan-review.js.map +1 -0
  277. package/clinkx-workflows/dist/workflow-receipt.js +188 -4
  278. package/clinkx-workflows/dist/workflow-receipt.js.map +1 -1
  279. package/clinkx-workflows/dist/workflow-tools.d.ts +48 -3
  280. package/clinkx-workflows/dist/workflow-tools.js +1402 -59
  281. package/clinkx-workflows/dist/workflow-tools.js.map +1 -1
  282. package/clinkx-workflows/dist/workspace-signature.d.ts +16 -0
  283. package/clinkx-workflows/dist/workspace-signature.js +388 -0
  284. package/clinkx-workflows/dist/workspace-signature.js.map +1 -0
  285. package/clinkx-workflows/templates/council/answer-specialist.txt +2 -1
  286. package/clinkx-workflows/templates/council/code-review-chairman.txt +13 -0
  287. package/clinkx-workflows/templates/council/code-review-cross-reviewer.txt +4 -1
  288. package/clinkx-workflows/templates/council/code-review-reviewer.txt +19 -3
  289. package/clinkx-workflows/templates/council/debug-debugger.txt +2 -1
  290. package/clinkx-workflows/templates/council/discover-analyst.txt +2 -1
  291. package/clinkx-workflows/templates/council/member.txt +2 -1
  292. package/clinkx-workflows/templates/council/plan-review-chairman.txt +68 -0
  293. package/clinkx-workflows/templates/council/plan-review-cross-reviewer.txt +51 -0
  294. package/clinkx-workflows/templates/council/plan-review-reviewer.txt +60 -0
  295. package/clinkx-workflows/templates/plan-review/chairman.txt +48 -0
  296. package/clinkx-workflows/templates/plan-review/cross-review.txt +52 -0
  297. package/clinkx-workflows/templates/plan-review/ranking.txt +16 -0
  298. package/clinkx-workflows/templates/plan-review/reviewer.txt +57 -0
  299. package/clinkx-workflows/workflows/council-answer.yaml +97 -8
  300. package/clinkx-workflows/workflows/council-code-review.yaml +103 -8
  301. package/clinkx-workflows/workflows/council-debug.yaml +97 -8
  302. package/clinkx-workflows/workflows/council-default.yaml +97 -8
  303. package/clinkx-workflows/workflows/council-discover.yaml +97 -8
  304. package/clinkx-workflows/workflows/council-plan-review.yaml +250 -0
  305. package/clinkx-workflows/workflows/plan-review-receipts.yaml +230 -0
  306. package/conf/adapters/agy.json +49 -0
  307. package/conf/adapters/claude.json +5 -0
  308. package/conf/adapters/codex-app-server.json +44 -0
  309. package/conf/adapters/codex.json +7 -2
  310. package/conf/adapters/glm.json +5 -0
  311. package/conf/adapters/grok.json +60 -0
  312. package/conf/adapters/hapi/agy.json +52 -0
  313. package/conf/adapters/hapi/claude.json +5 -0
  314. package/conf/adapters/hapi/codex.json +7 -2
  315. package/conf/adapters/hapi/glm.json +5 -0
  316. package/conf/prompts/json-codereviewer.txt +1 -0
  317. package/conf/prompts/json.txt +1 -0
  318. package/dist/activity-journal.d.ts +42 -0
  319. package/dist/activity-journal.js +381 -0
  320. package/dist/activity-journal.js.map +1 -0
  321. package/dist/allowed-roots.d.ts +53 -0
  322. package/dist/allowed-roots.js +216 -0
  323. package/dist/allowed-roots.js.map +1 -0
  324. package/dist/codex/activity-session-log.d.ts +14 -0
  325. package/dist/codex/activity-session-log.js +206 -0
  326. package/dist/codex/activity-session-log.js.map +1 -0
  327. package/dist/codex/agent-tools.d.ts +23 -0
  328. package/dist/codex/agent-tools.js +1270 -0
  329. package/dist/codex/agent-tools.js.map +1 -0
  330. package/dist/codex/app-server-client.d.ts +76 -0
  331. package/dist/codex/app-server-client.js +582 -0
  332. package/dist/codex/app-server-client.js.map +1 -0
  333. package/dist/codex/app-server-registry.d.ts +389 -0
  334. package/dist/codex/app-server-registry.js +1407 -0
  335. package/dist/codex/app-server-registry.js.map +1 -0
  336. package/dist/codex/client-types.d.ts +109 -0
  337. package/dist/codex/client-types.js +2 -0
  338. package/dist/codex/client-types.js.map +1 -0
  339. package/dist/codex/protocol.d.ts +5375 -0
  340. package/dist/codex/protocol.js +614 -0
  341. package/dist/codex/protocol.js.map +1 -0
  342. package/dist/codex/session.d.ts +263 -0
  343. package/dist/codex/session.js +466 -0
  344. package/dist/codex/session.js.map +1 -0
  345. package/dist/config.d.ts +185 -19
  346. package/dist/config.js +82 -16
  347. package/dist/config.js.map +1 -1
  348. package/dist/context-builder/anchors.d.ts +12 -0
  349. package/dist/context-builder/anchors.js +22 -0
  350. package/dist/context-builder/anchors.js.map +1 -0
  351. package/dist/context-builder/bundle.d.ts +109 -0
  352. package/dist/context-builder/bundle.js +1498 -0
  353. package/dist/context-builder/bundle.js.map +1 -0
  354. package/dist/context-builder/codemap.d.ts +22 -0
  355. package/dist/context-builder/codemap.js +675 -0
  356. package/dist/context-builder/codemap.js.map +1 -0
  357. package/dist/context-builder/config.d.ts +61 -0
  358. package/dist/context-builder/config.js +216 -0
  359. package/dist/context-builder/config.js.map +1 -0
  360. package/dist/context-builder/context-run-catalog.d.ts +17 -0
  361. package/dist/context-builder/context-run-catalog.js +99 -0
  362. package/dist/context-builder/context-run-catalog.js.map +1 -0
  363. package/dist/context-builder/delegate-packet.d.ts +219 -0
  364. package/dist/context-builder/delegate-packet.js +1190 -0
  365. package/dist/context-builder/delegate-packet.js.map +1 -0
  366. package/dist/context-builder/delegate-reconstruction.d.ts +13 -0
  367. package/dist/context-builder/delegate-reconstruction.js +220 -0
  368. package/dist/context-builder/delegate-reconstruction.js.map +1 -0
  369. package/dist/context-builder/delegate-validation.d.ts +27 -0
  370. package/dist/context-builder/delegate-validation.js +479 -0
  371. package/dist/context-builder/delegate-validation.js.map +1 -0
  372. package/dist/context-builder/delegate.d.ts +26 -0
  373. package/dist/context-builder/delegate.js +134 -0
  374. package/dist/context-builder/delegate.js.map +1 -0
  375. package/dist/context-builder/diagnostics.d.ts +36 -0
  376. package/dist/context-builder/diagnostics.js +107 -0
  377. package/dist/context-builder/diagnostics.js.map +1 -0
  378. package/dist/context-builder/discovery.d.ts +146 -0
  379. package/dist/context-builder/discovery.js +2129 -0
  380. package/dist/context-builder/discovery.js.map +1 -0
  381. package/dist/context-builder/globs.d.ts +14 -0
  382. package/dist/context-builder/globs.js +175 -0
  383. package/dist/context-builder/globs.js.map +1 -0
  384. package/dist/context-builder/handler.d.ts +41 -0
  385. package/dist/context-builder/handler.js +2590 -0
  386. package/dist/context-builder/handler.js.map +1 -0
  387. package/dist/context-builder/lifecycle-contract.d.ts +424 -0
  388. package/dist/context-builder/lifecycle-contract.js +523 -0
  389. package/dist/context-builder/lifecycle-contract.js.map +1 -0
  390. package/dist/context-builder/lifecycle-journal.d.ts +62 -0
  391. package/dist/context-builder/lifecycle-journal.js +88 -0
  392. package/dist/context-builder/lifecycle-journal.js.map +1 -0
  393. package/dist/context-builder/lifecycle-observer.d.ts +102 -0
  394. package/dist/context-builder/lifecycle-observer.js +258 -0
  395. package/dist/context-builder/lifecycle-observer.js.map +1 -0
  396. package/dist/context-builder/lifecycle-reconcile.d.ts +32 -0
  397. package/dist/context-builder/lifecycle-reconcile.js +191 -0
  398. package/dist/context-builder/lifecycle-reconcile.js.map +1 -0
  399. package/dist/context-builder/lifecycle-recovery.d.ts +2 -0
  400. package/dist/context-builder/lifecycle-recovery.js +14 -0
  401. package/dist/context-builder/lifecycle-recovery.js.map +1 -0
  402. package/dist/context-builder/path-signals.d.ts +7 -0
  403. package/dist/context-builder/path-signals.js +70 -0
  404. package/dist/context-builder/path-signals.js.map +1 -0
  405. package/dist/context-builder/paths.d.ts +30 -0
  406. package/dist/context-builder/paths.js +153 -0
  407. package/dist/context-builder/paths.js.map +1 -0
  408. package/dist/context-builder/progress.d.ts +17 -0
  409. package/dist/context-builder/progress.js +93 -0
  410. package/dist/context-builder/progress.js.map +1 -0
  411. package/dist/context-builder/receipt.d.ts +91 -0
  412. package/dist/context-builder/receipt.js +180 -0
  413. package/dist/context-builder/receipt.js.map +1 -0
  414. package/dist/context-builder/refine-handler.d.ts +14 -0
  415. package/dist/context-builder/refine-handler.js +790 -0
  416. package/dist/context-builder/refine-handler.js.map +1 -0
  417. package/dist/context-builder/review-coverage.d.ts +84 -0
  418. package/dist/context-builder/review-coverage.js +437 -0
  419. package/dist/context-builder/review-coverage.js.map +1 -0
  420. package/dist/context-builder/run-id.d.ts +7 -0
  421. package/dist/context-builder/run-id.js +31 -0
  422. package/dist/context-builder/run-id.js.map +1 -0
  423. package/dist/context-builder/schema.d.ts +669 -0
  424. package/dist/context-builder/schema.js +399 -0
  425. package/dist/context-builder/schema.js.map +1 -0
  426. package/dist/context-builder/secrets.d.ts +41 -0
  427. package/dist/context-builder/secrets.js +1651 -0
  428. package/dist/context-builder/secrets.js.map +1 -0
  429. package/dist/context-builder/selection.d.ts +56 -0
  430. package/dist/context-builder/selection.js +1111 -0
  431. package/dist/context-builder/selection.js.map +1 -0
  432. package/dist/context-builder/session-log-identity.d.ts +1 -0
  433. package/dist/context-builder/session-log-identity.js +66 -0
  434. package/dist/context-builder/session-log-identity.js.map +1 -0
  435. package/dist/context-builder/slice-range-math.d.ts +16 -0
  436. package/dist/context-builder/slice-range-math.js +137 -0
  437. package/dist/context-builder/slice-range-math.js.map +1 -0
  438. package/dist/context-builder/status.d.ts +66 -0
  439. package/dist/context-builder/status.js +160 -0
  440. package/dist/context-builder/status.js.map +1 -0
  441. package/dist/context-builder/storage.d.ts +118 -0
  442. package/dist/context-builder/storage.js +1003 -0
  443. package/dist/context-builder/storage.js.map +1 -0
  444. package/dist/context-builder/token-estimate.d.ts +19 -0
  445. package/dist/context-builder/token-estimate.js +90 -0
  446. package/dist/context-builder/token-estimate.js.map +1 -0
  447. package/dist/context-builder/versions.d.ts +29 -0
  448. package/dist/context-builder/versions.js +30 -0
  449. package/dist/context-builder/versions.js.map +1 -0
  450. package/dist/context-builder/workflow-runner.d.ts +69 -0
  451. package/dist/context-builder/workflow-runner.js +1051 -0
  452. package/dist/context-builder/workflow-runner.js.map +1 -0
  453. package/dist/context-builder/write-watchdog.d.ts +14 -0
  454. package/dist/context-builder/write-watchdog.js +38 -0
  455. package/dist/context-builder/write-watchdog.js.map +1 -0
  456. package/dist/dashboard-adapter-catalog.d.ts +9 -0
  457. package/dist/dashboard-adapter-catalog.js +46 -0
  458. package/dist/dashboard-adapter-catalog.js.map +1 -0
  459. package/dist/dashboard-cli.d.ts +79 -0
  460. package/dist/dashboard-cli.js +585 -0
  461. package/dist/dashboard-cli.js.map +1 -0
  462. package/dist/dashboard-companion/client.d.ts +36 -0
  463. package/dist/dashboard-companion/client.js +210 -0
  464. package/dist/dashboard-companion/client.js.map +1 -0
  465. package/dist/dashboard-companion/config.d.ts +8 -0
  466. package/dist/dashboard-companion/config.js +52 -0
  467. package/dist/dashboard-companion/config.js.map +1 -0
  468. package/dist/dashboard-companion/http-proxy.d.ts +10 -0
  469. package/dist/dashboard-companion/http-proxy.js +234 -0
  470. package/dist/dashboard-companion/http-proxy.js.map +1 -0
  471. package/dist/dashboard-companion/protocol.d.ts +80 -0
  472. package/dist/dashboard-companion/protocol.js +455 -0
  473. package/dist/dashboard-companion/protocol.js.map +1 -0
  474. package/dist/dashboard-companion/standalone-assets.d.ts +12 -0
  475. package/dist/dashboard-companion/standalone-assets.js +72 -0
  476. package/dist/dashboard-companion/standalone-assets.js.map +1 -0
  477. package/dist/dashboard-companion/standalone-entry.d.ts +1 -0
  478. package/dist/dashboard-companion/standalone-entry.js +17 -0
  479. package/dist/dashboard-companion/standalone-entry.js.map +1 -0
  480. package/dist/dashboard-gateway/config.d.ts +9 -0
  481. package/dist/dashboard-gateway/config.js +44 -0
  482. package/dist/dashboard-gateway/config.js.map +1 -0
  483. package/dist/dashboard-gateway/index.d.ts +11 -0
  484. package/dist/dashboard-gateway/index.js +755 -0
  485. package/dist/dashboard-gateway/index.js.map +1 -0
  486. package/dist/dashboard-gateway/main.d.ts +1 -0
  487. package/dist/dashboard-gateway/main.js +25 -0
  488. package/dist/dashboard-gateway/main.js.map +1 -0
  489. package/dist/dashboard-pairing-token.d.ts +1 -0
  490. package/dist/dashboard-pairing-token.js +5 -0
  491. package/dist/dashboard-pairing-token.js.map +1 -0
  492. package/dist/elaris/client.d.ts +73 -0
  493. package/dist/elaris/client.js +825 -0
  494. package/dist/elaris/client.js.map +1 -0
  495. package/dist/elaris/config.d.ts +18 -0
  496. package/dist/elaris/config.js +75 -0
  497. package/dist/elaris/config.js.map +1 -0
  498. package/dist/elaris/errors.d.ts +41 -0
  499. package/dist/elaris/errors.js +205 -0
  500. package/dist/elaris/errors.js.map +1 -0
  501. package/dist/elaris/github-repo.d.ts +18 -0
  502. package/dist/elaris/github-repo.js +89 -0
  503. package/dist/elaris/github-repo.js.map +1 -0
  504. package/dist/elaris/index.d.ts +10 -0
  505. package/dist/elaris/index.js +11 -0
  506. package/dist/elaris/index.js.map +1 -0
  507. package/dist/elaris/redact.d.ts +89 -0
  508. package/dist/elaris/redact.js +423 -0
  509. package/dist/elaris/redact.js.map +1 -0
  510. package/dist/elaris/run-id.d.ts +5 -0
  511. package/dist/elaris/run-id.js +20 -0
  512. package/dist/elaris/run-id.js.map +1 -0
  513. package/dist/elaris/status.d.ts +45 -0
  514. package/dist/elaris/status.js +122 -0
  515. package/dist/elaris/status.js.map +1 -0
  516. package/dist/elaris/tool-schemas.d.ts +314 -0
  517. package/dist/elaris/tool-schemas.js +208 -0
  518. package/dist/elaris/tool-schemas.js.map +1 -0
  519. package/dist/elaris/tools.d.ts +73 -0
  520. package/dist/elaris/tools.js +1065 -0
  521. package/dist/elaris/tools.js.map +1 -0
  522. package/dist/elaris/types.d.ts +1541 -0
  523. package/dist/elaris/types.js +252 -0
  524. package/dist/elaris/types.js.map +1 -0
  525. package/dist/errors.d.ts +16 -0
  526. package/dist/errors.js +19 -0
  527. package/dist/errors.js.map +1 -1
  528. package/dist/handler.d.ts +4 -0
  529. package/dist/handler.js +10 -1
  530. package/dist/handler.js.map +1 -1
  531. package/dist/index.d.ts +2 -1
  532. package/dist/index.js +13 -3
  533. package/dist/index.js.map +1 -1
  534. package/dist/local-clink-backend.d.ts +3 -0
  535. package/dist/local-clink-backend.js +4 -0
  536. package/dist/local-clink-backend.js.map +1 -1
  537. package/dist/package-info.d.ts +2 -0
  538. package/dist/package-info.js +18 -0
  539. package/dist/package-info.js.map +1 -0
  540. package/dist/parsers/codex-jsonl.js +48 -3
  541. package/dist/parsers/codex-jsonl.js.map +1 -1
  542. package/dist/parsers/extract.d.ts +10 -1
  543. package/dist/parsers/extract.js +11 -3
  544. package/dist/parsers/extract.js.map +1 -1
  545. package/dist/paths.d.ts +8 -0
  546. package/dist/paths.js +31 -43
  547. package/dist/paths.js.map +1 -1
  548. package/dist/pipeline.d.ts +51 -3
  549. package/dist/pipeline.js +264 -47
  550. package/dist/pipeline.js.map +1 -1
  551. package/dist/run-dir.d.ts +24 -0
  552. package/dist/run-dir.js +201 -2
  553. package/dist/run-dir.js.map +1 -1
  554. package/dist/runner.d.ts +13 -0
  555. package/dist/runner.js +184 -15
  556. package/dist/runner.js.map +1 -1
  557. package/dist/safety.d.ts +4 -4
  558. package/dist/safety.js +4 -4
  559. package/dist/schema.d.ts +7 -7
  560. package/dist/server.d.ts +2 -0
  561. package/dist/server.js +396 -24
  562. package/dist/server.js.map +1 -1
  563. package/dist/session-log-stream.d.ts +18 -0
  564. package/dist/session-log-stream.js +319 -0
  565. package/dist/session-log-stream.js.map +1 -0
  566. package/package.json +47 -5
  567. package/conf/adapters/gemini.json +0 -44
  568. package/conf/adapters/hapi/gemini.json +0 -47
  569. package/dist/artifacts.d.ts +0 -9
  570. package/dist/artifacts.js +0 -24
  571. package/dist/artifacts.js.map +0 -1
  572. package/dist/parsers/gemini-json.d.ts +0 -2
  573. package/dist/parsers/gemini-json.js +0 -72
  574. package/dist/parsers/gemini-json.js.map +0 -1
package/dist/server.js CHANGED
@@ -2,38 +2,90 @@ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
2
  import { CallToolRequestSchema, ListToolsRequestSchema, McpError, ErrorCode, } from "@modelcontextprotocol/sdk/types.js";
3
3
  import { clinkJsonSchema } from "./schema.js";
4
4
  import { handleClink } from "./handler.js";
5
- import { handleToolError, CancellationError } from "./errors.js";
5
+ import { handleToolError, CancellationError, ConfigError, InvalidParamsError } from "./errors.js";
6
6
  import { logger } from "./logger.js";
7
+ import { appendArtifactOnlyRootsToEnv } from "./allowed-roots.js";
7
8
  import { extractProgressToken } from "./progress.js";
9
+ import { contextBuilderJsonSchema } from "./context-builder/schema.js";
10
+ import { handleContextBuilder } from "./context-builder/handler.js";
11
+ import { handleRefineContextRun, refineContextRunJsonSchema, } from "./context-builder/refine-handler.js";
12
+ import { contextBuilderRunsDirFromEnv, getContextBuilderMaxConcurrent, getSharedContextBuilderSemaphore, } from "./context-builder/config.js";
13
+ import { createWorkflowContextBuilderRunner } from "./context-builder/workflow-runner.js";
14
+ import { CONTEXT_DELEGATE_PROMPT_VERSION, CONTEXT_DISCOVERY_ALGORITHM_VERSION, } from "./context-builder/versions.js";
8
15
  import { AdapterRegistry } from "./registry.js";
16
+ import { CLINKX_PACKAGE_VERSION } from "./package-info.js";
17
+ import { appServerEnabled, elarisEnabled } from "./config.js";
9
18
  import { LocalClinkBackend } from "./local-clink-backend.js";
10
- import { getWorkflowToolDefinitions, handleWorkflowToolCall, WORKFLOW_TOOL_NAMES, } from "../clinkx-workflows/dist/workflow-tools.js";
19
+ import { AGENT_TOOL_NAMES, getAgentToolDefinitions, handleAgentToolCall, } from "./codex/agent-tools.js";
20
+ import { ELARIS_TOOL_NAMES, getElarisToolDefinitions, handleElarisToolCall, } from "./elaris/index.js";
21
+ import { getWorkflowToolDefinitions, handleWorkflowToolCall, resolveWorkflowAsyncAdmissionCap, WORKFLOW_TOOL_NAMES, } from "../clinkx-workflows/dist/workflow-tools.js";
11
22
  import { WorkflowCancellationError } from "../clinkx-workflows/dist/errors.js";
12
- import { getChildConfigPath, getChildMaxResponseChars, getStateDir, getArtifactsDir, } from "../clinkx-workflows/dist/config.js";
23
+ import { getChildMaxConcurrent, getChildConfigPath, getChildMaxResponseChars, getMaxParallel, getWorkflowsAllowUnsafeAsyncCap, getWorkflowsMaxConcurrentAsync, getWorkflowsContextDefault, getWorkflowsContextDefaultCurator, getStateDir, getArtifactsDir, getRunsDir, hasExplicitWorkspaceRoot, resolveWorkspaceRoot, } from "../clinkx-workflows/dist/config.js";
24
+ import { reconcileStaleRunDirectories } from "../clinkx-workflows/dist/state.js";
25
+ import { reconcileStaleContextBuilderJournals } from "./context-builder/lifecycle-reconcile.js";
26
+ import { defaultFullDelegateProviders } from "../clinkx-workflows/dist/context-mode-resolver.js";
27
+ import { createWorkflowContextBuilderLifecycleRouter, } from "../clinkx-workflows/dist/context-builder-lifecycle-router.js";
28
+ import { join } from "node:path";
29
+ import { ACTIVITY_RETAIN_RESULT_ENV, createActivityJournal, } from "./activity-journal.js";
13
30
  /**
14
31
  * Create and configure the ClinkX MCP server.
15
32
  *
16
33
  * Registers unified handlers that expose:
17
34
  * - clink: CLI subagent bridge (existing)
35
+ * - context_builder: persisted context bundle creation
18
36
  * - run_workflow, resume_workflow, list_workflows: multi-stage workflow orchestration
19
37
  *
20
38
  * Does NOT connect transport — caller is responsible for that.
21
39
  */
22
40
  export function createServer() {
23
- const server = new Server({ name: "clinkx", version: "1.0.0" }, {
41
+ const server = new Server({ name: "clinkx", version: CLINKX_PACKAGE_VERSION }, {
24
42
  capabilities: { tools: {} },
25
- instructions: "ClinkX bridges requests to external CLI subagents (e.g. Gemini, Codex, Claude) " +
43
+ instructions: "ClinkX bridges requests to external CLI subagents (e.g. agy, Codex, Claude, Grok) " +
26
44
  "as subprocesses and returns their output. Use the clink tool to delegate tasks " +
27
45
  "to any configured CLI. Multiple clink calls can run in parallel for independent tasks. " +
46
+ "Use context_builder to create persisted context bundles before delegation. " +
28
47
  "Use run_workflow/resume_workflow/list_workflows for multi-stage workflow orchestration.",
29
48
  });
49
+ const sharedStateDir = getStateDir();
50
+ const activitySessionLogRootDir = join(sharedStateDir, "session-logs");
51
+ const directActivityJournal = createActivityJournal({
52
+ rootDir: join(sharedStateDir, "activities"),
53
+ sessionLogRootDir: activitySessionLogRootDir,
54
+ retainResult: process.env[ACTIVITY_RETAIN_RESULT_ENV] === "true",
55
+ });
30
56
  // Eagerly load adapter names + role names for tool description & schema enum (once, not per-request)
31
57
  let cliSuffix = "";
32
58
  let cliNames = [];
59
+ let appServerCliNames = [];
33
60
  let roleNames = [];
61
+ // Hold the standard registry beyond the try so the workflow context runner can
62
+ // reuse it without a second (unguarded) AdapterRegistry.load() that would crash
63
+ // createServer on a malformed config. Stays undefined if the load failed.
64
+ let standardRegistry;
34
65
  try {
35
- const registry = AdapterRegistry.load();
36
- cliNames = registry.getAdapterNames();
66
+ standardRegistry = AdapterRegistry.load();
67
+ const registry = standardRegistry;
68
+ const allNames = registry.getAdapterNames();
69
+ appServerCliNames = allNames.filter((n) => {
70
+ try {
71
+ return registry.resolveAdapter(n).backend === "app_server";
72
+ }
73
+ catch {
74
+ return false;
75
+ }
76
+ });
77
+ // app_server adapters are never reachable through clink (the synchronous
78
+ // pipeline rejects them with -32602); they are driven only by the async
79
+ // clink_agent_run / clink_agent_manage tools. Always exclude them from the
80
+ // clink cli_name enum regardless of CLINKX_APP_SERVER_ENABLED.
81
+ cliNames = allNames.filter((n) => {
82
+ try {
83
+ return registry.resolveAdapter(n).backend !== "app_server";
84
+ }
85
+ catch {
86
+ return true;
87
+ }
88
+ });
37
89
  roleNames = registry.getAllRoleNames();
38
90
  if (cliNames.length > 0) {
39
91
  cliSuffix = ` Available CLIs: ${cliNames.join(", ")}.`;
@@ -46,32 +98,166 @@ export function createServer() {
46
98
  // backend path. The subprocess path (ClinkSession) injects these via
47
99
  // deriveAllowedRoots() + buildChildEnv(), but LocalClinkBackend shares the
48
100
  // parent's process.env — so we augment it once at startup.
49
- const stateDir = getStateDir();
50
- const artifactsDir = getArtifactsDir();
51
- const existingRoots = process.env["CLINKX_ALLOWED_ROOTS"];
52
- const baseRoots = existingRoots != null && existingRoots.length > 0
53
- ? existingRoots
54
- : process.cwd();
55
- process.env["CLINKX_ALLOWED_ROOTS"] = `${baseRoots},${stateDir},${artifactsDir}`;
56
- logger.debug({ allowed_roots: process.env["CLINKX_ALLOWED_ROOTS"] }, "augmented allowed roots with workflow state/artifacts dirs");
101
+ const allowedRoots = appendArtifactOnlyRootsToEnv([getStateDir(), getArtifactsDir()], { requireExisting: false });
102
+ logger.debug({ allowed_roots: allowedRoots }, "augmented allowed roots with workflow state/artifacts dirs");
103
+ // One-time startup reconcile of workflow runs frozen as running/pending with
104
+ // no live worker (fire-and-forget: bounded, idempotent, never blocks startup).
105
+ try {
106
+ void reconcileStaleRunDirectories(getRunsDir()).catch((err) => {
107
+ logger.warn({ err: err instanceof Error ? err.message : String(err) }, "startup stale workflow run reconcile failed");
108
+ });
109
+ }
110
+ catch (err) {
111
+ logger.warn({ err: err instanceof Error ? err.message : String(err) }, "startup stale workflow run reconcile could not be scheduled");
112
+ }
113
+ try {
114
+ void reconcileStaleContextBuilderJournals().catch((err) => {
115
+ logger.warn({ err: err instanceof Error ? err.message : String(err) }, "startup stale context run reconcile failed");
116
+ });
117
+ }
118
+ catch (err) {
119
+ logger.warn({ err: err instanceof Error ? err.message : String(err) }, "startup stale context run reconcile could not be scheduled");
120
+ }
57
121
  // Workflow options — factory creates in-process backends using the registry metadata.
58
122
  // When CLINKX_WORKFLOWS_CHILD_CONFIG_PATH is set, build a workflow-specific registry
59
123
  // so the in-process path uses the same adapter config the workflow state fingerprints against.
60
124
  const childConfigPath = getChildConfigPath();
61
- const workflowRegistry = childConfigPath != null
62
- ? AdapterRegistry.loadFromPath(childConfigPath)
63
- : undefined;
64
- const workflowCliNames = workflowRegistry?.getAdapterNames() ?? cliNames;
125
+ let workflowRegistry;
126
+ if (childConfigPath != null) {
127
+ try {
128
+ workflowRegistry = AdapterRegistry.loadFromPath(childConfigPath);
129
+ }
130
+ catch (err) {
131
+ // Parity with the standard-config path: a malformed child config must FATAL
132
+ // with a friendly ConfigError naming the env var and path, not crash
133
+ // createServer with a raw SyntaxError. Preserve the original cause.
134
+ throw new ConfigError(`Failed to load CLINKX_WORKFLOWS_CHILD_CONFIG_PATH "${childConfigPath}": ` +
135
+ `${err instanceof Error ? err.message : String(err)}`);
136
+ }
137
+ }
138
+ // Workflows run council seats through the synchronous pipeline, which rejects
139
+ // app_server adapters — exclude them from the chairman/members enums too.
140
+ const workflowCliNames = workflowRegistry != null
141
+ ? workflowRegistry.getAdapterNames().filter((n) => {
142
+ try {
143
+ return workflowRegistry.resolveAdapter(n).backend !== "app_server";
144
+ }
145
+ catch {
146
+ return true;
147
+ }
148
+ })
149
+ : cliNames;
150
+ // Plan-review seats need roles.json (JSON contract). Filter the workflow CLI
151
+ // set without shrinking global availableCliNames used for members/chairman.
152
+ const planReviewSourceRegistry = workflowRegistry ?? standardRegistry;
153
+ const planReviewCliNames = workflowCliNames.filter((n) => {
154
+ if (planReviewSourceRegistry == null)
155
+ return false;
156
+ try {
157
+ return planReviewSourceRegistry.resolveAdapter(n).roles?.["json"] != null;
158
+ }
159
+ catch {
160
+ return false;
161
+ }
162
+ });
65
163
  const workflowRoleNames = workflowRegistry?.getAllRoleNames() ?? roleNames;
66
164
  const workflowMaxResponseChars = getChildMaxResponseChars();
165
+ const workflowContextPreflightEnabled = workflowsContextPreflightEnabledFromEnv();
166
+ const contextBuilderMaxConcurrent = getContextBuilderMaxConcurrent();
167
+ const rawAsyncCap = getWorkflowsMaxConcurrentAsync();
168
+ const allowUnsafeAsyncCap = getWorkflowsAllowUnsafeAsyncCap();
169
+ const effectiveAsyncCap = Math.min(rawAsyncCap, contextBuilderMaxConcurrent);
170
+ const injectedAsyncAdmissionCap = allowUnsafeAsyncCap ? rawAsyncCap : effectiveAsyncCap;
171
+ // Parse the context-default env vars ONLY when preflight is enabled. When
172
+ // disabled (the documented total-bypass / hard kill), a malformed
173
+ // CLINKX_WORKFLOWS_CONTEXT_DEFAULT or empty CLINKX_WORKFLOWS_CONTEXT_DEFAULT_CURATOR
174
+ // must NOT throw and block createServer — pass inert safe defaults instead.
175
+ const contextDefault = workflowContextPreflightEnabled ? getWorkflowsContextDefault() : "off";
176
+ const defaultCurator = workflowContextPreflightEnabled
177
+ ? getWorkflowsContextDefaultCurator()
178
+ : "";
179
+ // The context runner needs an adapter registry to validate AND run the
180
+ // default-on context delegate (curator/finalizer) and to resolve
181
+ // cb_budget_adapter budget_defaults. Prefer the workflow-specific registry
182
+ // (child-config case), else fall back to the standard registry loaded above.
183
+ const contextRunnerRegistry = workflowRegistry ?? standardRegistry;
184
+ // Under preflight ENABLED the default-on delegate WILL run, so a usable
185
+ // registry is required to fatally validate it at startup. A null registry here
186
+ // means the load above failed; injecting an unvalidated runner would let a bad
187
+ // curator/finalizer surface only at runtime, so fail loud instead. Preflight
188
+ // DISABLED stays a total bypass: no registry requirement, no runner, no throw.
189
+ let workflowContextBuilderRunner;
190
+ let workflowContextBuilderLifecycleRouter;
191
+ if (workflowContextPreflightEnabled) {
192
+ if (contextRunnerRegistry == null) {
193
+ throw new ConfigError("Workflow context preflight is enabled but no adapter registry could be loaded; " +
194
+ "the default-on context delegate cannot be validated. Fix the adapter config or " +
195
+ "set CLINKX_WORKFLOWS_CONTEXT_PREFLIGHT_ENABLED=false to disable preflight.");
196
+ }
197
+ validateWorkflowDefaultDelegate(contextRunnerRegistry, defaultCurator);
198
+ workflowContextBuilderLifecycleRouter =
199
+ createWorkflowContextBuilderLifecycleRouter();
200
+ workflowContextBuilderRunner = createWorkflowContextBuilderRunner({
201
+ runsDir: contextBuilderRunsDirFromEnv(),
202
+ // Share the process-wide context_builder gate so workflow preflight,
203
+ // standalone context_builder, and refine_context_run honor a single
204
+ // CLINKX_CONTEXT_BUILDER_MAX_CONCURRENT permit pool.
205
+ semaphore: getSharedContextBuilderSemaphore(),
206
+ registry: contextRunnerRegistry,
207
+ lifecycleFactory: workflowContextBuilderLifecycleRouter.lifecycleFactory,
208
+ // Explicit cache-identity versions: discovery-algorithm/delegate-prompt
209
+ // behavior changes must produce distinct wfctx cache identities so old
210
+ // cached bundles never mask a fix (see src/context-builder/versions.ts).
211
+ discoveryAlgorithmVersion: CONTEXT_DISCOVERY_ALGORITHM_VERSION,
212
+ delegatePromptVersion: CONTEXT_DELEGATE_PROMPT_VERSION,
213
+ });
214
+ }
67
215
  const workflowOptions = {
68
216
  createBackend: () => new LocalClinkBackend(workflowCliNames, workflowRoleNames, {
69
217
  registry: workflowRegistry,
70
218
  defaultMaxResponseChars: workflowMaxResponseChars,
71
219
  }),
72
- ...(workflowCliNames.length > 0 ? { availableCliNames: workflowCliNames } : {}),
220
+ ...(workflowCliNames.length > 0
221
+ ? {
222
+ availableCliNames: workflowCliNames,
223
+ // Always pass when availableCliNames is set — even if empty — so an
224
+ // all-no-json inventory does not fall back to the unfiltered set.
225
+ planReviewAvailableCliNames: planReviewCliNames,
226
+ }
227
+ : {}),
228
+ asyncAdmissionCap: injectedAsyncAdmissionCap,
229
+ contextDefault,
230
+ defaultCurator,
231
+ ...(workflowContextBuilderRunner == null
232
+ ? {}
233
+ : {
234
+ contextBuilderRunner: workflowContextBuilderRunner,
235
+ contextBuilderLifecycleRouter: workflowContextBuilderLifecycleRouter,
236
+ }),
73
237
  };
74
- // tools/list — advertise clink + workflow tools
238
+ // The workflows workspace root governs plan_file containment and the workflow
239
+ // child cwd, but silently defaults to process.cwd() — which an MCP client
240
+ // chooses, not the operator. Warn here, in the ROOT server: this is the path
241
+ // the shipped binary actually takes (createWorkflowServer is the standalone
242
+ // factory and is never called from src/). config.ts cannot log this itself —
243
+ // logger.ts imports config.js, so the import would be circular.
244
+ if (!hasExplicitWorkspaceRoot()) {
245
+ logger.warn({
246
+ env_var: "CLINKX_WORKFLOWS_WORKSPACE_ROOT",
247
+ workspace_root: resolveWorkspaceRoot(),
248
+ cwd: process.cwd(),
249
+ }, "CLINKX_WORKFLOWS_WORKSPACE_ROOT is not set; defaulting the workflows workspace root to process.cwd(). This root governs plan_file containment and the workflow child process cwd, so workflow behavior depends on the cwd the MCP client spawned this server with. Set CLINKX_WORKFLOWS_WORKSPACE_ROOT explicitly.");
250
+ }
251
+ warnOnWorkflowAsyncConcurrencyConfig({
252
+ preflightEnabled: workflowContextPreflightEnabled,
253
+ rawAsyncCap,
254
+ effectiveAsyncCap,
255
+ allowUnsafeAsyncCap,
256
+ admittedAsyncCap: resolveWorkflowAsyncAdmissionCap(workflowOptions),
257
+ queueDepth: Math.min(getMaxParallel(), getChildMaxConcurrent()),
258
+ childMaxConcurrent: getChildMaxConcurrent(),
259
+ });
260
+ // tools/list — advertise clink + context_builder + workflow tools
75
261
  server.setRequestHandler(ListToolsRequestSchema, async () => {
76
262
  const schema = clinkJsonSchema();
77
263
  // Inject enum arrays into cli_name and role properties (Fix 1)
@@ -80,7 +266,8 @@ export function createServer() {
80
266
  if (cliNames.length > 0 && props["cli_name"] != null) {
81
267
  props["cli_name"]["enum"] = cliNames;
82
268
  props["cli_name"]["description"] =
83
- `Which CLI to use. Available: ${cliNames.join(", ")}`;
269
+ `Which CLI to use — pick the one whose backend fits the task.` +
270
+ ` Available: ${cliNames.join(", ")}.`;
84
271
  }
85
272
  if (roleNames.length > 0 && props["role"] != null) {
86
273
  const roleEnum = [...new Set(["default", ...roleNames.filter(r => r !== "none")])].sort();
@@ -89,10 +276,11 @@ export function createServer() {
89
276
  `Role for the subagent — use "default" unless a specific role is needed. Available: ${roleEnum.join(", ")}.`;
90
277
  }
91
278
  }
92
- // Build unified tool list: clink + workflow tools
279
+ // Build unified tool list: clink + context_builder + async agent + Elaris + workflow tools
93
280
  const clinkTool = {
94
281
  name: "clink",
95
282
  description: "Execute a configured local CLI as a subagent and return the model's final output." +
283
+ " clink is single-shot and stateless — best for self-contained, isolated tasks." +
96
284
  " Multiple clink calls can run in parallel for independent tasks." +
97
285
  " Pass file paths via absolute_file_paths rather than inlining content." +
98
286
  cliSuffix,
@@ -105,14 +293,85 @@ export function createServer() {
105
293
  },
106
294
  };
107
295
  const workflowTools = getWorkflowToolDefinitions(undefined, workflowCliNames);
296
+ const contextBuilderTool = {
297
+ name: "context_builder",
298
+ description: "Create a persisted, attachable context bundle from allowed local roots. " +
299
+ "Requires bounded anchors: focus_paths or nonblank search_terms. " +
300
+ "include_globs only narrows scanning with those anchors and does not select context by itself.",
301
+ inputSchema: contextBuilderJsonSchema(),
302
+ annotations: {
303
+ readOnlyHint: false,
304
+ destructiveHint: false,
305
+ idempotentHint: false,
306
+ openWorldHint: true,
307
+ },
308
+ };
309
+ const refineContextRunTool = {
310
+ name: "refine_context_run",
311
+ description: "Create a new immutable context_builder run by applying add/remove/slice/promote/demote ops to a prior run.",
312
+ inputSchema: refineContextRunJsonSchema(),
313
+ annotations: {
314
+ readOnlyHint: false,
315
+ destructiveHint: false,
316
+ idempotentHint: false,
317
+ openWorldHint: true,
318
+ },
319
+ };
320
+ const agentTools = appServerEnabled()
321
+ ? getAgentToolDefinitions(appServerCliNames)
322
+ : [];
323
+ const elarisTools = elarisEnabled()
324
+ ? getElarisToolDefinitions()
325
+ : [];
108
326
  return {
109
- tools: [clinkTool, ...workflowTools],
327
+ tools: [
328
+ clinkTool,
329
+ contextBuilderTool,
330
+ refineContextRunTool,
331
+ ...agentTools,
332
+ ...elarisTools,
333
+ ...workflowTools,
334
+ ],
110
335
  };
111
336
  });
112
337
  // tools/call — unified dispatch for clink + workflow tools
113
338
  server.setRequestHandler(CallToolRequestSchema, async (request, extra) => {
114
339
  const { name, arguments: args } = request.params;
115
340
  const progressToken = extractProgressToken(request.params);
341
+ // Dispatch async Codex app-server tools. The handler also enforces the
342
+ // CLINKX_APP_SERVER_ENABLED master switch so explicit disabled calls fail
343
+ // with -32602 even though the tools are absent from tools/list.
344
+ if (AGENT_TOOL_NAMES.has(name)) {
345
+ try {
346
+ return await handleAgentToolCall(name, args ?? {}, {
347
+ ...(extra.signal != null ? { signal: extra.signal } : {}),
348
+ activityJournal: directActivityJournal,
349
+ sessionLogRootDir: activitySessionLogRootDir,
350
+ });
351
+ }
352
+ catch (err) {
353
+ if (err instanceof CancellationError) {
354
+ throw err;
355
+ }
356
+ return handleToolError(err);
357
+ }
358
+ }
359
+ // Dispatch Elaris remote agent-session tools. Keep explicit disabled calls
360
+ // as -32602 even though the tools are absent from tools/list.
361
+ if (ELARIS_TOOL_NAMES.has(name)) {
362
+ try {
363
+ if (!elarisEnabled()) {
364
+ throw new InvalidParamsError("Elaris remote agent-session tools are disabled. Set CLINKX_ELARIS_ENABLED=true to enable them.");
365
+ }
366
+ return await handleElarisToolCall(name, args ?? {}, extra.signal);
367
+ }
368
+ catch (err) {
369
+ if (err instanceof CancellationError) {
370
+ throw err;
371
+ }
372
+ return handleToolError(err);
373
+ }
374
+ }
116
375
  // Dispatch workflow tools
117
376
  if (WORKFLOW_TOOL_NAMES.has(name)) {
118
377
  try {
@@ -159,6 +418,7 @@ export function createServer() {
159
418
  ...(progressToken != null
160
419
  ? { progress: { server, token: progressToken } }
161
420
  : {}),
421
+ activityJournal: directActivityJournal,
162
422
  });
163
423
  }
164
424
  catch (err) {
@@ -172,6 +432,40 @@ export function createServer() {
172
432
  return handleToolError(err);
173
433
  }
174
434
  }
435
+ // Dispatch context_builder tool
436
+ if (name === "context_builder") {
437
+ try {
438
+ // Standalone context_builder stays anchor-strict: never pass the
439
+ // workflow-only allowRootWideDiscovery handler option here.
440
+ return await handleContextBuilder(args ?? {}, {
441
+ ...(extra.signal != null ? { signal: extra.signal } : {}),
442
+ ...(progressToken != null
443
+ ? { progress: { server, token: progressToken } }
444
+ : {}),
445
+ });
446
+ }
447
+ catch (err) {
448
+ if (err instanceof CancellationError) {
449
+ // MCP spec: do NOT send a response for cancelled requests.
450
+ throw err;
451
+ }
452
+ return handleToolError(err);
453
+ }
454
+ }
455
+ // Dispatch refine_context_run tool
456
+ if (name === "refine_context_run") {
457
+ try {
458
+ return await handleRefineContextRun(args ?? {}, {
459
+ ...(extra.signal != null ? { signal: extra.signal } : {}),
460
+ });
461
+ }
462
+ catch (err) {
463
+ if (err instanceof CancellationError) {
464
+ throw err;
465
+ }
466
+ return handleToolError(err);
467
+ }
468
+ }
175
469
  // Unknown tool
176
470
  logger.warn({ tool: name }, "unknown tool requested");
177
471
  return {
@@ -181,4 +475,82 @@ export function createServer() {
181
475
  });
182
476
  return server;
183
477
  }
478
+ export function workflowsContextPreflightEnabledFromEnv() {
479
+ const raw = process.env["CLINKX_WORKFLOWS_CONTEXT_PREFLIGHT_ENABLED"];
480
+ if (raw == null || raw.trim() === "") {
481
+ return true;
482
+ }
483
+ return raw.trim().toLowerCase() !== "false";
484
+ }
485
+ function warnOnWorkflowAsyncConcurrencyConfig(input) {
486
+ const common = {
487
+ raw_async_cap: input.rawAsyncCap,
488
+ effective_async_cap: input.effectiveAsyncCap,
489
+ admitted_async_cap: input.admittedAsyncCap,
490
+ allow_unsafe_async_cap: input.allowUnsafeAsyncCap,
491
+ queue_depth: input.queueDepth,
492
+ child_max_concurrent: input.childMaxConcurrent,
493
+ };
494
+ if (input.preflightEnabled &&
495
+ input.rawAsyncCap > input.effectiveAsyncCap &&
496
+ !input.allowUnsafeAsyncCap) {
497
+ logger.warn({
498
+ risk: "CB-pool starvation",
499
+ raw_async_cap: input.rawAsyncCap,
500
+ effective_async_cap: input.effectiveAsyncCap,
501
+ admitted_async_cap: input.admittedAsyncCap,
502
+ allow_unsafe_async_cap: input.allowUnsafeAsyncCap,
503
+ }, "workflow_async_cap_auto_capped");
504
+ }
505
+ if (input.preflightEnabled &&
506
+ input.rawAsyncCap > input.effectiveAsyncCap &&
507
+ input.allowUnsafeAsyncCap) {
508
+ logger.warn({
509
+ risk: "CB-pool starvation",
510
+ raw_async_cap: input.rawAsyncCap,
511
+ effective_async_cap: input.effectiveAsyncCap,
512
+ admitted_async_cap: input.admittedAsyncCap,
513
+ allow_unsafe_async_cap: input.allowUnsafeAsyncCap,
514
+ }, "workflow_async_cap_unsafe_allowed");
515
+ }
516
+ const delegatePreflightSeats = (input.admittedAsyncCap - 1) * input.queueDepth + 1;
517
+ if (input.childMaxConcurrent < delegatePreflightSeats) {
518
+ logger.warn({
519
+ ...common,
520
+ risk: "delegate-preflight contention",
521
+ required_child_max_concurrent: delegatePreflightSeats,
522
+ }, "workflow_async_delegate_preflight_contention");
523
+ }
524
+ const stageSeatFanoutSeats = input.admittedAsyncCap * input.queueDepth;
525
+ if (input.childMaxConcurrent < stageSeatFanoutSeats) {
526
+ logger.warn({
527
+ ...common,
528
+ risk: "stage-seat fanout",
529
+ required_child_max_concurrent: stageSeatFanoutSeats,
530
+ }, "workflow_async_stage_seat_fanout");
531
+ }
532
+ }
533
+ function validateWorkflowDefaultDelegate(registry, defaultCurator) {
534
+ // Single source of truth: validate EVERY enabled provider the injected default
535
+ // full delegate actually uses (curator AND finalizer), so a config can't pass
536
+ // startup with a valid curator while the hardcoded finalizer ("codex"/json)
537
+ // is missing, lacks the role, or is app_server-backed — which would otherwise
538
+ // fail or silently fall back at runtime.
539
+ for (const provider of defaultFullDelegateProviders(defaultCurator)) {
540
+ let adapter;
541
+ try {
542
+ adapter = registry.resolveAdapter(provider.cli_name);
543
+ }
544
+ catch {
545
+ throw new ConfigError(`Workflow context default ${provider.label} "${provider.cli_name}" is not configured. ` +
546
+ `Available adapters: ${registry.getAdapterNames().join(", ") || "(none)"}`);
547
+ }
548
+ if (adapter.roles[provider.role] == null) {
549
+ throw new ConfigError(`Workflow context default ${provider.label} "${provider.cli_name}" must expose role "${provider.role}".`);
550
+ }
551
+ if (adapter.backend === "app_server") {
552
+ throw new ConfigError(`Workflow context default ${provider.label} "${provider.cli_name}" must use backend "subprocess"; app_server is not valid for workflow context delegation.`);
553
+ }
554
+ }
555
+ }
184
556
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { type SessionLogJournal, type SessionLogJournalOptions } from "../clinkx-workflows/dist/dashboard/session-log-journal.js";
2
+ import type { SessionLogOwnerV1 } from "../clinkx-workflows/dist/dashboard/session-log-contract.js";
3
+ export interface ProviderSessionLogProducer {
4
+ onStdout(chunk: Buffer): void;
5
+ finish(status: "completed" | "failed" | "cancelled" | "timeout"): void;
6
+ /** Observability-only drain used by shutdown/tests; authoritative execution never awaits it. */
7
+ drain(): Promise<void>;
8
+ }
9
+ export interface ProviderSessionLogProducerOptions {
10
+ readonly parser: "codex_jsonl" | "claude_stream_json";
11
+ readonly owner: SessionLogOwnerV1;
12
+ readonly rootDir: string;
13
+ /** Exact prompt delivered to this subprocess. Captured once as authoritative user input. */
14
+ readonly prompt?: string | undefined;
15
+ readonly maxPartialLineChars?: number | undefined;
16
+ readonly journalFactory?: ((options: SessionLogJournalOptions) => Promise<SessionLogJournal>) | undefined;
17
+ }
18
+ export declare function createProviderSessionLogProducer(options: ProviderSessionLogProducerOptions): ProviderSessionLogProducer;