@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
@@ -19,6 +19,7 @@
19
19
  * The export option lives here too, in the same two twins: the server draws the SVG through it, and the page
20
20
  * draws each PNG through it.
21
21
  */
22
+ import type { CustomSeriesRenderItemReturn as EchartsRenderItemReturn } from "echarts";
22
23
  /** The renderer name of an interval: an error bar, a confidence interval, or the inner mark of a violin. */
23
24
  export declare const INTERVAL_RENDERER = "interval";
24
25
  /** The renderer name of a violin outline. */
@@ -40,23 +41,29 @@ export declare const INTERVAL_CAP_PX = 4;
40
41
  /** The length of the arrow at a clipped end of an interval, in pixels. */
41
42
  export declare const INTERVAL_ARROW_PX = 6;
42
43
  /** The first argument of a renderer: the JSON parameters that the series carries in `itemPayload`. */
43
- export interface RenderParams {
44
+ export type RenderParams = {
44
45
  readonly itemPayload?: Readonly<Record<string, unknown>>;
45
- }
46
- /** The part of the chart runtime that a renderer reads. */
47
- export interface RenderApi {
46
+ };
47
+ /** The part of the chart runtime that a renderer reads. `coord` and `size` give one number for each dimension. */
48
+ export type RenderApi = {
48
49
  value(dimension: number): number;
49
- coord(point: number[]): number[];
50
- size(delta: number[]): number[];
50
+ coord(point: number[]): [number, number];
51
+ size(delta: number[]): [number, number];
51
52
  visual(name: "color"): string;
52
- }
53
- /** One graphic element that a renderer gives back to the chart runtime. */
54
- export interface RenderedElement {
53
+ };
54
+ /**
55
+ * One graphic element that a renderer gives back to the chart runtime.
56
+ *
57
+ * The export hands the element to the chart runtime, which draws it from its own option type; the
58
+ * intersection keeps the loose fields that the renderers and their shared test vector read, so one
59
+ * value serves both readers with no cast at the handoff.
60
+ */
61
+ export type RenderedElement = EchartsRenderItemReturn & {
55
62
  type: string;
56
63
  shape?: Record<string, unknown>;
57
64
  style?: Record<string, unknown>;
58
65
  children?: RenderedElement[];
59
- }
66
+ };
60
67
  /**
61
68
  * Draw one interval.
62
69
  *
@@ -99,20 +106,20 @@ export type ChartRenderer = (params: RenderParams, api: RenderApi) => RenderedEl
99
106
  * One registered renderer: the name that a derived series states, the TypeScript function that the export
100
107
  * registers, and the name of the page twin in `CHART_RENDERERS_SOURCE` that the bootstrap registers.
101
108
  */
102
- export interface ChartRendererEntry {
109
+ export type ChartRendererEntry = {
103
110
  readonly name: string;
104
111
  readonly render: ChartRenderer;
105
112
  readonly pageFunction: string;
106
- }
113
+ };
107
114
  /**
108
115
  * The registered renderers. A renderer joins by one entry here, beside its TypeScript function and its page
109
116
  * twin, and each consumer registers it under the same name.
110
117
  */
111
118
  export declare const CHART_RENDERERS: readonly ChartRendererEntry[];
112
119
  /** The part of the chart runtime that holds the registry of the named renderers. */
113
- export interface RendererRegistry {
120
+ export type RendererRegistry = {
114
121
  registerCustomSeries(name: string, render: ChartRenderer): void;
115
- }
122
+ };
116
123
  /**
117
124
  * Register each renderer with the chart runtime. A second registration of one name replaces the first with
118
125
  * the same function, thus a caller registers before each draw and the runtime holds one function per name.
@@ -129,10 +136,10 @@ export declare function registerChartRenderers(runtime: RendererRegistry): void;
129
136
  */
130
137
  export declare const SIZED_SERIES_MEMBER = "sizedSeries";
131
138
  /** The series of each export width: the names of the page series that they replace, and the series of each width. */
