@inflexa-ai/harness 0.45.1 → 0.46.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 (789) hide show
  1. package/README.md +6 -3
  2. package/dist/agents/conversation-agent.d.ts +9 -3
  3. package/dist/agents/conversation-agent.js +34 -33
  4. package/dist/agents/report-session-agent.d.ts +15 -15
  5. package/dist/agents/report-session-agent.js +23 -15
  6. package/dist/agents/sandbox/index.d.ts +1 -1
  7. package/dist/agents/sandbox/index.js +1 -1
  8. package/dist/agents/sandbox/shared.d.ts +12 -14
  9. package/dist/agents/sandbox/shared.js +18 -12
  10. package/dist/agents/sandbox/types.d.ts +4 -4
  11. package/dist/agents/sandbox/validate-skills.d.ts +2 -2
  12. package/dist/agents/sandbox/validate-skills.js +3 -1
  13. package/dist/agents/sandbox-catalog.d.ts +2 -2
  14. package/dist/agents/sandbox-catalog.js +3 -3
  15. package/dist/agents/system-prompt.d.ts +2 -2
  16. package/dist/app/chat-turn-workflow.d.ts +114 -0
  17. package/dist/app/chat-turn-workflow.js +307 -0
  18. package/dist/app/chat-turn.d.ts +85 -57
  19. package/dist/app/chat-turn.js +123 -100
  20. package/dist/app/data-profile-orientation.js +10 -8
  21. package/dist/app/data-profile-view.d.ts +4 -4
  22. package/dist/app/data-profile-view.js +9 -8
  23. package/dist/app/in-process-turn.d.ts +42 -0
  24. package/dist/app/in-process-turn.js +139 -0
  25. package/dist/app/message-assembly.d.ts +10 -4
  26. package/dist/app/message-assembly.js +13 -8
  27. package/dist/app/report-session-runtime.d.ts +4 -4
  28. package/dist/app/report-session-runtime.js +36 -21
  29. package/dist/app/spawn-report-session.d.ts +33 -28
  30. package/dist/app/spawn-report-session.js +25 -40
  31. package/dist/app/synthesize-run.d.ts +22 -16
  32. package/dist/app/synthesize-run.js +41 -35
  33. package/dist/app/work.d.ts +96 -0
  34. package/dist/app/work.js +147 -0
  35. package/dist/auth/local-auth-context.d.ts +1 -3
  36. package/dist/auth/local-auth-context.js +1 -3
  37. package/dist/auth/local-run-authorizer.d.ts +1 -1
  38. package/dist/auth/local-run-authorizer.js +5 -3
  39. package/dist/auth/types.d.ts +26 -26
  40. package/dist/billing/cached-resolver.d.ts +4 -4
  41. package/dist/billing/run-charge.d.ts +5 -8
  42. package/dist/billing/run-charge.js +2 -2
  43. package/dist/billing/usage-recorder.d.ts +9 -9
  44. package/dist/citations/aggregate.js +1 -1
  45. package/dist/citations/clients/arxiv.d.ts +2 -2
  46. package/dist/citations/clients/arxiv.js +12 -4
  47. package/dist/citations/clients/common.js +4 -2
  48. package/dist/citations/clients/crossref.d.ts +2 -2
  49. package/dist/citations/clients/crossref.js +37 -37
  50. package/dist/citations/clients/doi-registry.js +15 -16
  51. package/dist/citations/clients/pubmed.d.ts +2 -2
  52. package/dist/citations/clients/pubmed.js +20 -13
  53. package/dist/citations/clients/semantic-scholar.d.ts +2 -2
  54. package/dist/citations/clients/semantic-scholar.js +9 -9
  55. package/dist/citations/compare.js +2 -2
  56. package/dist/citations/match.d.ts +2 -2
  57. package/dist/citations/match.js +12 -7
  58. package/dist/citations/normalize.js +35 -26
  59. package/dist/citations/plan.js +6 -2
  60. package/dist/citations/resolve.d.ts +6 -6
  61. package/dist/citations/resolve.js +34 -25
  62. package/dist/citations/types.d.ts +77 -77
  63. package/dist/config/environment-stores.d.ts +6 -6
  64. package/dist/config/resource-limits.js +1 -3
  65. package/dist/contracts/analogy-report.d.ts +7 -7
  66. package/dist/contracts/analogy-report.js +2 -2
  67. package/dist/contracts/chat-events.d.ts +38 -24
  68. package/dist/contracts/chat-frame.d.ts +15 -5
  69. package/dist/contracts/chat-frame.js +64 -41
  70. package/dist/contracts/chat-parts.d.ts +130 -67
  71. package/dist/contracts/chat-parts.js +1 -0
  72. package/dist/contracts/content-url.js +16 -2
  73. package/dist/contracts/data-profile.d.ts +38 -38
  74. package/dist/contracts/index.d.ts +2 -2
  75. package/dist/contracts/index.js +1 -1
  76. package/dist/contracts/message.d.ts +6 -6
  77. package/dist/contracts/organ-system.d.ts +11 -11
  78. package/dist/contracts/part-registry.d.ts +5 -4
  79. package/dist/contracts/part-registry.js +5 -0
  80. package/dist/contracts/profile-vocabulary.d.ts +11 -10
  81. package/dist/contracts/profile-vocabulary.js +10 -3
  82. package/dist/contracts/report-blocks.d.ts +329 -329
  83. package/dist/contracts/report-reference.d.ts +105 -81
  84. package/dist/contracts/report-reference.js +30 -13
  85. package/dist/contracts/schemas/chat-events.d.ts +30 -16
  86. package/dist/contracts/schemas/chat-events.js +15 -6
  87. package/dist/contracts/schemas/chat-parts.d.ts +175 -102
  88. package/dist/contracts/schemas/chat-parts.js +33 -7
  89. package/dist/contracts/severity.d.ts +1 -1
  90. package/dist/contracts/structure-source.d.ts +3 -3
  91. package/dist/contracts/structure-source.js +6 -2
  92. package/dist/contracts/subagent-activity.d.ts +2 -2
  93. package/dist/contracts/subagent-activity.js +5 -3
  94. package/dist/contracts/usage.d.ts +2 -2
  95. package/dist/data/safety-panel-schema.d.ts +25 -25
  96. package/dist/data/safety-panel-schema.js +13 -4
  97. package/dist/execution/artifact-metadata.d.ts +23 -15
  98. package/dist/execution/artifact-metadata.js +33 -10
  99. package/dist/execution/artifact-record.d.ts +2 -2
  100. package/dist/execution/artifact-registration.d.ts +5 -5
  101. package/dist/execution/artifact-registry.d.ts +8 -8
  102. package/dist/execution/dbos-run-launcher.d.ts +24 -4
  103. package/dist/execution/dbos-run-launcher.js +58 -4
  104. package/dist/execution/dbos-workflow-purger.d.ts +5 -6
  105. package/dist/execution/dbos-workflow-purger.js +8 -7
  106. package/dist/execution/input-signature.d.ts +2 -2
  107. package/dist/execution/post-step-pipeline.d.ts +9 -9
  108. package/dist/execution/post-step-pipeline.js +1 -1
  109. package/dist/execution/post-step.js +2 -2
  110. package/dist/execution/reconcile-manifest.d.ts +4 -4
  111. package/dist/execution/reconcile-manifest.js +3 -2
  112. package/dist/execution/run-authorizer.d.ts +46 -37
  113. package/dist/execution/run-authorizer.js +8 -8
  114. package/dist/execution/run-canceler.d.ts +7 -7
  115. package/dist/execution/run-canceler.js +14 -7
  116. package/dist/execution/run-end-record.d.ts +2 -3
  117. package/dist/execution/run-event-parts.d.ts +0 -8
  118. package/dist/execution/run-event-parts.js +29 -24
  119. package/dist/execution/run-event-stream.d.ts +8 -8
  120. package/dist/execution/run-event-stream.js +3 -4
  121. package/dist/execution/run-launcher.d.ts +4 -4
  122. package/dist/execution/run-synthesis.d.ts +49 -48
  123. package/dist/execution/run-synthesis.js +96 -255
  124. package/dist/execution/staged-input.d.ts +2 -2
  125. package/dist/execution/step-summary.d.ts +6 -6
  126. package/dist/execution/step-summary.js +4 -8
  127. package/dist/execution/topo-sort.js +4 -3
  128. package/dist/execution/workflow-purger.d.ts +2 -2
  129. package/dist/index.d.ts +17 -20
  130. package/dist/index.js +25 -36
  131. package/dist/input-sanitization.js +9 -2
  132. package/dist/input-scan/clustering.d.ts +6 -6
  133. package/dist/input-scan/clustering.js +11 -5
  134. package/dist/input-scan/companions.js +3 -2
  135. package/dist/input-scan/detect-sets.d.ts +2 -2
  136. package/dist/input-scan/detect-sets.js +25 -21
  137. package/dist/input-scan/enrich.d.ts +6 -6
  138. package/dist/input-scan/enrich.js +29 -12
  139. package/dist/input-scan/formats.d.ts +2 -2
  140. package/dist/input-scan/formats.js +8 -2
  141. package/dist/input-scan/markers.d.ts +2 -2
  142. package/dist/input-scan/markers.js +14 -5
  143. package/dist/input-scan/menu.d.ts +10 -10
  144. package/dist/input-scan/menu.js +0 -0
  145. package/dist/input-scan/quarantine.d.ts +2 -2
  146. package/dist/input-scan/quarantine.js +23 -18
  147. package/dist/input-scan/readout-budget.d.ts +2 -2
  148. package/dist/input-scan/readout-budget.js +1 -1
  149. package/dist/input-scan/readout.d.ts +2 -2
  150. package/dist/input-scan/readout.js +47 -34
  151. package/dist/input-scan/scan.d.ts +2 -2
  152. package/dist/input-scan/scan.js +7 -5
  153. package/dist/input-scan/set-types.d.ts +28 -28
  154. package/dist/input-scan/shapes.d.ts +4 -4
  155. package/dist/input-scan/shapes.js +0 -0
  156. package/dist/input-scan/templates.d.ts +10 -10
  157. package/dist/input-scan/templates.js +30 -22
  158. package/dist/input-scan/tokens.d.ts +6 -4
  159. package/dist/input-scan/tokens.js +100 -38
  160. package/dist/input-scan/types.d.ts +22 -22
  161. package/dist/lib/async-utils.d.ts +3 -7
  162. package/dist/lib/async-utils.js +5 -9
  163. package/dist/lib/cache.js +1 -1
  164. package/dist/lib/chrome.d.ts +46 -6
  165. package/dist/lib/console-logger.js +2 -2
  166. package/dist/lib/db-result.d.ts +22 -6
  167. package/dist/lib/db-result.js +9 -13
  168. package/dist/lib/eyes.d.ts +4 -4
  169. package/dist/lib/eyes.js +1 -1
  170. package/dist/lib/fs-helpers.js +18 -6
  171. package/dist/lib/fs-result.d.ts +1 -0
  172. package/dist/lib/fs-result.js +5 -6
  173. package/dist/lib/hooks.d.ts +23 -7
  174. package/dist/lib/hooks.js +17 -3
  175. package/dist/lib/host-concurrency.js +3 -2
  176. package/dist/lib/logger.d.ts +2 -2
  177. package/dist/lib/logger.js +2 -1
  178. package/dist/lib/metrics.d.ts +1 -1
  179. package/dist/lib/null-proto.d.ts +6 -0
  180. package/dist/lib/null-proto.js +17 -0
  181. package/dist/lib/otel-spans.d.ts +1 -1
  182. package/dist/lib/otel-spans.js +9 -5
  183. package/dist/lib/otel.d.ts +4 -2
  184. package/dist/lib/otel.js +10 -2
  185. package/dist/lib/page-capture.d.ts +8 -8
  186. package/dist/lib/page-capture.js +9 -4
  187. package/dist/lib/parse-json.d.ts +5 -0
  188. package/dist/lib/parse-json.js +12 -0
  189. package/dist/lib/present.d.ts +12 -0
  190. package/dist/lib/present.js +39 -0
  191. package/dist/lib/rate-limit.d.ts +4 -4
  192. package/dist/lib/rate-limit.js +12 -13
  193. package/dist/lib/regulatory-corpus/fetch-fda-guidance.d.ts +4 -4
  194. package/dist/lib/regulatory-corpus/fetch-fda-guidance.js +4 -10
  195. package/dist/lib/regulatory-corpus/fetch-ich.d.ts +4 -4
  196. package/dist/lib/regulatory-corpus/fetch-ich.js +18 -14
  197. package/dist/lib/regulatory-corpus/normalize-whitespace.d.ts +6 -0
  198. package/dist/lib/regulatory-corpus/normalize-whitespace.js +41 -0
  199. package/dist/lib/regulatory-corpus.d.ts +10 -10
  200. package/dist/lib/regulatory-corpus.js +3 -1
  201. package/dist/lib/result.d.ts +10 -11
  202. package/dist/lib/result.js +15 -13
  203. package/dist/lib/storage.d.ts +2 -2
  204. package/dist/lib/test/async-iterable.d.ts +9 -0
  205. package/dist/lib/test/async-iterable.js +28 -0
  206. package/dist/lib/test/request-url.d.ts +5 -0
  207. package/dist/lib/test/request-url.js +7 -0
  208. package/dist/lib/test/result-assert.d.ts +12 -0
  209. package/dist/lib/test/result-assert.js +17 -0
  210. package/dist/lib/test/text-shapes.d.ts +24 -0
  211. package/dist/lib/test/text-shapes.js +63 -0
  212. package/dist/lib/text.d.ts +22 -0
  213. package/dist/lib/text.js +68 -0
  214. package/dist/lib/thrown.d.ts +18 -0
  215. package/dist/lib/thrown.js +30 -0
  216. package/dist/lib/unknown-array.d.ts +6 -0
  217. package/dist/lib/unknown-array.js +8 -0
  218. package/dist/lib/unknown-containers.d.ts +14 -0
  219. package/dist/lib/unknown-containers.js +17 -0
  220. package/dist/lib/unknown-text.d.ts +8 -0
  221. package/dist/lib/unknown-text.js +28 -0
  222. package/dist/lib/zod-issue-shape.d.ts +1 -1
  223. package/dist/lib/zod-issue-shape.js +31 -31
  224. package/dist/lib/zod-issues.d.ts +3 -3
  225. package/dist/lib/zod-issues.js +30 -17
  226. package/dist/literature/sources/arxiv.d.ts +6 -6
  227. package/dist/literature/sources/arxiv.js +92 -35
  228. package/dist/literature/sources/http.d.ts +2 -2
  229. package/dist/literature/sources/http.js +16 -15
  230. package/dist/literature/sources/pubmed.d.ts +16 -16
  231. package/dist/literature/sources/pubmed.js +96 -61
  232. package/dist/literature/sources/semantic-scholar.d.ts +8 -8
  233. package/dist/literature/sources/semantic-scholar.js +22 -13
  234. package/dist/loop/accounting.d.ts +63 -0
  235. package/dist/loop/accounting.js +141 -0
  236. package/dist/loop/call-policy.d.ts +73 -0
  237. package/dist/loop/call-policy.js +109 -0
  238. package/dist/loop/chat-stream.d.ts +62 -0
  239. package/dist/loop/chat-stream.js +237 -0
  240. package/dist/loop/compaction.d.ts +9 -9
  241. package/dist/loop/compaction.js +1 -1
  242. package/dist/loop/metrics.d.ts +12 -15
  243. package/dist/loop/metrics.js +14 -26
  244. package/dist/loop/run-loop.d.ts +233 -0
  245. package/dist/loop/run-loop.js +770 -0
  246. package/dist/loop/sub-agent.d.ts +61 -0
  247. package/dist/loop/sub-agent.js +161 -0
  248. package/dist/loop/tool-adapter.d.ts +98 -0
  249. package/dist/loop/tool-adapter.js +364 -0
  250. package/dist/loop/tool-detail.d.ts +1 -1
  251. package/dist/loop/tool-detail.js +6 -5
  252. package/dist/loop/tool-outcome.d.ts +1 -1
  253. package/dist/loop/tool-output.d.ts +4 -4
  254. package/dist/loop/tool-output.js +2 -2
  255. package/dist/loop/turn-credentials.d.ts +34 -0
  256. package/dist/loop/turn-credentials.js +73 -0
  257. package/dist/loop/types.d.ts +29 -38
  258. package/dist/loop/types.js +2 -7
  259. package/dist/memory/ai-sdk-message-storage.d.ts +5 -5
  260. package/dist/memory/ai-sdk-message-storage.js +13 -11
  261. package/dist/memory/card-builders.d.ts +14 -14
  262. package/dist/memory/card-builders.js +19 -15
  263. package/dist/memory/conversation-display-recorder.d.ts +22 -4
  264. package/dist/memory/conversation-display-recorder.js +43 -24
  265. package/dist/memory/conversation-display-replay.js +3 -2
  266. package/dist/memory/conversation-display-storage.d.ts +15 -7
  267. package/dist/memory/conversation-display-storage.js +141 -36
  268. package/dist/memory/conversation-view.d.ts +4 -4
  269. package/dist/memory/conversation-view.js +5 -4
  270. package/dist/memory/count-tokens.js +10 -8
  271. package/dist/memory/derive-thread-title.d.ts +0 -13
  272. package/dist/memory/derive-thread-title.js +2 -1
  273. package/dist/memory/message-backfill.d.ts +12 -5
  274. package/dist/memory/message-backfill.js +5 -3
  275. package/dist/memory/thread-history.d.ts +36 -21
  276. package/dist/memory/thread-history.js +78 -54
  277. package/dist/memory/thread-store.d.ts +26 -17
  278. package/dist/memory/thread-store.js +15 -9
  279. package/dist/memory/tool-call-integrity.d.ts +2 -2
  280. package/dist/memory/tool-call-integrity.js +4 -3
  281. package/dist/memory/working-memory.d.ts +16 -12
  282. package/dist/memory/working-memory.js +72 -61
  283. package/dist/prompts/briefing.d.ts +12 -12
  284. package/dist/prompts/briefing.js +1 -1
  285. package/dist/prompts/synthesis-agent.d.ts +1 -1
  286. package/dist/prompts/synthesis-agent.js +6 -14
  287. package/dist/provenance/collector.d.ts +6 -6
  288. package/dist/provenance/collector.js +15 -8
  289. package/dist/provenance/exec-frame.d.ts +2 -2
  290. package/dist/provenance/exec-frame.js +6 -1
  291. package/dist/provenance/seam.d.ts +1 -4
  292. package/dist/provenance/types.d.ts +6 -6
  293. package/dist/providers/ai-sdk.d.ts +113 -62
  294. package/dist/providers/ai-sdk.js +283 -518
  295. package/dist/providers/embedding.d.ts +2 -2
  296. package/dist/providers/embedding.js +1 -1
  297. package/dist/providers/errors.d.ts +22 -2
  298. package/dist/providers/errors.js +98 -50
  299. package/dist/providers/prompt-cache.d.ts +8 -8
  300. package/dist/providers/prompt-cache.js +13 -11
  301. package/dist/providers/reasoning.d.ts +2 -2
  302. package/dist/providers/reasoning.js +2 -2
  303. package/dist/providers/types.d.ts +55 -94
  304. package/dist/reference-data/catalog.d.ts +2 -15
  305. package/dist/reference-data/catalog.js +25 -8
  306. package/dist/reference-data/receipt.d.ts +2 -2
  307. package/dist/report-model/assert-rules.js +1 -1
  308. package/dist/report-model/authoring-grammar.d.ts +211 -233
  309. package/dist/report-model/block-walk.d.ts +10 -10
  310. package/dist/report-model/block-walk.js +2 -0
  311. package/dist/report-model/draft-finish.d.ts +8 -8
  312. package/dist/report-model/draft-finish.js +1 -1
  313. package/dist/report-model/draft-hash.js +8 -7
  314. package/dist/report-model/draft-operations.d.ts +22 -10
  315. package/dist/report-model/draft-operations.js +48 -30
  316. package/dist/report-model/draft-read.d.ts +19 -7
  317. package/dist/report-model/draft-read.js +16 -6
  318. package/dist/report-model/draft.d.ts +844 -2
  319. package/dist/report-model/draft.js +3 -1
  320. package/dist/report-model/fixture-resolver.js +39 -16
  321. package/dist/report-model/pin-snapshot.d.ts +2 -2
  322. package/dist/report-model/pin-snapshot.js +15 -15
  323. package/dist/report-model/production-resolver.d.ts +18 -18
  324. package/dist/report-model/production-resolver.js +50 -42
  325. package/dist/report-model/reference-resolver.d.ts +26 -10
  326. package/dist/report-model/reference-resolver.js +68 -5
  327. package/dist/report-model/reference-stamp.js +30 -38
  328. package/dist/report-model/structural-validation.js +12 -4
  329. package/dist/report-model/validate.d.ts +7 -7
  330. package/dist/report-model/validate.js +6 -6
  331. package/dist/report-render/assets.d.ts +2 -2
  332. package/dist/report-render/assets.js +27 -3
  333. package/dist/report-render/chart-export.d.ts +10 -2
  334. package/dist/report-render/chart-export.js +37 -11
  335. package/dist/report-render/chart-presets.d.ts +8 -8
  336. package/dist/report-render/chart-presets.js +3 -3
  337. package/dist/report-render/chart-renderers.d.ts +23 -16
  338. package/dist/report-render/chart-renderers.js +74 -53
  339. package/dist/report-render/chart-toolbox.d.ts +2 -2
  340. package/dist/report-render/chart-toolbox.js +7 -6
  341. package/dist/report-render/chart.d.ts +15 -16
  342. package/dist/report-render/chart.js +369 -252
  343. package/dist/report-render/design.d.ts +36 -297
  344. package/dist/report-render/design.js +0 -12
  345. package/dist/report-render/figures/common.d.ts +12 -12
  346. package/dist/report-render/figures/common.js +42 -31
  347. package/dist/report-render/figures/dendrogram.d.ts +3 -3
  348. package/dist/report-render/figures/dendrogram.js +10 -10
  349. package/dist/report-render/figures/dense.js +15 -8
  350. package/dist/report-render/figures/dotplot.js +46 -33
  351. package/dist/report-render/figures/embedding.js +52 -43
  352. package/dist/report-render/figures/equal-units.d.ts +10 -10
  353. package/dist/report-render/figures/equal-units.js +27 -27
  354. package/dist/report-render/figures/forest.js +9 -7
  355. package/dist/report-render/figures/gsea.js +21 -11
  356. package/dist/report-render/figures/heatmap.js +13 -9
  357. package/dist/report-render/figures/index.d.ts +10 -10
  358. package/dist/report-render/figures/index.js +4 -2
  359. package/dist/report-render/figures/km.js +10 -9
  360. package/dist/report-render/figures/label-room.d.ts +12 -12
  361. package/dist/report-render/figures/label-room.js +7 -2
  362. package/dist/report-render/figures/locuszoom.d.ts +2 -2
  363. package/dist/report-render/figures/locuszoom.js +59 -31
  364. package/dist/report-render/figures/lollipop.js +3 -2
  365. package/dist/report-render/figures/ma.js +8 -4
  366. package/dist/report-render/figures/manhattan.d.ts +1 -2
  367. package/dist/report-render/figures/manhattan.js +52 -34
  368. package/dist/report-render/figures/oncoprint.js +4 -5
  369. package/dist/report-render/figures/pca.js +25 -11
  370. package/dist/report-render/figures/qq.js +20 -9
  371. package/dist/report-render/figures/roc.js +1 -1
  372. package/dist/report-render/figures/sankey.d.ts +2 -2
  373. package/dist/report-render/figures/sankey.js +11 -10
  374. package/dist/report-render/figures/upset.d.ts +6 -6
  375. package/dist/report-render/figures/upset.js +7 -4
  376. package/dist/report-render/figures/volcano.js +12 -10
  377. package/dist/report-render/hybrid-svg.d.ts +4 -4
  378. package/dist/report-render/hybrid-svg.js +7 -5
  379. package/dist/report-render/number-format.d.ts +4 -4
  380. package/dist/report-render/number-format.js +62 -27
  381. package/dist/report-render/page.js +2 -1
  382. package/dist/report-render/provenance-data.d.ts +2 -2
  383. package/dist/report-render/references.d.ts +4 -4
  384. package/dist/report-render/render.d.ts +2 -2
  385. package/dist/report-render/render.js +10 -11
  386. package/dist/report-render/script-json.js +1 -1
  387. package/dist/report-render/table-data.d.ts +6 -6
  388. package/dist/report-render/test/options.d.ts +49 -0
  389. package/dist/report-render/test/options.js +143 -0
  390. package/dist/report-render/test/page-function.d.ts +19 -0
  391. package/dist/report-render/test/page-function.js +33 -0
  392. package/dist/report-render/types.d.ts +10 -10
  393. package/dist/report-render/value-bridge.d.ts +4 -4
  394. package/dist/report-render/value-bridge.js +27 -14
  395. package/dist/report-render/views/chart-view.d.ts +2 -2
  396. package/dist/report-render/views/chart-view.js +2 -2
  397. package/dist/report-render/views/lineage.d.ts +6 -6
  398. package/dist/report-render/views/lineage.js +2 -0
  399. package/dist/report-render/views/page-view.d.ts +2 -2
  400. package/dist/report-render/views/page-view.js +1 -0
  401. package/dist/report-render/views/prose.js +25 -8
  402. package/dist/report-render/views/references-view.js +12 -1
  403. package/dist/report-render/views/values.js +1 -1
  404. package/dist/runtime/assemble.d.ts +53 -26
  405. package/dist/runtime/assemble.js +103 -56
  406. package/dist/runtime/boot.d.ts +8 -7
  407. package/dist/runtime/boot.js +1 -1
  408. package/dist/runtime/connection-budget.d.ts +6 -6
  409. package/dist/runtime/connection-budget.js +1 -1
  410. package/dist/runtime/dbos.d.ts +29 -19
  411. package/dist/runtime/dbos.js +35 -20
  412. package/dist/runtime/result-serialization.js +18 -5
  413. package/dist/runtime/shutdown.d.ts +2 -2
  414. package/dist/sandbox/client.d.ts +7 -3
  415. package/dist/sandbox/cpu-files.d.ts +2 -2
  416. package/dist/sandbox/cpu-files.js +21 -4
  417. package/dist/sandbox/create-sandbox.d.ts +7 -8
  418. package/dist/sandbox/create-sandbox.js +6 -12
  419. package/dist/sandbox/docker-client.d.ts +48 -3
  420. package/dist/sandbox/docker-client.js +10 -6
  421. package/dist/sandbox/estimate-data-profile-resources.js +2 -7
  422. package/dist/sandbox/exec-outcome.d.ts +2 -2
  423. package/dist/sandbox/exec-outcome.js +1 -1
  424. package/dist/sandbox/exec.d.ts +10 -6
  425. package/dist/sandbox/exec.js +27 -12
  426. package/dist/sandbox/execution-id.js +14 -6
  427. package/dist/sandbox/farm.d.ts +2 -2
  428. package/dist/sandbox/farm.js +22 -27
  429. package/dist/sandbox/identity.d.ts +7 -0
  430. package/dist/sandbox/identity.js +14 -3
  431. package/dist/sandbox/image-packages.js +15 -27
  432. package/dist/sandbox/k8s-client.d.ts +35 -8
  433. package/dist/sandbox/k8s-client.js +6 -5
  434. package/dist/sandbox/labels.js +1 -0
  435. package/dist/sandbox/liveness.js +3 -1
  436. package/dist/sandbox/mount-plan.d.ts +10 -10
  437. package/dist/sandbox/mount-plan.js +13 -14
  438. package/dist/sandbox/notification-sweep.d.ts +4 -4
  439. package/dist/sandbox/notification-sweep.js +4 -7
  440. package/dist/sandbox/package-identity.d.ts +6 -13
  441. package/dist/sandbox/package-identity.js +46 -28
  442. package/dist/sandbox/reaper.d.ts +10 -10
  443. package/dist/sandbox/reaper.js +4 -6
  444. package/dist/sandbox/sandbox-error.d.ts +2 -9
  445. package/dist/sandbox/sandbox-error.js +21 -8
  446. package/dist/sandbox/sandbox-step-translate.d.ts +8 -5
  447. package/dist/sandbox/sandbox-step-translate.js +22 -8
  448. package/dist/sandbox/step-sandbox.d.ts +47 -0
  449. package/dist/sandbox/step-sandbox.js +53 -0
  450. package/dist/sandbox/types.d.ts +18 -19
  451. package/dist/sandbox/types.js +1 -1
  452. package/dist/schemas/artifact-manifest.d.ts +4 -4
  453. package/dist/schemas/data-profile-schemas.d.ts +343 -298
  454. package/dist/schemas/file-metadata.js +2 -4
  455. package/dist/schemas/plan-schemas.d.ts +31 -31
  456. package/dist/schemas/run-synthesis.d.ts +95 -26
  457. package/dist/schemas/run-synthesis.js +3 -1
  458. package/dist/schemas/validate-plan.d.ts +4 -4
  459. package/dist/schemas/validate-plan.js +17 -5
  460. package/dist/schemas/workflow-state.d.ts +19 -19
  461. package/dist/schemas/workflow-state.js +2 -2
  462. package/dist/state/active-turns.d.ts +36 -0
  463. package/dist/state/active-turns.js +67 -0
  464. package/dist/state/analyses-metrics.d.ts +8 -8
  465. package/dist/state/analyses-metrics.js +4 -4
  466. package/dist/state/analyses.d.ts +0 -14
  467. package/dist/state/analyses.js +0 -32
  468. package/dist/state/artifacts.d.ts +32 -19
  469. package/dist/state/artifacts.js +28 -5
  470. package/dist/state/data-profile.d.ts +2 -2
  471. package/dist/state/db.d.ts +12 -2
  472. package/dist/state/db.js +5 -0
  473. package/dist/state/edit-intents.d.ts +4 -0
  474. package/dist/state/edit-intents.js +71 -0
  475. package/dist/state/index.d.ts +4 -4
  476. package/dist/state/index.js +2 -2
  477. package/dist/state/init.d.ts +2 -1
  478. package/dist/state/init.js +5 -2
  479. package/dist/state/migrations/20260927120000_baseline.js +3 -1
  480. package/dist/state/migrations/20261026120000_add_the_edit_intents.d.ts +7 -0
  481. package/dist/state/migrations/20261026120000_add_the_edit_intents.js +21 -0
  482. package/dist/state/migrations/20261027120000_record_the_applied_memory_edits.d.ts +7 -0
  483. package/dist/state/migrations/20261027120000_record_the_applied_memory_edits.js +16 -0
  484. package/dist/state/migrations/20261027120100_store_the_authoring_results.d.ts +8 -0
  485. package/dist/state/migrations/20261027120100_store_the_authoring_results.js +20 -0
  486. package/dist/state/migrations/20261027120200_key_the_groups_of_a_turn.d.ts +7 -0
  487. package/dist/state/migrations/20261027120200_key_the_groups_of_a_turn.js +12 -0
  488. package/dist/state/migrations/20261027120300_mark_the_active_turn_of_a_thread.d.ts +7 -0
  489. package/dist/state/migrations/20261027120300_mark_the_active_turn_of_a_thread.js +11 -0
  490. package/dist/state/migrations/20261028120000_record_the_paused_work.d.ts +7 -0
  491. package/dist/state/migrations/20261028120000_record_the_paused_work.js +25 -0
  492. package/dist/state/migrations/20261028120100_end_the_suspended_runs.d.ts +8 -0
  493. package/dist/state/migrations/20261028120100_end_the_suspended_runs.js +13 -0
  494. package/dist/state/migrations/20261029120000_reference_the_run_mandate.d.ts +7 -0
  495. package/dist/state/migrations/20261029120000_reference_the_run_mandate.js +23 -0
  496. package/dist/state/migrations/20261029120100_record_the_run_session_of_a_pause.d.ts +7 -0
  497. package/dist/state/migrations/20261029120100_record_the_run_session_of_a_pause.js +11 -0
  498. package/dist/state/migrations/index.js +18 -0
  499. package/dist/state/paused-work.d.ts +52 -0
  500. package/dist/state/paused-work.js +105 -0
  501. package/dist/state/plans.d.ts +27 -8
  502. package/dist/state/plans.js +14 -11
  503. package/dist/state/purge-analysis.d.ts +6 -6
  504. package/dist/state/purge-analysis.js +10 -2
  505. package/dist/state/report-session-state.d.ts +43 -18
  506. package/dist/state/report-session-state.js +43 -4
  507. package/dist/state/report-versions.d.ts +16 -11
  508. package/dist/state/report-versions.js +5 -3
  509. package/dist/state/runs.d.ts +30 -19
  510. package/dist/state/runs.js +43 -51
  511. package/dist/state/schema.d.ts +18 -21
  512. package/dist/state/schema.js +4 -5
  513. package/dist/state/snapshot-parse.d.ts +2 -2
  514. package/dist/state/snapshot-parse.js +14 -8
  515. package/dist/state/step-executions.d.ts +20 -8
  516. package/dist/state/step-executions.js +6 -4
  517. package/dist/state/tool-outputs.d.ts +2 -2
  518. package/dist/state/tool-outputs.js +2 -1
  519. package/dist/state/vector-store.d.ts +16 -16
  520. package/dist/state/vector-store.js +11 -7
  521. package/dist/tasks/data-profile-absorb.d.ts +3 -3
  522. package/dist/tasks/data-profile-absorb.js +21 -16
  523. package/dist/tasks/data-profile-activity.d.ts +5 -5
  524. package/dist/tasks/data-profile-activity.js +5 -5
  525. package/dist/tasks/data-profile-index.d.ts +4 -4
  526. package/dist/tasks/data-profile-index.js +32 -17
  527. package/dist/tasks/data-profile-resolve.d.ts +8 -8
  528. package/dist/tasks/data-profile-resolve.js +88 -62
  529. package/dist/tasks/data-profile.d.ts +40 -31
  530. package/dist/tasks/data-profile.js +138 -95
  531. package/dist/tasks/extract-values.d.ts +26 -79
  532. package/dist/tasks/extract-values.js +48 -108
  533. package/dist/tasks/refresh-regulatory-corpus.d.ts +4 -20
  534. package/dist/tasks/refresh-regulatory-corpus.js +12 -8
  535. package/dist/tasks/regulatory-corpus-boot-refresh.d.ts +2 -2
  536. package/dist/tasks/regulatory-corpus-boot-refresh.js +12 -10
  537. package/dist/testing.d.ts +60 -0
  538. package/dist/testing.js +96 -0
  539. package/dist/tools/ad-hoc-router.d.ts +9 -9
  540. package/dist/tools/ad-hoc-router.js +65 -52
  541. package/dist/tools/analysis-invocation.d.ts +7 -0
  542. package/dist/tools/analysis-invocation.js +29 -5
  543. package/dist/tools/approval/contract.d.ts +8 -52
  544. package/dist/tools/approval/contract.js +7 -36
  545. package/dist/tools/approval/gateway.d.ts +27 -28
  546. package/dist/tools/approval/gateway.js +33 -130
  547. package/dist/tools/approval/queries.d.ts +6 -11
  548. package/dist/tools/approval/queries.js +43 -29
  549. package/dist/tools/approval/uuidv7.js +2 -2
  550. package/dist/tools/bio/chembl.d.ts +3 -3
  551. package/dist/tools/bio/chembl.js +10 -0
  552. package/dist/tools/bio/comptox.d.ts +25 -8
  553. package/dist/tools/bio/comptox.js +4 -2
  554. package/dist/tools/bio/drug-gene-interactions.d.ts +27 -17
  555. package/dist/tools/bio/drug-gene-interactions.js +11 -8
  556. package/dist/tools/bio/gene-disease-evidence.d.ts +61 -15
  557. package/dist/tools/bio/gene-disease-evidence.js +10 -6
  558. package/dist/tools/bio/gene-preclinical-profile.d.ts +11 -11
  559. package/dist/tools/bio/keys.d.ts +2 -2
  560. package/dist/tools/bio/keys.js +3 -3
  561. package/dist/tools/bio/lookup-annotation.d.ts +5 -5
  562. package/dist/tools/bio/lookup-annotation.js +3 -0
  563. package/dist/tools/bio/opentargets.d.ts +1 -1
  564. package/dist/tools/bio/opentargets.js +6 -0
  565. package/dist/tools/bio/pubchem.d.ts +2 -2
  566. package/dist/tools/bio/pubchem.js +6 -0
  567. package/dist/tools/bio/pubmed.d.ts +26 -16
  568. package/dist/tools/bio/pubmed.js +9 -3
  569. package/dist/tools/bio/search-clinical-trials.d.ts +4 -4
  570. package/dist/tools/bio/search-clinical-trials.js +5 -1
  571. package/dist/tools/bio/search-faers.d.ts +2 -2
  572. package/dist/tools/bio/search-faers.js +1 -1
  573. package/dist/tools/bio/search-gene.d.ts +2 -2
  574. package/dist/tools/bio/search-gene.js +1 -0
  575. package/dist/tools/bio/search-geo-datasets.d.ts +4 -4
  576. package/dist/tools/bio/search-geo-datasets.js +5 -5
  577. package/dist/tools/bio/search-interactions.d.ts +1 -1
  578. package/dist/tools/bio/search-patents.d.ts +28 -22
  579. package/dist/tools/bio/search-patents.js +20 -17
  580. package/dist/tools/bio/search-protein.d.ts +2 -2
  581. package/dist/tools/bio/search-protein.js +1 -1
  582. package/dist/tools/bio/search-regulatory-approvals.d.ts +64 -18
  583. package/dist/tools/bio/search-regulatory-approvals.js +21 -16
  584. package/dist/tools/bio/target-safety.d.ts +8 -8
  585. package/dist/tools/bio/target-safety.js +11 -6
  586. package/dist/tools/capability-data.d.ts +9 -5
  587. package/dist/tools/capability-data.js +2 -1
  588. package/dist/tools/define-tool.d.ts +55 -46
  589. package/dist/tools/define-tool.js +39 -27
  590. package/dist/tools/display/normalize-echart-spec.d.ts +2 -2
  591. package/dist/tools/display/normalize-echart-spec.js +51 -27
  592. package/dist/tools/display/show-user.d.ts +2 -2
  593. package/dist/tools/display/show-user.js +1 -1
  594. package/dist/tools/execute-analysis.d.ts +19 -10
  595. package/dist/tools/execute-analysis.js +83 -62
  596. package/dist/tools/knowledge/check.d.ts +166 -44
  597. package/dist/tools/knowledge/check.js +5 -3
  598. package/dist/tools/knowledge/client.d.ts +31 -62
  599. package/dist/tools/knowledge/client.js +44 -27
  600. package/dist/tools/knowledge/environment.d.ts +6 -6
  601. package/dist/tools/knowledge/environment.js +18 -7
  602. package/dist/tools/knowledge/index.d.ts +2 -2
  603. package/dist/tools/knowledge/index.js +9 -9
  604. package/dist/tools/knowledge/local-slots.d.ts +4 -4
  605. package/dist/tools/knowledge/local-slots.js +11 -4
  606. package/dist/tools/knowledge/pin.d.ts +2 -2
  607. package/dist/tools/knowledge/recommend.d.ts +20 -45
  608. package/dist/tools/knowledge/recommend.js +27 -19
  609. package/dist/tools/knowledge/situation.d.ts +40 -40
  610. package/dist/tools/knowledge/situation.js +2 -9
  611. package/dist/tools/knowledge/skeleton.d.ts +4 -4
  612. package/dist/tools/knowledge/skeleton.js +10 -11
  613. package/dist/tools/knowledge/template.d.ts +20 -18
  614. package/dist/tools/knowledge/template.js +38 -32
  615. package/dist/tools/lib/alphafold-client.js +2 -1
  616. package/dist/tools/lib/amass-client.d.ts +28 -28
  617. package/dist/tools/lib/amass-client.js +20 -10
  618. package/dist/tools/lib/api-utils.d.ts +13 -3
  619. package/dist/tools/lib/api-utils.js +17 -3
  620. package/dist/tools/lib/bgee-client.d.ts +6 -6
  621. package/dist/tools/lib/bgee-client.js +16 -10
  622. package/dist/tools/lib/cbioportal-client.d.ts +4 -4
  623. package/dist/tools/lib/cbioportal-client.js +9 -8
  624. package/dist/tools/lib/chembl-client.d.ts +14 -14
  625. package/dist/tools/lib/chembl-client.js +11 -4
  626. package/dist/tools/lib/clinical-benchmarks-client.d.ts +4 -4
  627. package/dist/tools/lib/clinical-benchmarks-client.js +4 -7
  628. package/dist/tools/lib/clinical-trials-client.d.ts +18 -18
  629. package/dist/tools/lib/clinical-trials-client.js +10 -10
  630. package/dist/tools/lib/clinvar-client.d.ts +2 -2
  631. package/dist/tools/lib/clinvar-client.js +6 -6
  632. package/dist/tools/lib/ctx-ops.d.ts +23 -23
  633. package/dist/tools/lib/ctx-ops.js +13 -10
  634. package/dist/tools/lib/dgidb-client.d.ts +6 -6
  635. package/dist/tools/lib/dgidb-client.js +10 -12
  636. package/dist/tools/lib/disgenet-client.d.ts +4 -4
  637. package/dist/tools/lib/ema-client.d.ts +2 -2
  638. package/dist/tools/lib/ensembl-client.d.ts +4 -4
  639. package/dist/tools/lib/ensembl-client.js +5 -4
  640. package/dist/tools/lib/gwas-catalog-client.d.ts +4 -4
  641. package/dist/tools/lib/gwas-catalog-client.js +17 -17
  642. package/dist/tools/lib/html-text.d.ts +6 -0
  643. package/dist/tools/lib/html-text.js +9 -0
  644. package/dist/tools/lib/identifier-resolver.d.ts +4 -4
  645. package/dist/tools/lib/identifier-resolver.js +7 -3
  646. package/dist/tools/lib/impc-client.d.ts +8 -8
  647. package/dist/tools/lib/impc-client.js +46 -35
  648. package/dist/tools/lib/iuphar-client.d.ts +2 -2
  649. package/dist/tools/lib/iuphar-client.js +7 -16
  650. package/dist/tools/lib/monarch-client.d.ts +4 -4
  651. package/dist/tools/lib/openfda-client.d.ts +22 -22
  652. package/dist/tools/lib/openfda-client.js +23 -22
  653. package/dist/tools/lib/opentargets-client.d.ts +12 -12
  654. package/dist/tools/lib/pathway-client.d.ts +4 -4
  655. package/dist/tools/lib/pathway-client.js +15 -19
  656. package/dist/tools/lib/pharmgkb-client.d.ts +2 -2
  657. package/dist/tools/lib/pharmgkb-client.js +1 -1
  658. package/dist/tools/lib/protein-family-modality.d.ts +2 -2
  659. package/dist/tools/lib/protein-family-modality.js +0 -2
  660. package/dist/tools/lib/protein-family-normalize.js +7 -0
  661. package/dist/tools/lib/pubchem-client.d.ts +2 -2
  662. package/dist/tools/lib/pubchem-client.js +1 -0
  663. package/dist/tools/lib/pubchem-ops.d.ts +4 -4
  664. package/dist/tools/lib/pubchem-ops.js +8 -0
  665. package/dist/tools/lib/pubmed-client.d.ts +9 -9
  666. package/dist/tools/lib/pubmed-client.js +1 -1
  667. package/dist/tools/lib/string-client.d.ts +6 -6
  668. package/dist/tools/lib/uniprot-client.d.ts +8 -8
  669. package/dist/tools/lib/uniprot-client.js +5 -1
  670. package/dist/tools/memory/update-working-memory.d.ts +16 -13
  671. package/dist/tools/memory/update-working-memory.js +21 -3
  672. package/dist/tools/read-tool-output.js +8 -2
  673. package/dist/tools/registry.d.ts +2 -2
  674. package/dist/tools/report-authoring/authoring-tools.d.ts +54 -23
  675. package/dist/tools/report-authoring/authoring-tools.js +128 -62
  676. package/dist/tools/report-session/derive-table.d.ts +19 -59
  677. package/dist/tools/report-session/derive-table.js +120 -122
  678. package/dist/tools/report-session/examine-page.d.ts +6 -6
  679. package/dist/tools/report-session/examine-page.js +14 -12
  680. package/dist/tools/report-session/list-artifacts.d.ts +6 -6
  681. package/dist/tools/report-session/list-artifacts.js +5 -5
  682. package/dist/tools/report-session/page-faults.d.ts +6 -6
  683. package/dist/tools/report-session/page-faults.js +3 -1
  684. package/dist/tools/report-session/preview-report.d.ts +4 -3
  685. package/dist/tools/report-session/preview-report.js +26 -7
  686. package/dist/tools/report-session/record-version.d.ts +9 -4
  687. package/dist/tools/report-session/record-version.js +16 -9
  688. package/dist/tools/report-session/session-page-publisher.d.ts +6 -6
  689. package/dist/tools/research/generate-analogy-report.d.ts +14 -7
  690. package/dist/tools/research/generate-analogy-report.js +80 -76
  691. package/dist/tools/research/generate-plan.d.ts +16 -16
  692. package/dist/tools/research/generate-plan.js +410 -374
  693. package/dist/tools/research/guarded-address.js +3 -2
  694. package/dist/tools/research/inspect-data-profile.d.ts +27 -20
  695. package/dist/tools/research/inspect-data-profile.js +26 -25
  696. package/dist/tools/research/inspect-run.d.ts +54 -27
  697. package/dist/tools/research/inspect-run.js +50 -40
  698. package/dist/tools/research/literature-reviewer.d.ts +8 -7
  699. package/dist/tools/research/literature-reviewer.js +29 -28
  700. package/dist/tools/research/search-arxiv.d.ts +1 -1
  701. package/dist/tools/research/search-arxiv.js +1 -1
  702. package/dist/tools/research/search-github-repos.d.ts +10 -7
  703. package/dist/tools/research/search-github-repos.js +25 -22
  704. package/dist/tools/research/search-semantic-scholar.js +1 -1
  705. package/dist/tools/research/searxng-engine.d.ts +2 -2
  706. package/dist/tools/research/searxng-engine.js +6 -4
  707. package/dist/tools/research/web-fetch.d.ts +24 -21
  708. package/dist/tools/research/web-fetch.js +65 -74
  709. package/dist/tools/research/web-search.d.ts +26 -17
  710. package/dist/tools/research/web-search.js +26 -21
  711. package/dist/tools/sandbox/link-packages.d.ts +11 -7
  712. package/dist/tools/sandbox/link-packages.js +11 -8
  713. package/dist/tools/sandbox/list-available-packages.d.ts +17 -8
  714. package/dist/tools/sandbox/list-available-packages.js +31 -25
  715. package/dist/tools/sandbox/list-available-refs.d.ts +17 -14
  716. package/dist/tools/sandbox/list-available-refs.js +61 -36
  717. package/dist/tools/sandbox/report-blocker.d.ts +30 -37
  718. package/dist/tools/sandbox/report-blocker.js +23 -73
  719. package/dist/tools/sandbox/skills.d.ts +16 -12
  720. package/dist/tools/sandbox/skills.js +16 -12
  721. package/dist/tools/sandbox/submit-file-metadata.d.ts +12 -9
  722. package/dist/tools/sandbox/submit-file-metadata.js +18 -21
  723. package/dist/tools/start-report-session.d.ts +13 -5
  724. package/dist/tools/start-report-session.js +35 -8
  725. package/dist/tools/terminal-text.d.ts +5 -2
  726. package/dist/tools/terminal-text.js +35 -3
  727. package/dist/tools/workspace/decision-record.d.ts +4 -4
  728. package/dist/tools/workspace/decision-record.js +23 -13
  729. package/dist/tools/workspace/edit-file.d.ts +59 -20
  730. package/dist/tools/workspace/edit-file.js +81 -16
  731. package/dist/tools/workspace/execute-command.d.ts +15 -13
  732. package/dist/tools/workspace/execute-command.js +11 -9
  733. package/dist/tools/workspace/file-stat.d.ts +6 -3
  734. package/dist/tools/workspace/grep.d.ts +10 -7
  735. package/dist/tools/workspace/grep.js +9 -3
  736. package/dist/tools/workspace/list-files.d.ts +6 -3
  737. package/dist/tools/workspace/mutator.d.ts +28 -15
  738. package/dist/tools/workspace/mutator.js +107 -53
  739. package/dist/tools/workspace/read-file.d.ts +8 -5
  740. package/dist/tools/workspace/result-bounds.d.ts +5 -5
  741. package/dist/tools/workspace/result-bounds.js +4 -2
  742. package/dist/tools/workspace/run-exec.d.ts +2 -2
  743. package/dist/tools/workspace/run-exec.js +3 -3
  744. package/dist/tools/workspace/scan-inputs.d.ts +8 -5
  745. package/dist/tools/workspace/scan-inputs.js +17 -5
  746. package/dist/tools/workspace/show-file.d.ts +1 -1
  747. package/dist/tools/workspace/show-file.js +2 -1
  748. package/dist/tools/workspace/show-plan.d.ts +8 -5
  749. package/dist/tools/workspace/show-plan.js +9 -8
  750. package/dist/tools/workspace/workspace-search.d.ts +41 -13
  751. package/dist/tools/workspace/workspace-search.js +27 -14
  752. package/dist/tools/workspace/write-file.d.ts +9 -7
  753. package/dist/workflows/execute-analysis-scheduler.d.ts +9 -9
  754. package/dist/workflows/execute-analysis-scheduler.js +6 -3
  755. package/dist/workflows/execute-analysis.d.ts +46 -62
  756. package/dist/workflows/execute-analysis.js +137 -219
  757. package/dist/workflows/pause.d.ts +71 -0
  758. package/dist/workflows/pause.js +173 -0
  759. package/dist/workflows/sandbox-step.d.ts +38 -61
  760. package/dist/workflows/sandbox-step.js +99 -106
  761. package/dist/workflows/test/sql-writes.d.ts +21 -0
  762. package/dist/workflows/test/sql-writes.js +36 -0
  763. package/dist/workspace/filesystem.d.ts +6 -6
  764. package/dist/workspace/filesystem.js +10 -8
  765. package/dist/workspace/paths.d.ts +1 -1
  766. package/dist/workspace/paths.js +15 -4
  767. package/dist/workspace/search-config.d.ts +2 -2
  768. package/dist/workspace/search-config.js +1 -1
  769. package/package.json +21 -22
  770. package/dist/loop/call-guard.d.ts +0 -50
  771. package/dist/loop/call-guard.js +0 -90
  772. package/dist/loop/continue-agent.d.ts +0 -40
  773. package/dist/loop/continue-agent.js +0 -38
  774. package/dist/loop/genai-spans.d.ts +0 -47
  775. package/dist/loop/genai-spans.js +0 -134
  776. package/dist/loop/run-agent.d.ts +0 -245
  777. package/dist/loop/run-agent.js +0 -1124
  778. package/dist/loop/run-step.d.ts +0 -29
  779. package/dist/loop/run-step.js +0 -34
  780. package/dist/loop/run-to-terminal.d.ts +0 -66
  781. package/dist/loop/run-to-terminal.js +0 -93
  782. package/dist/loop/tool-mask.d.ts +0 -23
  783. package/dist/loop/tool-mask.js +0 -46
  784. package/dist/providers/streaming-chat.d.ts +0 -32
  785. package/dist/providers/streaming-chat.js +0 -91
  786. package/dist/tasks/derive-table-exec.d.ts +0 -54
  787. package/dist/tasks/derive-table-exec.js +0 -86
  788. package/dist/workflows/suspension.d.ts +0 -32
  789. package/dist/workflows/suspension.js +0 -38
