@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
@@ -30,14 +30,14 @@ export declare const DATA_PROFILE_RUN_LITERAL: "data-profile";
30
30
  */
31
31
  export type DataProfileSubjectSource = "metadata" | "document" | "filename" | "user-context" | "inferred";
32
32
  /** The subject organism, with its provenance and the profiler's confidence in it. */
33
- export interface DataProfileOrganism {
33
+ export type DataProfileOrganism = {
34
34
  scientificName: string;
35
35
  /** NCBI Taxonomy ID as a string, e.g. `"9606"`. */
36
36
  taxonId: string;
37
37
  source: DataProfileSubjectSource;
38
38
  confidence: "high" | "medium" | "low";
39
39
  notes?: string;
40
- }
40
+ };
41
41
  /**
42
42
  * One profiled file's persisted record.
43
43
  *
@@ -45,7 +45,7 @@ export interface DataProfileOrganism {
45
45
  * them is optional on read, because a snapshot written before the record was widened
46
46
  * carries only the pair.
47
47
  */
48
- export interface DataProfileFile {
48
+ export type DataProfileFile = {
49
49
  path: string;
50
50
  description: string;
51
51
  /** Semantic data type (count-matrix, variants, clinical-metadata, document, …). */
@@ -60,14 +60,14 @@ export interface DataProfileFile {
60
60
  warnings?: string[];
61
61
  /** Flat, identity-establishing facts (sparsity, delimiter, normalizationState, …). */
62
62
  metrics?: Record<string, string | number | boolean>;
63
- }
63
+ };
64
64
  /**
65
65
  * Dataset-wide quality findings, on rows of the era that recorded them. Superseded by
66
66
  * `caveats`, which is agent-authored prose and nothing else.
67
67
  */
68
- export interface DataProfileQualityAssessment {
68
+ export type DataProfileQualityAssessment = {
69
69
  concerns: string[];
70
- }
70
+ };
71
71
  /**
72
72
  * One repeating set of files — the dataset's structure, as opposed to its contents.
73
73
  *
@@ -76,7 +76,7 @@ export interface DataProfileQualityAssessment {
76
76
  * the files are the same sort of thing. A singleton is a kind of `count` 1, so a
77
77
  * two-file analysis is two kinds and needs no special case.
78
78
  */
79
- export interface DataProfileKind {
79
+ export type DataProfileKind = {
80
80
  name: string;
81
81
  /** What ONE member represents. The grouping decision, stated apart from the description. */
82
82
  memberRepresents: string;
@@ -87,18 +87,18 @@ export interface DataProfileKind {
87
87
  format?: string;
88
88
  /** Labels of the `axes` that vary across this set's members. */
89
89
  axisLabels?: string[];
90
- }
90
+ };
91
91
  /**
92
92
  * What varies across a kind's members — the experimental design, as far as it is
93
93
  * observable. The scan reports that a filename position varies and which values it
94
94
  * takes; what the variation IS is the agent's label.
95
95
  */
96
- export interface DataProfileAxis {
96
+ export type DataProfileAxis = {
97
97
  label: string;
98
98
  cardinality: number;
99
99
  exampleValues?: string[];
100
100
  description?: string;
101
- }
101
+ };
102
102
  /**
103
103
  * A varying position in a group's display template, as the scan observed it.
104
104
  *
@@ -107,7 +107,7 @@ export interface DataProfileAxis {
107
107
  * it. The id is scan-scoped — it names the slot within the scan that produced this
108
108
  * profile, and a dimension's slot observation refers to it.
109
109
  */
110
- export interface DataProfileGroupSlot {
110
+ export type DataProfileGroupSlot = {
111
111
  id: string;
112
112
  location: "directory" | "name";
113
113
  index: number;
@@ -116,12 +116,12 @@ export interface DataProfileGroupSlot {
116
116
  sampleValues: string[];
117
117
  /** The slot this one repeats — one token in both a directory segment and the stem is ONE identity. */
118
118
  sameAsSlot?: string;
119
- }
119
+ };
120
120
  /** A member the agent wrote about individually. Never exhaustive — that is the filesystem's job. */
121
- export interface DataProfileMemberAnnotation {
121
+ export type DataProfileMemberAnnotation = {
122
122
  path: string;
123
123
  note: string;
124
- }
124
+ };
125
125
  /**
126
126
  * Companion coverage across a group, computed per member.
127
127
  *
@@ -129,7 +129,7 @@ export interface DataProfileMemberAnnotation {
129
129
  * average hides the one member whose index is missing, and that is the member a
130
130
  * downstream step fails on.
131
131
  */
132
- export interface DataProfileCompanionCompleteness {
132
+ export type DataProfileCompanionCompleteness = {
133
133
  expectedCompanions: string[];
134
134
  completeMembers: number;
135
135
  incompleteMembers: number;
@@ -137,7 +137,7 @@ export interface DataProfileCompanionCompleteness {
137
137
  path: string;
138
138
  missingCompanions: string[];
139
139
  }[];
140
- }
140
+ };
141
141
  /**
142
142
  * One declared group — a claim about MEANING, resolved to a membership.
143
143
  *
@@ -146,7 +146,7 @@ export interface DataProfileCompanionCompleteness {
146
146
  * `displayPattern` is the scanner's own template and is display-only: no agent authored
147
147
  * it, and nothing computes membership from it.
148
148
  */
149
- export interface DataProfileGroup {
149
+ export type DataProfileGroup = {
150
150
  /** Stable within the profile, derived from the group's name. */
151
151
  id: string;
152
152
  name: string;
@@ -176,12 +176,12 @@ export interface DataProfileGroup {
176
176
  completeness?: DataProfileCompanionCompleteness;
177
177
  /** True for the swept residue — files no operation claimed. Visible by construction. */
178
178
  unclassified?: boolean;
179
- }
179
+ };
180
180
  /** A measurement that was actually performed. Absent means unchecked, never "no overlap". */
181
- export interface DataProfileChecked {
181
+ export type DataProfileChecked = {
182
182
  matched: number;
183
183
  of: number;
184
- }
184
+ };
185
185
  /**
186
186
  * Where a slot observation points, in terms that survive the scan that produced it.
187
187
  *
@@ -191,10 +191,10 @@ export interface DataProfileChecked {
191
191
  * resolves strands the profile rather than rebinding to whatever now sits at that
192
192
  * position.
193
193
  */
194
- export interface DataProfileSlotBinding {
194
+ export type DataProfileSlotBinding = {
195
195
  template: string;
196
196
  slotIndex: number;
197
- }
197
+ };
198
198
  /**
199
199
  * One evidenced sighting of a dimension.
200
200
  *
@@ -248,7 +248,7 @@ export type DataProfileObservation = {
248
248
  * There is no canonical cardinality: observations that disagree both stand, and
249
249
  * `reconciliations` carries the delta. A renderer shows the numbers side by side.
250
250
  */
251
- export interface DataProfileDimension {
251
+ export type DataProfileDimension = {
252
252
  label: string;
253
253
  category: string;
254
254
  categoryLabel?: string;
@@ -266,9 +266,9 @@ export interface DataProfileDimension {
266
266
  };
267
267
  /** Why the dataset deviates from the category's default treatment. */
268
268
  treatmentReason?: string;
269
- }
269
+ };
270
270
  /** What the agent found when it looked for one of the standard dimensions. */
271
- export interface DataProfileProbeReport {
271
+ export type DataProfileProbeReport = {
272
272
  probe: string;
273
273
  outcome: "found" | "not-found" | "found-but-constant" | "attested";
274
274
  dimension?: string;
@@ -278,9 +278,9 @@ export interface DataProfileProbeReport {
278
278
  evidence?: string;
279
279
  citation?: string;
280
280
  path?: string;
281
- }
281
+ };
282
282
  /** Files the scan removed before structure was observed, with why. */
283
- export interface DataProfileQuarantine {
283
+ export type DataProfileQuarantine = {
284
284
  count: number;
285
285
  totalBytes: number;
286
286
  reasons: {
@@ -288,7 +288,7 @@ export interface DataProfileQuarantine {
288
288
  count: number;
289
289
  }[];
290
290
  sample: string[];
291
- }
291
+ };
292
292
  /**
293
293
  * The census, derived rather than declared.
294
294
  *
@@ -296,7 +296,7 @@ export interface DataProfileQuarantine {
296
296
  * Quarantined files are accounted separately, with their reasons. That the numbers sum
297
297
  * is what turns "how much did the profile cover" from a question into a fact.
298
298
  */
299
- export interface DataProfilePartition {
299
+ export type DataProfilePartition = {
300
300
  scannedFiles: number;
301
301
  keptFiles: number;
302
302
  keptMembers: number;
@@ -315,7 +315,7 @@ export interface DataProfilePartition {
315
315
  };
316
316
  /** True when the walk stopped at its file ceiling, so the census covers part of the tree. */
317
317
  scanTruncated?: boolean;
318
- }
318
+ };
319
319
  /**
320
320
  * One operation, keyed to the scanner TEMPLATES it addressed rather than the menu ids.
321
321
  *
@@ -328,7 +328,7 @@ export interface DataProfilePartition {
328
328
  * an unchanged tree re-absorbs as partial and wakes the agent to re-judge what it already
329
329
  * judged.
330
330
  */
331
- export interface DataProfileRecipeStep {
331
+ export type DataProfileRecipeStep = {
332
332
  op: "use" | "split" | "merge" | "group" | "unclassified";
333
333
  /** The templates this step addressed. Empty for an explicit path grouping. */
334
334
  templates: string[];
@@ -343,7 +343,7 @@ export interface DataProfileRecipeStep {
343
343
  /** True when `paths` holds a prefix of the step's membership rather than all of it. */
344
344
  pathsTruncated?: boolean;
345
345
  groupIds: string[];
346
- }
346
+ };
347
347
  /**
348
348
  * The record of WHICH files a profile covered and of the bytes behind them.
349
349
  *
@@ -352,10 +352,10 @@ export interface DataProfileRecipeStep {
352
352
  * content hashes deliberately: a content hash means a full read of every input. Two
353
353
  * inputs with the same byte length and mtime therefore give the same digest.
354
354
  */
355
- export interface DataProfileInputSignature {
355
+ export type DataProfileInputSignature = {
356
356
  count: number;
357
357
  digest: string;
358
- }
358
+ };
359
359
  /**
360
360
  * How much of the scanned tree the profile's kinds describe.
361
361
  *
@@ -365,12 +365,12 @@ export interface DataProfileInputSignature {
365
365
  * one that classified all of them, so it read as complete and fresh. Coverage does NOT by
366
366
  * itself drive a re-profile, because some input sets legitimately resist classification.
367
367
  */
368
- export interface DataProfileCoverage {
368
+ export type DataProfileCoverage = {
369
369
  matched: number;
370
370
  unmatched: number;
371
371
  total: number;
372
372
  unmatchedSample?: string[];
373
- }
373
+ };
374
374
  /**
375
375
  * The profile snapshot stored in `cortex_analysis_state.data_profile_result`.
376
376
  *
@@ -391,7 +391,7 @@ export interface DataProfileCoverage {
391
391
  * field: optionality is the compatibility mechanism, and a discriminator would be a
392
392
  * second mechanism answering the same question.
393
393
  */
394
- export interface DataProfileResult {
394
+ export type DataProfileResult = {
395
395
  summary: string;
396
396
  /** The resolved groups the tree partitions into, `unclassified` included. */
397
397
  groups?: DataProfileGroup[];
@@ -436,6 +436,6 @@ export interface DataProfileResult {
436
436
  experimentalDesign?: string;
437
437
  /** Dataset-wide findings, on a snapshot of the era that recorded them. Superseded by `caveats`. */
438
438
  qualityAssessment?: DataProfileQualityAssessment;
439
- }
439
+ };
440
440
  /** The profile's lifecycle, as the ledger records it. */
441
441
  export type DataProfileLifecycleStatus = "pending" | "running" | "completed" | "failed";
@@ -2,7 +2,7 @@ export { ORGAN_SYSTEMS, OrganSystemSchema, ORGAN_SYSTEM_LABELS, organSystemLabel
2
2
  export type { OrganSystem } from "./organ-system.js";
3
3
  export { SEVERITIES, SeveritySchema } from "./severity.js";
4
4
  export type { Severity } from "./severity.js";
5
- export type { PlanStep, PresentationContent, PresentationPart, PlanPart, RunCardPart, PlanApprovalPart, FileReferenceEntry, FileReferencePart, AskPart, RunStartedPart, StepStatus, DagStepState, PlanGraphStep, DagStatePart, StepPhase, StepActivityPart, ActivityEntryPart, SubAgentActivityEntry, SubAgentActivityPart, FileTreeEntry, StepFileTreePart, StepOutputFile, StepOutputPart, StepSummaryPart, StepUsagePart, StepBlockedPart, FindingReference, SynthesizedFinding, BiologicalTheme, RunSynthesisPart, SynthesisPhase, SynthesisProgressPart, RunCompletedFinding, RunCompletedPart, RunFailedPart, ChildSessionStartedPart, ReportRenderedPart, CompactionPart, ChatPart, } from "./chat-parts.js";
5
+ export type { PlanStep, PresentationContent, PresentationPart, PlanPart, RunCardPart, PlanApprovalPart, FileReferenceEntry, FileReferencePart, AskPart, RunStartedPart, StepStatus, DagStepState, PlanGraphStep, DagStatePart, StepPhase, StepActivityPart, ActivityEntryPart, SubAgentActivityEntry, SubAgentActivityPart, FileTreeEntry, StepFileTreePart, StepOutputFile, StepOutputPart, StepSummaryPart, StepUsagePart, StepBlockedPart, FindingReference, SynthesizedFinding, BiologicalTheme, RunSynthesisPart, SynthesisPhase, SynthesisProgressPart, RunCompletedFinding, RunCompletedPart, RunFailedPart, ChildSessionStartedPart, ReportRenderedPart, CompactionPart, PauseCause, WorkKind, PausePart, ModelRetryPart, ChatPart, KnownChatPart, } from "./chat-parts.js";
6
6
  export type { EventSource, TextDeltaEvent, IterationEvent, ToolStartedEvent, ToolFinishedEvent, FinishEvent, ChatErrorEvent, MessageStartEvent, ChatEvent, ChatFrame, ChatPartFrame, } from "./chat-events.js";
7
7
  export type { TokenUsageRollup } from "./usage.js";
8
8
  export { DATA_PROFILE_RUN_LITERAL } from "./data-profile.js";
@@ -10,7 +10,7 @@ export type { DataProfileAxis, DataProfileChecked, DataProfileCompanionCompleten
10
10
  export { DIMENSION_CATEGORIES, DIMENSION_CATEGORY_IDS, DIMENSION_PROBE_IDS, DIMENSION_PROBES, GROUP_CATEGORIES, GROUP_CATEGORY_IDS, GROUP_ROLE_IDS, GROUP_ROLES, PROBE_OUTCOME_IDS, dimensionCategoryEntry, dimensionScope, groupCategoryEntry, } from "./profile-vocabulary.js";
11
11
  export type { DimensionCategory, DimensionCategoryEntry, DimensionProbe, DimensionProbeEntry, DimensionScope, DimensionTreatment, GroupCategory, GroupCategoryEntry, GroupRole, GroupRoleEntry, ProbeOutcome, } from "./profile-vocabulary.js";
12
12
  export type { TextPart, ToolCallPart, MessagePart, ChatMessage } from "./message.js";
13
- export { toChatFrame, applyChatFrame, checkChatPart } from "./chat-frame.js";
13
+ export { toChatFrame, applyChatFrame, checkChatPart, isKnownPartFrame } from "./chat-frame.js";
14
14
  export type { TurnTerminal, ApplyFrameResult, ChatPartCheck } from "./chat-frame.js";
15
15
  export { createSubAgentActivityTracker, SUBAGENT_ACTIVITY_MAX_ENTRIES } from "./subagent-activity.js";
16
16
  export type { SubAgentActivityTracker } from "./subagent-activity.js";
@@ -2,7 +2,7 @@ export { ORGAN_SYSTEMS, OrganSystemSchema, ORGAN_SYSTEM_LABELS, organSystemLabel
2
2
  export { SEVERITIES, SeveritySchema } from "./severity.js";
3
3
  export { DATA_PROFILE_RUN_LITERAL } from "./data-profile.js";
4
4
  export { DIMENSION_CATEGORIES, DIMENSION_CATEGORY_IDS, DIMENSION_PROBE_IDS, DIMENSION_PROBES, GROUP_CATEGORIES, GROUP_CATEGORY_IDS, GROUP_ROLE_IDS, GROUP_ROLES, PROBE_OUTCOME_IDS, dimensionCategoryEntry, dimensionScope, groupCategoryEntry, } from "./profile-vocabulary.js";
5
- export { toChatFrame, applyChatFrame, checkChatPart } from "./chat-frame.js";
5
+ export { toChatFrame, applyChatFrame, checkChatPart, isKnownPartFrame } from "./chat-frame.js";
6
6
  export { createSubAgentActivityTracker, SUBAGENT_ACTIVITY_MAX_ENTRIES } from "./subagent-activity.js";
7
7
  export { PART_REGISTRY, isTransient, isReconciling, isSidebarPart } from "./part-registry.js";
8
8
  export { AnalogyCoverageSchema, AnalogyReportSchema, AnalogyReportErrorSchema, AnalogicalReasonerOutputSchema } from "./analogy-report.js";
@@ -10,10 +10,10 @@ import type { ToolCallDetail, ToolCallOutcome } from "./chat-events.js";
10
10
  import type { ChatPart } from "./chat-parts.js";
11
11
  import type { TokenUsageRollup } from "./usage.js";
12
12
  /** A plain assistant/user text run. */
13
- export interface TextPart {
13
+ export type TextPart = {
14
14
  type: "text";
15
15
  text: string;
16
- }
16
+ };
17
17
  /**
18
18
  * A tool call observed during the turn (or replayed from history).
19
19
  *
@@ -27,7 +27,7 @@ export interface TextPart {
27
27
  * switch on this single field and be told by the compiler when it misses a case,
28
28
  * rather than each host inventing what "no outcome" means and disagreeing.
29
29
  */
30
- export interface ToolCallPart {
30
+ export type ToolCallPart = {
31
31
  type: "tool-call";
32
32
  toolCallId: string;
33
33
  toolName: string;
@@ -40,11 +40,11 @@ export interface ToolCallPart {
40
40
  detail?: ToolCallDetail;
41
41
  /** The time in milliseconds around the dispatch of the call, from `tool-finished`. Absent when no measurement was taken. */
42
42
  durationMs?: number;
43
- }
43
+ };
44
44
  /** The discriminated union of every part the chat path can carry. */
45
45
  export type MessagePart = TextPart | ToolCallPart | ChatPart;
46
46
  /** A single chat message — user, assistant, or system. */
47
- export interface ChatMessage {
47
+ export type ChatMessage = {
48
48
  id: string;
49
49
  role: "user" | "assistant" | "system";
50
50
  parts: MessagePart[];
@@ -91,4 +91,4 @@ export interface ChatMessage {
91
91
  * backs the message — a live surface builds one before anything is written.
92
92
  */
93
93
  createdAt?: string;
94
- }
94
+ };
@@ -17,24 +17,24 @@
17
17
  import { z } from "zod";
18
18
  export declare const ORGAN_SYSTEMS: readonly ["cardiac", "vascular", "hepatic", "renal", "cns", "pns", "gi", "pancreas", "endocrine_thyroid", "metabolic", "hematologic", "immune", "respiratory", "reproductive", "musculoskeletal", "dermatologic", "ocular", "oncology"];
19
19
  export declare const OrganSystemSchema: z.ZodEnum<{
20
+ cardiac: "cardiac";
21
+ cns: "cns";
22
+ dermatologic: "dermatologic";
23
+ endocrine_thyroid: "endocrine_thyroid";
24
+ gi: "gi";
20
25
  hematologic: "hematologic";
21
- metabolic: "metabolic";
22
- immune: "immune";
23
26
  hepatic: "hepatic";
27
+ immune: "immune";
28
+ metabolic: "metabolic";
24
29
  musculoskeletal: "musculoskeletal";
25
- cns: "cns";
30
+ ocular: "ocular";
31
+ oncology: "oncology";
32
+ pancreas: "pancreas";
33
+ pns: "pns";
26
34
  renal: "renal";
27
35
  reproductive: "reproductive";
28
36
  respiratory: "respiratory";
29
- cardiac: "cardiac";
30
37
  vascular: "vascular";
31
- pns: "pns";
32
- gi: "gi";
33
- pancreas: "pancreas";
34
- endocrine_thyroid: "endocrine_thyroid";
35
- dermatologic: "dermatologic";
36
- ocular: "ocular";
37
- oncology: "oncology";
38
38
  }>;
39
39
  export type OrganSystem = (typeof ORGAN_SYSTEMS)[number];
40
40
  /**
@@ -1,8 +1,8 @@
1
- import type { ChatPart } from "./chat-parts.js";
2
- export type ChatPartType = ChatPart["type"];
1
+ import type { KnownChatPart } from "./chat-parts.js";
2
+ export type ChatPartType = KnownChatPart["type"];
3
3
  export type PartEmitter = "workflow" | "conversation";
4
4
  export type PartConsumer = "sidebar" | "conversation";
5
- export interface PartDescriptor {
5
+ export type PartDescriptor = {
6
6
  /** Which layer emits this part. */
7
7
  emitter: PartEmitter;
8
8
  /** Which UI surface consumes this part. */
@@ -11,8 +11,9 @@ export interface PartDescriptor {
11
11
  transient: boolean;
12
12
  /** If true, multiple emissions share the same id — latest wins. */
13
13
  reconciling: boolean;
14
- }
14
+ };
15
15
  export declare const PART_REGISTRY: Record<ChatPartType, PartDescriptor>;
16
16
  export declare function isTransient(type: ChatPartType): boolean;
17
+ export declare function isKnownPartType(type: string): type is ChatPartType;
17
18
  export declare function isReconciling(type: ChatPartType): boolean;
18
19
  export declare function isSidebarPart(type: ChatPartType): boolean;
@@ -22,10 +22,15 @@ export const PART_REGISTRY = {
22
22
  "data-child-session-started": { emitter: "conversation", consumer: "conversation", transient: false, reconciling: false },
23
23
  "data-report-rendered": { emitter: "conversation", consumer: "conversation", transient: false, reconciling: false },
24
24
  "data-compaction": { emitter: "conversation", consumer: "conversation", transient: true, reconciling: true },
25
+ "data-pause": { emitter: "workflow", consumer: "conversation", transient: false, reconciling: true },
26
+ "data-model-retry": { emitter: "conversation", consumer: "conversation", transient: true, reconciling: true },
25
27
  };
26
28
  export function isTransient(type) {
27
29
  return PART_REGISTRY[type].transient;
28
30
  }
31
+ export function isKnownPartType(type) {
32
+ return Object.hasOwn(PART_REGISTRY, type);
33
+ }
29
34
  export function isReconciling(type) {
30
35
  return PART_REGISTRY[type].reconciling;
31
36
  }
@@ -9,7 +9,7 @@
9
9
  * It lives in `contracts/` because the persisted profile carries these ids: a consumer
10
10
  * rendering a stored group needs the category's meaning without importing the ledger,
11
11
  * the schema module, or zod. Hosts do not extend it — the package owns the catalogue and
12
- * versions it with the harness.
12
+ * versions it with the harness. Each import from outside `contracts/` is a type import.
13
13
  *
14
14
  * Every category carries its nearest neighbour and the rule that separates them, because
15
15
  * a category list without one is a list of labels an author picks by vibe. Every
@@ -19,10 +19,10 @@
19
19
  */
20
20
  export declare const GROUP_ROLE_IDS: readonly ["data", "metadata", "index", "documentation", "reference"];
21
21
  export type GroupRole = (typeof GROUP_ROLE_IDS)[number];
22
- export interface GroupRoleEntry {
22
+ export type GroupRoleEntry = {
23
23
  readonly id: GroupRole;
24
24
  readonly definition: string;
25
- }
25
+ };
26
26
  /**
27
27
  * Companions (`.bai`/`.tbi`/per-file `.md5`) take no role — they attach to members. A
28
28
  * checksum or inventory file spanning MANY members is not a companion but a member of
@@ -32,12 +32,12 @@ export interface GroupRoleEntry {
32
32
  export declare const GROUP_ROLES: readonly GroupRoleEntry[];
33
33
  export declare const GROUP_CATEGORY_IDS: readonly ["sequencing-reads", "alignment", "variant-calls", "copy-number", "structural-variants", "association-results", "regions-signal", "expression-matrix", "single-cell-matrix", "methylation", "proteomics", "metabolomics", "cytometry", "chemical-structures", "imaging", "clinical-table", "sample-annotation", "code", "document", "manifest", "reference-data", "other"];
34
34
  export type GroupCategory = (typeof GROUP_CATEGORY_IDS)[number];
35
- export interface GroupCategoryEntry {
35
+ export type GroupCategoryEntry = {
36
36
  readonly id: GroupCategory;
37
37
  readonly definition: string;
38
38
  /** The nearest neighbour and the rule that separates them. */
39
39
  readonly note: string;
40
- }
40
+ };
41
41
  /**
42
42
  * Coarse on purpose — a free `subtype` refines below the category. Content beats shape:
43
43
  * a beta-value matrix is methylation whatever its layout, and a MAF is variant-calls
@@ -54,14 +54,14 @@ export type DimensionScope = "biological" | "technical";
54
54
  * slot, possibly bound to a dimension.
55
55
  */
56
56
  export type DimensionTreatment = "split" | "dimension";
57
- export interface DimensionCategoryEntry {
57
+ export type DimensionCategoryEntry = {
58
58
  readonly id: DimensionCategory;
59
59
  readonly scope: DimensionScope;
60
60
  readonly definition: string;
61
61
  readonly defaultTreatment: DimensionTreatment;
62
62
  /** Why the default reads the way it does, and the nearest neighbour it is not. */
63
63
  readonly note: string;
64
- }
64
+ };
65
65
  export declare const DIMENSION_CATEGORIES: readonly DimensionCategoryEntry[];
66
66
  export declare const DIMENSION_PROBE_IDS: readonly ["subject", "sample", "cohort-arm", "timepoint", "batch"];
67
67
  export type DimensionProbe = (typeof DIMENSION_PROBE_IDS)[number];
@@ -74,11 +74,11 @@ export type DimensionProbe = (typeof DIMENSION_PROBE_IDS)[number];
74
74
  */
75
75
  export declare const PROBE_OUTCOME_IDS: readonly ["found", "not-found", "found-but-constant", "attested"];
76
76
  export type ProbeOutcome = (typeof PROBE_OUTCOME_IDS)[number];
77
- export interface DimensionProbeEntry {
77
+ export type DimensionProbeEntry = {
78
78
  readonly id: DimensionProbe;
79
79
  /** Where a `found` typically comes from. */
80
80
  readonly guidance: string;
81
- }
81
+ };
82
82
  /**
83
83
  * The only dimensions the agent actively looks for. The searchable set is bounded and
84
84
  * named: files in metadata- or documentation-role groups plus clinical-table and
@@ -100,4 +100,5 @@ export declare function dimensionCategoryEntry(id: DimensionCategory): Dimension
100
100
  * a biological thing that varies and has no category is still biological, and pinning
101
101
  * every `other` to technical would misfile it. Undeclared, it defaults to technical.
102
102
  */
103
- export declare function dimensionScope(id: DimensionCategory, declared?: DimensionScope): DimensionScope;
103
+ /** A replay can carry a category a retired vocabulary served; the lookup below settles the miss as `technical`. */
104
+ export declare function dimensionScope(id: DimensionCategory | (string & {}), declared?: DimensionScope): DimensionScope;
@@ -9,7 +9,7 @@
9
9
  * It lives in `contracts/` because the persisted profile carries these ids: a consumer
10
10
  * rendering a stored group needs the category's meaning without importing the ledger,
11
11
  * the schema module, or zod. Hosts do not extend it — the package owns the catalogue and
12
- * versions it with the harness.
12
+ * versions it with the harness. Each import from outside `contracts/` is a type import.
13
13
  *
14
14
  * Every category carries its nearest neighbour and the rule that separates them, because
15
15
  * a category list without one is a list of labels an author picks by vibe. Every
@@ -429,10 +429,16 @@ export const DIMENSION_PROBES = [
429
429
  const GROUP_CATEGORY_BY_ID = new Map(GROUP_CATEGORIES.map((entry) => [entry.id, entry]));
430
430
  const DIMENSION_CATEGORY_BY_ID = new Map(DIMENSION_CATEGORIES.map((entry) => [entry.id, entry]));
431
431
  export function groupCategoryEntry(id) {
432
- return GROUP_CATEGORY_BY_ID.get(id);
432
+ const entry = GROUP_CATEGORY_BY_ID.get(id);
433
+ if (entry === undefined)
434
+ throw new Error(`the group category entry "${id}" is absent`);
435
+ return entry;
433
436
  }
434
437
  export function dimensionCategoryEntry(id) {
435
- return DIMENSION_CATEGORY_BY_ID.get(id);
438
+ const entry = DIMENSION_CATEGORY_BY_ID.get(id);
439
+ if (entry === undefined)
440
+ throw new Error(`the dimension category entry "${id}" is absent`);
441
+ return entry;
436
442
  }
437
443
  /**
438
444
  * The scope a dimension takes.
@@ -442,6 +448,7 @@ export function dimensionCategoryEntry(id) {
442
448
  * a biological thing that varies and has no category is still biological, and pinning
443
449
  * every `other` to technical would misfile it. Undeclared, it defaults to technical.
444
450
  */
451
+ /** A replay can carry a category a retired vocabulary served; the lookup below settles the miss as `technical`. */
445
452
  export function dimensionScope(id, declared) {
446
453
  if (id === "other")
447
454
  return declared ?? "technical";