132
- export interface SizedSeries {
139
+ export type SizedSeries = {
133
140
  readonly names: readonly string[];
134
141
  readonly widths: Readonly<Record<string, readonly unknown[]>>;
135
- }
142
+ };
136
143
  /** The height of one line of the chart text, as a share of the text size. An upright category label takes one line along its axis. */
137
144
  export declare const LABEL_LINE_SHARE = 1.3;
138
145
  /**
@@ -19,6 +19,9 @@
19
19
  * The export option lives here too, in the same two twins: the server draws the SVG through it, and the page
20
20
  * draws each PNG through it.
21
21
  */
22
+ import { textOf } from "../lib/unknown-text.js";
23
+ import { isUnknownArray } from "../lib/unknown-array.js";
24
+ import { parseUnknownRecord } from "../lib/unknown-containers.js";
22
25
  import { CHART_INK, CHART_PAGE_TEXT_PX, COLOR_SCALE_BAND_PCT, GUIDE_LINE_COLOR } from "./design.js";
23
26
  /** The renderer name of an interval: an error bar, a confidence interval, or the inner mark of a violin. */
24
27
  export const INTERVAL_RENDERER = "interval";
@@ -77,7 +80,7 @@ export function intervalRenderer(_params, api) {
77
80
  const alongX = api.value(4) === 0;
78
81
  const offset = api.value(5);
79
82
  const inner = api.value(6) === 1;
80
- const clipped = Number(api.value(7)) || 0;
83
+ const clipped = api.value(7) || 0;
81
84
  const band = alongX ? api.size([0, 1])[1] : api.size([1, 0])[0];
82
85
  const shift = offset * band;
83
86
  const from = api.coord(alongX ? [low, y] : [x, low]);
@@ -101,10 +104,11 @@ export function intervalRenderer(_params, api) {
101
104
  };
102
105
  }
103
106
  const children = [segment(fromX, fromY, toX, toY, INTERVAL_STROKE_PX)];