@@ -15,20 +15,29 @@ import { z } from "zod";
15
15
  import { scopeResource } from "../../auth/types.js";
16
16
  import { tryQuery } from "../../lib/db-result.js";
17
17
  import { unwrapOrThrow } from "../../lib/result.js";
18
+ import { parseUnknownRecord } from "../../lib/unknown-containers.js";
18
19
  import { defineTool } from "../define-tool.js";
19
20
  /** pgvector / Postgres "undefined_table" — the index has no rows indexed yet. */
20
21
  const UNDEFINED_TABLE = "42P01";
21
22
  /** True when a captured driver cause is the "undefined_table" SQLSTATE. */
23
+ const UndefinedTableCause = z.object({ code: z.literal(UNDEFINED_TABLE) });
22
24
  function isUndefinedTable(cause) {
23
- return !!cause && typeof cause === "object" && cause.code === UNDEFINED_TABLE;
25
+ return UndefinedTableCause.safeParse(cause).success;
24
26
  }
25
27
  function indexName(analysisId) {
26
- const name = `search_${analysisId.replace(/-/g, "_")}`;
27
- if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(name)) {
28
+ const name = `search_${analysisId.replaceAll("-", "_")}`;
29
+ if (!isSqlIdentifier(name)) {
28
30
  throw new Error(`workspaceSearch: unusable analysis id "${analysisId}"`);
29
31
  }
30
32
  return name;
31
33
  }