104
- for (const [bit, endX, endY, otherX, otherY] of [
107
+ const ends = [
105
108
  [1, fromX, fromY, toX, toY],
106
109
  [2, toX, toY, fromX, fromY],
107
- ]) {
110
+ ];
111
+ for (const [bit, endX, endY, otherX, otherY] of ends) {
108
112
  if ((clipped & bit) !== 0) {
109
113
  children.push(...arrowHead(endX, endY, otherX, otherY));
110
114
  continue;
@@ -176,7 +180,11 @@ export function cellGlyphRenderer(params, api) {
176
180
  ];
177
181
  if (klass >= 0 && klass < colors.length) {
178
182
  const glyph = height * CELL_GLYPH_SHARE;
179
- children.push({ type: "rect", shape: { x: center[0] - width / 2, y: center[1] - glyph / 2, width, height: glyph }, style: { fill: colors[klass] } });
183
+ children.push({
184
+ type: "rect",
185
+ shape: { x: center[0] - width / 2, y: center[1] - glyph / 2, width, height: glyph },
186
+ style: { fill: String(colors[klass]) },
187
+ });
180
188
  }
181
189
  return { type: "group", children };
182
190
  }
@@ -236,15 +244,20 @@ export const SIZED_SERIES_MEMBER = "sizedSeries";
236
244
  * A width that the member does not hold keeps the page series.
237
245
  */
238
246
  function sizedSeries(series, sized, widthPx) {
239
- if (!Array.isArray(series) || typeof sized !== "object" || sized === null)
247
+ if (!Array.isArray(series))
248
+ return series;
249
+ const fields = parseUnknownRecord(sized);
250
+ if (fields === undefined)
240
251
  return series;
241
- const fields = sized;
242
- const widths = fields.widths;
243
- const chosen = typeof widths === "object" && widths !== null ? widths[String(widthPx)] : undefined;
244
- if (!Array.isArray(fields.names) || !Array.isArray(chosen))
252
+ const widths = parseUnknownRecord(fields.widths);
253
+ const chosen = widths === undefined ? undefined : widths[String(widthPx)];
254
+ const names = isUnknownArray(fields.names) ? fields.names : undefined;
255
+ if (names === undefined || !isUnknownArray(chosen))
245
256
  return series;
246
- const names = fields.names;
247
- const kept = series.filter((entry) => typeof entry !== "object" || entry === null || names.indexOf(entry.name) < 0);
257
+ const kept = series.filter((entry) => {
258
+ const member = parseUnknownRecord(entry);
259
+ return member === undefined || names.indexOf(member.name) < 0;
260
+ });
248
261
  return kept.concat(chosen);
249
262
  }
250
263
  /**
@@ -254,9 +267,10 @@ function sizedSeries(series, sized, widthPx) {
254
267
  function scaledAxes(axes, scale) {
255
268
  if (Array.isArray(axes))
256
269
  return axes.map((axis) => scaledAxes(axis, scale));
257
- if (typeof axes !== "object" || axes === null)
270
+ const axisFields = parseUnknownRecord(axes);
271
+ if (axisFields === undefined)
258
272
  return axes;
259
- const axis = { ...axes };
273
+ const axis = { ...axisFields };
260
274
  if (typeof axis.nameGap === "number")
261
275
  axis.nameGap = axis.nameGap * scale;
262
276
  if (typeof axis.offset === "number")
@@ -268,13 +282,13 @@ function scaledAxes(axes, scale) {
268
282
  * group. A facet panel label is such an element, and the size legend is such a group.
269
283
  */
270
284
  function scaledGraphic(element, scale) {
271
- if (typeof element !== "object" || element === null)
285
+ const out = parseUnknownRecord(element);
286
+ if (out === undefined)
272
287
  return element;
273
- const out = { ...element };
274
- const style = out.style;
288
+ const style = parseUnknownRecord(out.style);
275
289
  if (style !== undefined && typeof style.fontSize === "number")
276
290
  out.style = { ...style, fontSize: style.fontSize * scale };
277
- if (Array.isArray(out.children))
291
+ if (isUnknownArray(out.children))
278
292
  out.children = out.children.map((child) => scaledGraphic(child, scale));
279
293
  return out;
280
294
  }
@@ -303,18 +317,18 @@ export function categoryInterval(count, textPx, widthPx) {
303
317
  * export states the interval again at its own width and text size.
304
318
  */
305
319
  function fittedCategories(axis, textPx, widthPx) {
306
- if (typeof axis !== "object" || axis === null || Array.isArray(axis))
320
+ const fields = parseUnknownRecord(axis);
321
+ if (fields === undefined)
307
322
  return axis;
308
- const fields = axis;
309
323
  const data = fields.data;
310
- if (fields.type !== "category" || !Array.isArray(data) || data.length === 0)
324
+ if (fields.type !== "category" || !isUnknownArray(data) || data.length === 0)
311
325
  return axis;
312
- const label = typeof fields.axisLabel === "object" && fields.axisLabel !== null ? fields.axisLabel : {};
326
+ const label = parseUnknownRecord(fields.axisLabel) ?? {};
313
327
  let rotate = label.rotate;
314
328
  if (typeof rotate !== "number" || rotate === 0) {
315
329
  let longest = 0;
316
330
  for (const name of data)
317
- longest = Math.max(longest, String(name).length);
331
+ longest = Math.max(longest, textOf(name).length);
318
332
  const need = longest * textPx * CHARACTER_SHARE;
319
333
  const room = (widthPx * LABEL_ROOM) / data.length;
320
334
  if (need <= room)
@@ -358,11 +372,10 @@ function wrappedTitle(title, textPx, widthPx) {
358
372
  * the chart, and a chart of one grid spans the export width.
359
373
  */
360
374
  function gridWidth(grid, axis, widthPx) {
361
- const place = typeof axis === "object" && axis !== null && typeof axis.gridIndex === "number"
362
- ? axis.gridIndex
363
- : 0;
364
- const entry = Array.isArray(grid) ? grid[place] : grid;
365
- const width = typeof entry === "object" && entry !== null ? entry.width : undefined;
375
+ const axisFields = parseUnknownRecord(axis);
376
+ const place = axisFields !== undefined && typeof axisFields.gridIndex === "number" ? axisFields.gridIndex : 0;
377
+ const entry = isUnknownArray(grid) ? grid[place] : grid;
378
+ const width = parseUnknownRecord(entry)?.width;
366
379
  if (typeof width === "string" && width.endsWith("%"))
367
380
  return (widthPx * Number.parseFloat(width)) / 100;
368
381
  if (typeof width === "number")
@@ -384,9 +397,9 @@ function fittedAxes(axes, grid, textPx, widthPx) {
384
397
  * prints no end, or that draws pieces and no scale passes through.
385
398
  */
386
399
  function stillScale(map, textPx, widthPx) {
387
- if (typeof map !== "object" || map === null)
400
+ const fields = parseUnknownRecord(map);
401
+ if (fields === undefined)
388
402
  return map;
389
- const fields = map;
390
403
  const text = fields.text;
391
404
  if (fields.show === false || fields.type === "piecewise" || !Array.isArray(text) || typeof text[0] !== "string" || typeof text[1] !== "string")
392
405
  return map;
@@ -397,7 +410,7 @@ function stillScale(map, textPx, widthPx) {
397
410
  ...fields,
398
411
  top: STILL_SCALE_TOP,
399
412
  itemHeight: STILL_SCALE_LINES * textPx,
400
- text: [title === "" ? upper : `${wrappedTitle(title, textPx, widthPx)}\n${upper}`, text[1]],
413
+ text: [title === "" ? upper : `${wrappedTitle(title, textPx, widthPx)}\n${String(upper)}`, text[1]],
401
414
  };
402
415
  }
403
416
  /** The top of a still color scale, which is the top margin of the grid, and its length in lines of the text. */
@@ -433,18 +446,21 @@ function legendBand(lines, textPx) {
433
446
  * are the data of the legend, or else the name of each series in order of first appearance.
434
447
  */
435
448
  function legendLines(option, textPx, widthPx) {
436
- const legend = option.legend;
449
+ const legend = parseUnknownRecord(option.legend);
450
+ if (legend === undefined)
451
+ return 0;
437
452
  const names = [];
438
- if (Array.isArray(legend.data)) {
453
+ if (isUnknownArray(legend.data)) {
439
454
  for (const entry of legend.data) {
440
- const name = typeof entry === "object" && entry !== null ? entry.name : entry;
455
+ const fields = parseUnknownRecord(entry);
456
+ const name = fields === undefined ? entry : fields.name;
441
457
  if (typeof name === "string")
442
458
  names.push(name);
443
459
  }
444
460
  }
445
461
  else if (Array.isArray(option.series)) {
446
462
  for (const series of option.series) {
447
- const name = typeof series === "object" && series !== null ? series.name : undefined;
463
+ const name = parseUnknownRecord(series)?.name;
448
464
  if (typeof name === "string" && name !== "" && names.indexOf(name) < 0)
449
465
  names.push(name);
450
466
  }
@@ -475,7 +491,7 @@ function legendLines(option, textPx, widthPx) {
475
491
  * height draws in one line that scrolls.
476
492
  */
477
493
  function facetOverLegend(option, textPx, widthPx, heightPx) {
478
- const grids = option.grid;
494
+ const grids = Array.isArray(option.grid) ? option.grid : [];
479
495
  const title = Math.round(textPx * FACET_TITLE_SHARE);
480
496
  const tops = [];
481
497
  let lowest = 0;
@@ -484,21 +500,23 @@ function facetOverLegend(option, textPx, widthPx, heightPx) {
484
500
  const bottom = panelBottom(grid);
485
501
  if (bottom <= 0)
486
502
  continue;
487
- const fields = grid;
488
- const top = Number.parseFloat(String(fields.top));
503
+ const fields = parseUnknownRecord(grid);
504
+ if (fields === undefined)
505
+ continue;
506
+ const top = Number.parseFloat(textOf(fields.top));
489
507
  if (tops.indexOf(top) < 0)
490
508
  tops.push(top);
491
509
  if (bottom <= lowest)
492
510
  continue;
493
511
  lowest = bottom;
494
- height = Number.parseFloat(String(fields.height));
512
+ height = Number.parseFloat(textOf(fields.height));
495
513
  }
496
514
  tops.sort((a, b) => a - b);
497
515
  const partOf = (legendPx) => Math.max(0, lowest - ((heightPx - legendPx - title) / heightPx) * 100) / tops.length;
498
516
  const lines = legendLines(option, textPx, widthPx);
499
517
  let band = legendBand(lines, textPx);
500
518
  if (lines > 1 && partOf(band) > height * (1 - PANEL_MIN_SHARE)) {
501
- option.legend = { ...option.legend, type: "scroll" };
519
+ option.legend = { ...parseUnknownRecord(option.legend), type: "scroll" };
502
520
  band = legendBand(1, textPx);
503
521
  }
504
522
  const part = partOf(band);
@@ -509,16 +527,18 @@ function facetOverLegend(option, textPx, widthPx, heightPx) {
509
527
  option.grid = grids.map((grid) => {
510
528
  if (panelBottom(grid) <= 0)
511
529
  return grid;
512
- const fields = grid;
513
- const top = Number.parseFloat(String(fields.top));
514
- return { ...fields, top: moved(top, tops.indexOf(top)), height: `${Math.round((Number.parseFloat(String(fields.height)) - part) * 1e4) / 1e4}%` };
530
+ const fields = parseUnknownRecord(grid);
531
+ if (fields === undefined)
532
+ return grid;
533
+ const top = Number.parseFloat(textOf(fields.top));
534
+ return { ...fields, top: moved(top, tops.indexOf(top)), height: `${Math.round((Number.parseFloat(textOf(fields.height)) - part) * 1e4) / 1e4}%` };
515
535
  });
516
536
  }
517
537
  if (Array.isArray(option.graphic)) {
518
538
  option.graphic = option.graphic.map((element) => {
519
- if (typeof element !== "object" || element === null)
539
+ const fields = parseUnknownRecord(element);
540
+ if (fields === undefined)
520
541
  return element;
521
- const fields = element;
522
542
  if (fields.bottom !== undefined)
523
543
  return { ...fields, bottom: band };
524
544
  const top = typeof fields.top === "string" && fields.top.endsWith("%") ? Number.parseFloat(fields.top) : Number.NaN;
@@ -529,23 +549,23 @@ function facetOverLegend(option, textPx, widthPx, heightPx) {
529
549
  }
530
550
  /** The bottom edge of one facet panel, in percent of the chart, or 0 for a grid that is no facet panel. */
531
551
  function panelBottom(grid) {
532
- if (typeof grid !== "object" || grid === null)
552
+ const fields = parseUnknownRecord(grid);
553
+ if (fields === undefined)
533
554
  return 0;
534
- const fields = grid;
535
555
  if (fields.outerBoundsMode !== PANEL_BOUNDS_MODE || typeof fields.top !== "string" || typeof fields.height !== "string")
536
556
  return 0;
537
557
  return Number.parseFloat(fields.top) + Number.parseFloat(fields.height);
538
558
  }
539
559
  /** True when an option lays out facet panels over a bottom legend. */
540
560
  function holdsFacetLegend(option) {
541
- const legend = option.legend;
542
- const bottom = typeof legend === "object" && legend !== null && legend.show !== false && legend.bottom !== undefined;
561
+ const legend = parseUnknownRecord(option.legend);
562
+ const bottom = legend !== undefined && legend.show !== false && legend.bottom !== undefined;
543
563
  return bottom && Array.isArray(option.grid) && option.grid.some((grid) => panelBottom(grid) > 0);
544
564
  }
545
565
  /** True when an option draws a legend along the bottom edge of a grid of one panel. */
546
566
  function holdsBottomLegend(option) {
547
- const legend = option.legend;
548
- const bottom = typeof legend === "object" && legend !== null && legend.show !== false && legend.bottom !== undefined;
567
+ const legend = parseUnknownRecord(option.legend);
568
+ const bottom = legend !== undefined && legend.show !== false && legend.bottom !== undefined;
549
569
  return bottom && option.xAxis !== undefined && !Array.isArray(option.grid);
550
570
  }
551
571
  /**
@@ -583,12 +603,13 @@ export function exportOption(option, textPx, widthPx, heightPx) {
583
603
  out.visualMap = out.visualMap.map((map) => stillScale(map, textPx, widthPx));
584
604
  else if (out.visualMap !== undefined)
585
605
  out.visualMap = stillScale(out.visualMap, textPx, widthPx);
586
- if (typeof out.grid === "object" && out.grid !== null && !Array.isArray(out.grid) && out.grid.containLabel === true) {
606
+ const gridFields = parseUnknownRecord(out.grid);
607
+ if (gridFields !== undefined && gridFields.containLabel === true) {
587
608
  // The legacy containment holds the labels alone, and a name at the edge of a short export is cut.
588
- out.grid = { ...out.grid, containLabel: false, outerBoundsMode: "auto", outerBoundsContain: "all" };
609
+ out.grid = { ...gridFields, containLabel: false, outerBoundsMode: "auto", outerBoundsContain: "all" };
589
610
  }
590
611
  if (holdsBottomLegend(out)) {
591
- const grid = typeof out.grid === "object" && out.grid !== null ? out.grid : {};
612
+ const grid = parseUnknownRecord(out.grid) ?? {};
592
613
  out.grid = { ...grid, outerBoundsMode: "auto", outerBounds: { left: 0, right: 0, top: 0, bottom: Math.round(textPx * LEGEND_BAND_LINES) } };
593
614
  }
594
615
  if (holdsFacetLegend(out))
@@ -76,10 +76,10 @@ export declare function pageChartOption(option: EchartOption, chartType: ChartTy
76
76
  export declare const GENOME_POSITION_FUNCTION = "reportGenomePosition";
77
77
  export declare const GENOME_MEMBER = "genome";
78
78
  /** The genome member of an axis: the series that names the chromosomes, and the start and the label of each chromosome in position order. */
79
- export interface GenomeAxis {
79
+ export type GenomeAxis = {
80
80
  readonly names: string;
81
81
  readonly starts: ReadonlyArray<readonly [number, string]>;
82
- }
82
+ };
83
83
  /**
84
84
  * The page functions of the toolbox, as browser source text.
85
85
  *
@@ -94,6 +94,12 @@ export function chartMenuControlId(containerId) {
94
94
  */
95
95
  export function chartToolbox(chartType) {
96
96
  const dense = chartType !== undefined && DENSE_CARTESIAN_CHARTS.includes(chartType);
97
+ const zoomFeatures = dense
98
+ ? {
99
+ dataZoom: { show: true, title: { zoom: "Zoom", back: "Undo zoom" }, filterMode: "none" },
100
+ restore: { show: true, title: "Restore" },
101
+ }
102
+ : undefined;
97
103
  return {
98
104
  show: true,
99
105
  zlevel: TOOLBOX_ZLEVEL,
@@ -112,12 +118,7 @@ export function chartToolbox(chartType) {
112
118
  },
113
119
  },
114
120
  feature: {
115
- ...(dense
116
- ? {
117
- dataZoom: { show: true, title: { zoom: "Zoom", back: "Undo zoom" }, filterMode: "none" },
118
- restore: { show: true, title: "Restore" },
119
- }
120
- : {}),
121
+ ...zoomFeatures,
121
122
  dataView: {
122
123
  show: true,
123
124
  title: "Data",
@@ -28,10 +28,9 @@
28
28
  import { type Result } from "neverthrow";
29
29
  import { type ChartBlock, type ChartTransform } from "../contracts/report-blocks.js";
30
30
  import { type PresetRule } from "./chart-presets.js";
31
- import { transformColumn } from "./figures/common.js";
32
31
  import { type FigureRegistry } from "./figures/index.js";
33
32
  import type { RenderProblem, RenderStatistic, RenderTrack, RenderTrees } from "./types.js";
34
- export { transformColumn };
33
+ export { transformColumn } from "./figures/common.js";
35
34
  /** One cell of a resolved row. A cell is one string or one number. */
36
35
  export type Cell = string | number;
37
36
  /** One resolved row of the bound table, keyed by column name. */
@@ -54,15 +53,15 @@ export declare function deriveChartOption(block: ChartBlock, rows: readonly Char
54
53
  * the rows of the track, and the rows of the tree of each axis. A block that declares none of them takes no
55
54
  * input.
56
55
  */
57
- export interface ChartInputs {
56
+ export type ChartInputs = {
58
57
  readonly statistics?: readonly RenderStatistic[];
59
58
  readonly track?: RenderTrack;
60
59
  readonly trees?: RenderTrees;
61
- }
60
+ };
62
61
  /** The options of the chart derivation: the figure modules that the dispatch asks first. */
63
- export interface ChartOpts {
62
+ export type ChartOpts = {
64
63
  readonly figures: FigureRegistry;
65
- }
64
+ };
66
65
  /** The options of every render: the registered figure modules. */
67
66
  export declare const DEFAULT_CHART_OPTS: ChartOpts;
68
67
  /**
@@ -94,11 +93,11 @@ export declare const POINT_LABEL: EchartOption;
94
93
  * One column that a page-side series build reads: the place of the column in the payload, the per-row
95
94
  * transform of the channel, and whether the page reads each cell as its number.
96
95
  */
97
- export interface ChartColumnSource {
96
+ export type ChartColumnSource = {
98
97
  readonly column: number;
99
98
  readonly transform?: ChartTransform;
100
99
  readonly numeric?: true;
101
- }
100
+ };
102
101
  /**
103
102
  * One runtime series, as the page builds it from the columnar payload.
104
103
  *
@@ -115,7 +114,7 @@ export interface ChartColumnSource {
115
114
  * `color` and `size` name the columns of a continuous color and of a symbol size. Each one adds one member
116
115
  * to the item after the pair, in that order, and a row whose cell is not numeric draws no point.
117
116
  */
118
- export interface ChartSeriesSource {
117
+ export type ChartSeriesSource = {
119
118
  readonly x: ChartColumnSource;
120
119
  readonly y: ChartColumnSource;
121
120
  readonly color?: ChartColumnSource;
@@ -128,16 +127,16 @@ export interface ChartSeriesSource {
128
127
  readonly sort?: boolean;
129
128
  readonly rise?: boolean;
130
129
  readonly swap?: boolean;
131
- }
130
+ };
132
131
  /**
133
132
  * The data source of one chart: the payload that it reads, the classification rule where a preset splits
134
133
  * the rows, and one descriptor for each runtime series in series order.
135
134
  */
136
- export interface ChartDataSource {
135
+ export type ChartDataSource = {
137
136
  readonly payload: string;
138
137
  readonly rule?: PresetRule;
139
138
  readonly series: readonly ChartSeriesSource[];
140
- }
139
+ };
141
140
  /**
142
141
  * The member of the option that carries the data source.
143
142
  *
@@ -146,10 +145,10 @@ export interface ChartDataSource {
146
145
  */
147
146
  export declare const CHART_SOURCE_MEMBER = "__reportData";
148
147
  /** The payload that a dense chart reads: the key of the registry, and the columns of the payload. */
149
- export interface ChartPayloadTarget {
148
+ export type ChartPayloadTarget = {
150
149
  readonly key: string;
151
150
  readonly columns: readonly string[];
152
- }
151
+ };
153
152
  /**
154
153
  * The option of one chart, whether it reads the registered payload of its artifact, the same chart with
155
154
  * every row inline, and the box of its page chart body.
@@ -159,10 +158,10 @@ export interface ChartPayloadTarget {
159
158
  * own. `widthPx` is the width of a figure that draws a block of a fixed size, for example the square of a PCA.
160
159
  * The card narrows the body to that width and centers it, and a chart with no such width fills the card.
161
160
  */
162
- export interface ChartRender {
161
+ export type ChartRender = {
163
162
  readonly option: EchartOption;
164
163
  readonly readsPayload: boolean;
165
164
  readonly inline: EchartOption;
166
165
  readonly bodyPx: number;
167
166
  readonly widthPx?: number;
168
- }
167
+ };