34
+ function isSqlIdentifier(name) {
35
+ if (name.length === 0)
36
+ return false;
37
+ const isLetterOrUnderscore = (char) => (char >= "a" && char <= "z") || (char >= "A" && char <= "Z") || char === "_";
38
+ const isWordChar = (char) => isLetterOrUnderscore(char) || (char >= "0" && char <= "9");
39
+ return isLetterOrUnderscore(name.charAt(0)) && Array.from(name).every(isWordChar);
40
+ }
32
41
  /** Entry types that address a pattern spanning many files, never a single one. */
33
42
  const PATTERN_TYPES = new Set(["input-group", "input-dimension", "input-kind"]);
34
43
  /**
@@ -39,7 +48,7 @@ const PATTERN_TYPES = new Set(["input-group", "input-dimension", "input-kind"]);
39
48
  * segment. The consumer branches on presence, nothing else.
40
49
  */
41
50
  export function fileTargetOf(id, metadata) {
42
- const meta = metadata && typeof metadata === "object" ? metadata : {};
51
+ const meta = parseUnknownRecord(metadata) ?? {};
43
52
  const type = typeof meta.type === "string" ? meta.type : undefined;
44
53
  if (type !== undefined && PATTERN_TYPES.has(type))
45
54
  return undefined;
@@ -47,8 +56,19 @@ export function fileTargetOf(id, metadata) {
47
56
  return undefined;
48
57
  if (typeof meta.path === "string")
49
58
  return meta.path;
50
- return id.replace(/^\/[^/]+\//, "");
59
+ if (!id.startsWith("/"))
60
+ return id;
61
+ const afterResource = id.indexOf("/", 1);
62
+ return afterResource === -1 ? id : id.slice(afterResource + 1);
51
63
  }
64
+ const WorkspaceSearchInputSchema = z.object({
65
+ query: z.string().min(1).describe("What to search for, in natural language"),
66
+ type: z
67
+ .enum(["input-group", "input-dimension", "input", "input-kind", "output", "summary", "synthesis"])
68
+ .optional()
69
+ .describe('Restrict results to one entry type: "input-group", "input-dimension", "input", "input-kind", "output", "summary", or "synthesis"'),
70
+ limit: z.number().int().min(1).max(50).default(8).describe("Maximum number of results to return"),
71
+ });
52
72
  export function createWorkspaceSearchTool(pool, embedding) {
53
73
  return defineTool({
54
74
  id: "workspace_search",
@@ -68,14 +88,7 @@ export function createWorkspaceSearchTool(pool, embedding) {
68
88
  "metadata, e.g. search input-group for a group's display pattern, then list the tree for " +
69
89
  "its members. Most input files carry no entry of their own — find them through their " +
70
90
  "group and the listing tools.",
71
- inputSchema: z.object({
72
- query: z.string().min(1).describe("What to search for, in natural language"),
73
- type: z
74
- .enum(["input-group", "input-dimension", "input", "input-kind", "output", "summary", "synthesis"])
75
- .optional()
76
- .describe('Restrict results to one entry type: "input-group", "input-dimension", "input", "input-kind", "output", "summary", or "synthesis"'),
77
- limit: z.number().int().min(1).max(50).default(8).describe("Maximum number of results to return"),
78
- }),
91
+ inputSchema: WorkspaceSearchInputSchema,
79
92
  describeCall: ({ query, type }) => (type === undefined ? query : `${query} (${type})`),
80
93
  execute: async ({ query, type, limit }, ctx) => {
81
94
  const [vector] = unwrapOrThrow(await embedding.embed([query], ctx.session));
@@ -108,7 +121,7 @@ export function createWorkspaceSearchTool(pool, embedding) {
108
121
  return {
109
122
  id: r.id,
110
123
  score: r.score,
111
- ...(path !== undefined ? { path } : {}),
124
+ path,
112
125
  metadata: r.metadata,
113
126
  };
114
127
  }),
@@ -7,7 +7,8 @@
7
7
  * declares the input schema, forwards the write, and carries the record of the
8
8
  * write to the fold. `edit_file` rides the same seam.
9
9
  */
10
- import { type WithToolCallRecord } from "../define-tool.js";
10
+ import { z } from "zod";
11
+ import { type Tool, type WithToolCallRecord } from "../define-tool.js";
11
12
  import type { WorkspaceMutator, WriteFileResult, WriteRecord } from "./mutator.js";
12
13
  /** The result of a `write_file` call: a success carries the record of the write for the fold. */
13
14
  type WriteFileToolResult = Exclude<WriteFileResult, {
@@ -15,11 +16,12 @@ type WriteFileToolResult = Exclude<WriteFileResult, {
15
16
  }> | WithToolCallRecord<Extract<WriteFileResult, {
16
17
  status: "ok";
17
18
  }>, WriteRecord>;
18
- export interface WriteFileDeps {
19
+ declare const WriteFileInputSchema: z.ZodObject<{
20
+ path: z.ZodString;
21
+ content: z.ZodString;
22
+ }, z.core.$strip>;
23
+ export type WriteFileDeps = {
19
24
  readonly mutator: WorkspaceMutator;
20
- }
21
- export declare function createWriteFileTool(deps: WriteFileDeps): import("../define-tool.js").Tool<{
22
- path: string;
23
- content: string;
24
- }, WriteFileToolResult>;
25
+ };
26
+ export declare function createWriteFileTool(deps: WriteFileDeps): Tool<z.infer<typeof WriteFileInputSchema>, WriteFileToolResult>;
25
27
  export {};
@@ -22,18 +22,18 @@ import type { MachineBudget, ResourceSpec } from "../config/resource-limits.js";
22
22
  * The minimum shape the scheduler needs from a plan step. Larger workflow-state
23
23
  * schemas are a superset of this, keeping the scheduler decoupled.
24
24
  */
25
- export interface PlanStep {
25
+ export type PlanStep = {
26
26
  readonly id: string;
27
27
  readonly depends_on: readonly string[];
28
- }
28
+ };
29
29
  /** Budget-admission inputs — the snapshotted machine budget from the workflow
30
30
  * input plus each step's plan-declared resources. */
31
- export interface BudgetAdmission {
31
+ export type BudgetAdmission = {
32
32
  readonly budget: MachineBudget;
33
33
  readonly resourcesByStepId: Readonly<Record<string, ResourceSpec>>;
34
- }
34
+ };
35
35
  /** Partition of the dependency-satisfied steps under budget admission. */
36
- export interface ScheduledSteps {
36
+ export type ScheduledSteps = {
37
37
  /** Steps to start now — they fit the remaining budget capacity. */
38
38
  readonly admit: readonly string[];
39
39
  /** Dependency-satisfied steps held until in-flight steps free capacity. */
@@ -41,7 +41,7 @@ export interface ScheduledSteps {
41
41
  /** Steps whose declared resources exceed the budget outright — they could
42
42
  * never be admitted even against an empty budget. */
43
43
  readonly neverFits: readonly string[];
44
- }
44
+ };
45
45
  /** Thrown when the plan DAG contains a dependency cycle. */
46
46
  export declare class CycleError extends Error {
47
47
  readonly involvedSteps: readonly string[];
@@ -80,8 +80,8 @@ export declare function validatePlanDag<S extends PlanStep>(steps: readonly S[])
80
80
  * not fit never blocks a later, smaller one. Determinism holds because every
81
81
  * input derives from the workflow input and checkpointed completion state.
82
82
  */
83
- export declare function scheduleReady<S extends PlanStep>(steps: readonly S[], completedSet: ReadonlySet<string>, startedSet?: ReadonlySet<string>): string[];
84
- export declare function scheduleReady<S extends PlanStep>(steps: readonly S[], completedSet: ReadonlySet<string>, startedSet: ReadonlySet<string>, admission: BudgetAdmission): ScheduledSteps;
83
+ export declare function scheduleReady(steps: readonly PlanStep[], completedSet: ReadonlySet<string>, startedSet?: ReadonlySet<string>): string[];
84
+ export declare function scheduleReady(steps: readonly PlanStep[], completedSet: ReadonlySet<string>, startedSet: ReadonlySet<string>, admission: BudgetAdmission): ScheduledSteps;
85
85
  /**
86
86
  * Compute a depth per step. A step with no dependencies is level 0; a step
87
87
  * with deps is `max(level(dep)) + 1`. Used by the UI for column layout in
@@ -91,4 +91,4 @@ export declare function scheduleReady<S extends PlanStep>(steps: readonly S[], c
91
91
  * Pre-condition: `validatePlanDag` has been called (no cycles, no missing
92
92
  * deps). Behaviour is undefined on an invalid DAG.
93
93
  */
94
- export declare function computeTopologicalLevels<S extends PlanStep>(steps: readonly S[]): Map<string, number>;
94
+ export declare function computeTopologicalLevels(steps: readonly PlanStep[]): Map<string, number>;
@@ -17,6 +17,7 @@
17
17
  * pure means parent recovery replays the same dispatch sequence given the
18
18
  * same persisted child outcomes.
19
19
  */
20
+ import { presentGet, presentLast } from "../lib/present.js";
20
21
  // ── Errors ───────────────────────────────────────────────────────────
21
22
  /** Thrown when the plan DAG contains a dependency cycle. */
22
23
  export class CycleError extends Error {
@@ -83,10 +84,12 @@ function detectCycle(steps) {
83
84
  if (state.get(start.id) === DONE)
84
85
  continue;
85
86
  // Iterative DFS — preserves the in-progress chain so we can report it.
86
- const stack = [{ id: start.id, iter: stepById.get(start.id).depends_on[Symbol.iterator]() }];
87
+ const stack = [
88
+ { id: start.id, iter: presentGet(stepById, start.id, "the step of the cycle walk").depends_on[Symbol.iterator]() },
89
+ ];
87
90
  state.set(start.id, VISITING);
88
91
  while (stack.length > 0) {
89
- const frame = stack[stack.length - 1];
92
+ const frame = presentLast(stack, "the top frame of the cycle walk");
90
93
  const next = frame.iter.next();
91
94
  if (next.done) {
92
95
  state.set(frame.id, DONE);
@@ -105,7 +108,7 @@ function detectCycle(steps) {
105
108
  state.set(childId, VISITING);
106
109
  stack.push({
107
110
  id: childId,
108
- iter: stepById.get(childId).depends_on[Symbol.iterator](),
111
+ iter: presentGet(stepById, childId, "the dependency step of the cycle walk").depends_on[Symbol.iterator](),
109
112
  });
110
113
  }
111
114
  }
@@ -39,23 +39,15 @@
39
39
  * `partial`).
40
40
  * - the halt cascade (cancel in-flight via
41
41
  * `Promise.allSettled(handles.map(h => DBOS.cancelWorkflow(h.workflowID)))`,
42
- * stop scheduling) survives only for a suspension of a child and the
43
- * `neverFits` plan-validation guard.
44
- * 4. Suspension cascade (workflow-suspension spec)
45
- * - a child that suspends sends a typed message on `CHILD_SUSPENDED_TOPIC`
46
- * and cancels itself. The parent reads the kind of the message, never a
47
- * reason string: it cancels the siblings, then self-cancels to
48
- * `CANCELLED` (NOT `ERROR` — ERROR isn't resumable; NOTES #3)
49
- * - a refusal of the `RunCharge.open` gate with the suspend flag suspends
50
- * the run before any step starts
51
- * - a `suspend` error of a synthesis model request suspends the run in
52
- * place of the synthesis failure
53
- * - the run row and the analysis flip to `suspended_insufficient_funds` in
54
- * `collectAndComplete`. The run status is terminal and does not block a
55
- * new run of the plan. The paused parent lands in `CANCELLED`, a
56
- * durably reschedulable state; re-driving it is a future enhancement,
57
- * not yet wired here. The reason of the host rides to the run row, the
58
- * charge close, the metric, and the terminal part, unread.
42
+ * stop scheduling) survives only for the `neverFits` plan-validation guard.
43
+ * 4. Pause (work-pause spec)
44
+ * - a step pauses in its own workflow, and the parent waits for its result as
45
+ * for a step that runs. The other steps go on, and the run row stays
46
+ * `running`
47
+ * - a refusal of the `RunCharge.open` gate with the suspend flag pauses the
48
+ * run before any step starts, and the charge opens again after the resume
49
+ * - a failed model request of the synthesis with a cause of a pause waits in
50
+ * the loop of the synthesizer
59
51
  * 5. `synthesizeFindings` (single sequential block, no sandbox)
60
52
  * 6. `collectAndComplete` (terminal — runs on ALL paths)
61
53
  * - determine final status from completed/cancelled/failed counts
@@ -73,36 +65,36 @@
73
65
  * - WRITES NOTHING to the conversation thread (results are pull-only
74
66
  * via `inspectRun`)
75
67
  */
76
- import type { Pool } from "pg";
68
+ import type { Querier } from "../state/db.js";
77
69
  import type { MachineBudget, ResourceSpec } from "../config/resource-limits.js";
78
70
  import type { RunSession } from "../auth/types.js";
79
71
  import type { RunAuthorizer } from "../execution/run-authorizer.js";
80
72
  import type { Logger } from "../lib/logger.js";
81
73
  import type { UsageRecorder } from "../billing/usage-recorder.js";
82
- import type { CitationResolver } from "../citations/types.js";
74
+ import { type Connectable } from "../lib/db-result.js";
83
75
  import type { SynthesisStatus, UpdateStepExecutionInput } from "../state/index.js";
84
76
  import { type StepBriefing } from "../prompts/briefing.js";
85
77
  import type { WorkingMemoryStore } from "../memory/working-memory.js";
86
78
  import type { AnalysisStep } from "../schemas/workflow-state.js";
87
79
  import type { ChatProvider, EmbeddingProvider } from "../providers/types.js";
88
- import type { BioToolKeys } from "../tools/bio/keys.js";
89
80
  import type { KnowledgeClient } from "../tools/knowledge/client.js";
90
81
  import type { TemplateBinding } from "../tools/knowledge/template.js";
91
82
  import type { ProvenanceSeam } from "../provenance/seam.js";
92
83
  import type { ToolOutputStore } from "../loop/tool-output.js";
84
+ import type { Tool } from "../tools/define-tool.js";
93
85
  import type { RunCharge } from "../billing/run-charge.js";
94
86
  import { type ResolveWorkspaceRoot } from "../workspace/paths.js";
95
87
  import { type PlanStep } from "./execute-analysis-scheduler.js";
96
- import { type SandboxStepInput, type SandboxStepResult } from "./sandbox-step.js";
97
- import { type Suspension } from "./suspension.js";
88
+ import { type WorkPause } from "./pause.js";
89
+ import type { SandboxStepInput, SandboxStepResult } from "./sandbox-step.js";
98
90
  /** Registered child sandbox-step callable the parent's child-dispatch closes over. */
99
91
  type SandboxStepCallable = (input: SandboxStepInput) => Promise<SandboxStepResult>;
100
92
  /** Quick-display finding on the run-completed card. Mirrors the wire schema's RunCompletedFinding. */
101
- export interface RunFinding {
93
+ export type RunFinding = {
102
94
  readonly title: string;
103
95
  readonly confidence: "high" | "medium" | "low";
104
- }
105
- export interface ExecuteAnalysisInput {
96
+ };
97
+ export type ExecuteAnalysisInput = {
106
98
  readonly analysisId: string;
107
99
  /** Plan id — the dedup key for the partial-unique index on cortex_runs. */
108
100
  readonly planId: string;
@@ -151,31 +143,21 @@ export interface ExecuteAnalysisInput {
151
143
  * resume — no DB read, no in-process cache.
152
144
  */
153
145
  readonly runSession: RunSession;
154
- /**
155
- * True when Cortex owns the run-authorization lifecycle and therefore must
156
- * revoke it on the terminal path. The ownership decision is made by the
157
- * `RunAuthorizer` seam at the async edge (`executePlan`).
158
- *
159
- * Optional because a workflow persisted before this field existed (recovered
160
- * across the deploy that added it) deserializes without it; the body defaults
161
- * absent → true, matching the prior Cortex-owned behavior.
162
- */
163
- readonly ownsMandate?: boolean;
164
- }
146
+ };
165
147
  /**
166
148
  * Outcome of the trigger. `running` is what the dedup-collision recovery
167
149
  * path returns — the caller joined an in-flight run, no new workflow was
168
150
  * started. Every other variant is a terminal status the parent reached.
169
151
  */
170
- export type ExecuteAnalysisFinalStatus = "running" | "completed" | "partial" | "failed" | "canceled" | "suspended_insufficient_funds";
171
- export interface ExecuteAnalysisResult {
152
+ export type ExecuteAnalysisFinalStatus = "running" | "completed" | "partial" | "failed" | "canceled";
153
+ export type ExecuteAnalysisResult = {
172
154
  readonly runId: string;
173
155
  readonly workflowId: string;
174
156
  readonly status: ExecuteAnalysisFinalStatus;
175
157
  readonly completedSteps: readonly string[];
176
158
  readonly failedSteps: readonly string[];
177
159
  readonly canceledSteps: readonly string[];
178
- }
160
+ };
179
161
  /**
180
162
  * A step's in-run display state. Wider than the ledger's `StepExecutionStatus`: `queued` is a
181
163
  * scheduler-only condition (dependency-satisfied but held for budget capacity) that never reaches a
@@ -189,14 +171,14 @@ export type StepRuntimeStatus = "pending" | "queued" | "running" | "completed" |
189
171
  * that says what the step is FOR. `durationMs` and `error` appear only once the step has settled
190
172
  * in a way that produced them.
191
173
  */
192
- export interface RunStepObservation {
174
+ export type RunStepObservation = {
193
175
  readonly id: string;
194
176
  readonly name: string;
195
177
  readonly agent: string;
196
178
  readonly status: StepRuntimeStatus;
197
179
  readonly durationMs?: number;
198
180
  readonly error?: string;
199
- }
181
+ };
200
182
  /**
201
183
  * A whole-run snapshot handed to {@link ExecuteAnalysisDeps.observeRun}.
202
184
  *
@@ -211,14 +193,14 @@ export interface RunStepObservation {
211
193
  * computable from `steps` and recorded authoritatively on the run's ledger row; carrying them here
212
194
  * would mint a second source that can disagree with the ledger a host also reads.
213
195
  */
214
- export interface RunObservation {
196
+ export type RunObservation = {
215
197
  readonly runId: string;
216
198
  readonly analysisId: string;
217
199
  /** `running` for every mid-flight snapshot; the derived terminal status on the last one. */
218
200
  readonly status: ExecuteAnalysisFinalStatus;
219
201
  /** Every plan step, including ones that have not started — never a delta. */
220
202
  readonly steps: readonly RunStepObservation[];
221
- }
203
+ };
222
204
  /**
223
205
  * Construction-time deps for the parent workflow. The order-of-operations is
224
206
  * the body's own: it brackets the run, dispatches children, and synthesizes
@@ -227,10 +209,10 @@ export interface RunObservation {
227
209
  * registered sandbox-step callable — plus the construction inputs (provider,
228
210
  * embedder, model, keys, roots) the in-body synthesis needs.
229
211
  */
230
- export interface ExecuteAnalysisDeps {
212
+ export type ExecuteAnalysisDeps = {
231
213
  /** Operational logging seam; omitted falls back to no-op. */
232
214
  readonly logger?: Logger;
233
- readonly pool: Pool;
215
+ readonly pool: Querier & Connectable;
234
216
  /** Chat provider for the in-body literature-grounded synthesis. */
235
217
  readonly provider: ChatProvider;
236
218
  /** Write-side embedder for indexing the run synthesis. */
@@ -241,12 +223,12 @@ export interface ExecuteAnalysisDeps {
241
223
  readonly resolveWorkspaceRoot: ResolveWorkspaceRoot;
242
224
  /** Model id for the synthesizer agent loop. */
243
225
  readonly synthesisModel: string;
244
- /** API keys for the bio/chem tools the embedded literature reviewer uses. */
245
- readonly bioKeys: BioToolKeys;
246
- /** Shared resolver for the literature reviewer used during synthesis. */
247
- readonly citationResolver: CitationResolver;
226
+ /** The `literature_reviewer` tool of the synthesis. The runtime registers its sub-agent one time. */
227
+ readonly literatureReviewer: Tool;
248
228
  /** Run-level billing-bracket seam (managed: external bracket; OSS: no-op). */
249
229
  readonly runCharge: RunCharge;
230
+ /** The delays of the timer of an outage. Absent: the default of the pause. */
231
+ readonly pauseRetryDelaysMs?: readonly number[];
250
232
  /** Run-authorization seam — the terminal path revokes through `revoke`. */
251
233
  readonly runAuthorizer: RunAuthorizer;
252
234
  /**
@@ -309,7 +291,7 @@ export interface ExecuteAnalysisDeps {
309
291
  * throwing observer never fails the run.
310
292
  */
311
293
  readonly observeRun?: (observation: RunObservation) => void;
312
- }
294
+ };
313
295
  /**
314
296
  * Project the sandbox-step input handed to each child. The parent owns the
315
297
  * level computation and the seed (`prompt`, composed by `composeStepSeed` at
@@ -322,7 +304,6 @@ export declare function buildChildInput(args: {
322
304
  stepId: string;
323
305
  level: number;
324
306
  runId: string;
325
- workflowId: string;
326
307
  prompt: string;
327
308
  templateBinding?: TemplateBinding;
328
309
  }): Omit<SandboxStepInput, "runSession">;
@@ -351,10 +332,10 @@ export declare function composeStepSeed(args: {
351
332
  deps: ExecuteAnalysisDeps;
352
333
  }): Promise<StepSeed>;
353
334
  /** What `gatherStepPackage` gives: the data of the seed, and the binding of the plan settings when one holds. */
354
- export interface StepPackage {
335
+ export type StepPackage = {
355
336
  readonly briefing: StepBriefing;
356
337
  readonly templateBinding?: TemplateBinding;
357
- }
338
+ };
358
339
  /**
359
340
  * Do every read of one step's package and give the data its seed is rendered
360
341
  * from. All reads live here, so `composeStepBriefing` stays a pure renderer.
@@ -385,30 +366,31 @@ export declare function gatherStepPackage(args: {
385
366
  * its served version is the version the plan names. JSON-serialisable, as a
386
367
  * durable step result must be.
387
368
  */
388
- export interface StepSeed {
369
+ export type StepSeed = {
389
370
  readonly prompt: string;
390
371
  readonly templateBinding?: TemplateBinding;
391
- }
372
+ };
392
373
  /**
393
374
  * Project a classified synthesis outcome onto the run-phase `synthesis` ledger
394
375
  * row's terminal update (see the run-synthesis-outcome spec). The blocker keeps
395
376
  * its reason in `blockedReason` — an honest agent-declared blocker, not an
396
377
  * error — and a failure carries the same reason string
397
378
  * `persist-synthesis-outcome` writes to `cortex_runs.synthesis_reason`, so the
398
- * two ledgers cannot disagree about why synthesis died. A suspension is not an
399
- * outcome: the row is canceled, as the row of a suspended step. Exported for
400
- * the projection tests (the `buildChildInput` pattern).
379
+ * two ledgers cannot disagree about why synthesis died. Exported for the
380
+ * projection tests (the `buildChildInput` pattern).
401
381
  */
402
382
  export declare function synthesisRowUpdate(outcome: {
403
383
  status: SynthesisStatus;
404
384
  reason: string | null;
405
- } | Suspension, durationMs: number): UpdateStepExecutionInput;
385
+ }, durationMs: number): UpdateStepExecutionInput;
406
386
  /**
407
387
  * Run-level literature-grounded synthesis (no sandbox). Returns the
408
388
  * quick-display findings for the run-completed card; empty when synthesis is
409
- * skipped or produced no synthesizable content. A genuine failure re-throws
410
- * inside the caller's `DBOS.runStep`, failing the run (D10). Exported so
411
- * integration tests can drive the wired synthesis without a full parent body.
389
+ * skipped or produced no synthesizable content. A genuine failure re-throws,
390
+ * failing the run (D10). It runs in the body of the run workflow: each read and
391
+ * write is a step, each model call is a step, and each reviewer call starts a
392
+ * child workflow. Exported so integration tests can drive the wired synthesis
393
+ * without a full parent body.
412
394
  */
413
395
  export declare function synthesizeFindings(args: {
414
396
  analysisId: string;
@@ -416,6 +398,8 @@ export declare function synthesizeFindings(args: {
416
398
  completedSteps: readonly string[];
417
399
  session: RunSession;
418
400
  deps: ExecuteAnalysisDeps;
401
+ /** The pause of the run. The body of the run gives it, thus the synthesizer waits in place. */
402
+ pause?: WorkPause;
419
403
  }): Promise<{
420
404
  findings: readonly RunFinding[];
421
405
  synthesisStatus: Exclude<SynthesisStatus, "failed">;