@inflexa-ai/harness 0.1.1

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 (823) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +5 -0
  3. package/README.md +58 -0
  4. package/dist/agents/conversation-agent.d.ts +105 -0
  5. package/dist/agents/conversation-agent.js +140 -0
  6. package/dist/agents/report-builder.d.ts +32 -0
  7. package/dist/agents/report-builder.js +31 -0
  8. package/dist/agents/sandbox/__fixtures__/deps.d.ts +23 -0
  9. package/dist/agents/sandbox/__fixtures__/deps.js +96 -0
  10. package/dist/agents/sandbox/bulk-transcriptomics-agent.d.ts +8 -0
  11. package/dist/agents/sandbox/bulk-transcriptomics-agent.js +22 -0
  12. package/dist/agents/sandbox/cheminformatics-agent.d.ts +9 -0
  13. package/dist/agents/sandbox/cheminformatics-agent.js +62 -0
  14. package/dist/agents/sandbox/chromatin-agent.d.ts +8 -0
  15. package/dist/agents/sandbox/chromatin-agent.js +24 -0
  16. package/dist/agents/sandbox/data-profiler.d.ts +10 -0
  17. package/dist/agents/sandbox/data-profiler.js +24 -0
  18. package/dist/agents/sandbox/dna-methylation-agent.d.ts +8 -0
  19. package/dist/agents/sandbox/dna-methylation-agent.js +24 -0
  20. package/dist/agents/sandbox/drug-repurposing-agent.d.ts +8 -0
  21. package/dist/agents/sandbox/drug-repurposing-agent.js +54 -0
  22. package/dist/agents/sandbox/enrichment-agent.d.ts +8 -0
  23. package/dist/agents/sandbox/enrichment-agent.js +24 -0
  24. package/dist/agents/sandbox/ephemeral-executor.d.ts +9 -0
  25. package/dist/agents/sandbox/ephemeral-executor.js +29 -0
  26. package/dist/agents/sandbox/genomic-variant-agent.d.ts +8 -0
  27. package/dist/agents/sandbox/genomic-variant-agent.js +27 -0
  28. package/dist/agents/sandbox/immune-profiling-agent.d.ts +8 -0
  29. package/dist/agents/sandbox/immune-profiling-agent.js +43 -0
  30. package/dist/agents/sandbox/index.d.ts +31 -0
  31. package/dist/agents/sandbox/index.js +96 -0
  32. package/dist/agents/sandbox/metabolomics-agent.d.ts +8 -0
  33. package/dist/agents/sandbox/metabolomics-agent.js +15 -0
  34. package/dist/agents/sandbox/microbiome-agent.d.ts +8 -0
  35. package/dist/agents/sandbox/microbiome-agent.js +15 -0
  36. package/dist/agents/sandbox/multi-omics-integration-agent.d.ts +8 -0
  37. package/dist/agents/sandbox/multi-omics-integration-agent.js +33 -0
  38. package/dist/agents/sandbox/multimodal-sc-agent.d.ts +8 -0
  39. package/dist/agents/sandbox/multimodal-sc-agent.js +15 -0
  40. package/dist/agents/sandbox/network-agent.d.ts +8 -0
  41. package/dist/agents/sandbox/network-agent.js +25 -0
  42. package/dist/agents/sandbox/pkpd-clinical-response-agent.d.ts +8 -0
  43. package/dist/agents/sandbox/pkpd-clinical-response-agent.js +59 -0
  44. package/dist/agents/sandbox/proteomics-agent.d.ts +8 -0
  45. package/dist/agents/sandbox/proteomics-agent.js +15 -0
  46. package/dist/agents/sandbox/scientific-executor.d.ts +9 -0
  47. package/dist/agents/sandbox/scientific-executor.js +56 -0
  48. package/dist/agents/sandbox/shared.d.ts +100 -0
  49. package/dist/agents/sandbox/shared.js +195 -0
  50. package/dist/agents/sandbox/single-cell-agent.d.ts +8 -0
  51. package/dist/agents/sandbox/single-cell-agent.js +25 -0
  52. package/dist/agents/sandbox/spatial-omics-agent.d.ts +8 -0
  53. package/dist/agents/sandbox/spatial-omics-agent.js +15 -0
  54. package/dist/agents/sandbox/statistical-modeling-agent.d.ts +8 -0
  55. package/dist/agents/sandbox/statistical-modeling-agent.js +37 -0
  56. package/dist/agents/sandbox/translational-safety-agent.d.ts +8 -0
  57. package/dist/agents/sandbox/translational-safety-agent.js +59 -0
  58. package/dist/agents/sandbox/types.d.ts +34 -0
  59. package/dist/agents/sandbox/types.js +15 -0
  60. package/dist/agents/sandbox/validate-skills.d.ts +18 -0
  61. package/dist/agents/sandbox/validate-skills.js +40 -0
  62. package/dist/agents/sandbox-catalog.d.ts +33 -0
  63. package/dist/agents/sandbox-catalog.js +44 -0
  64. package/dist/agents/system-prompt.d.ts +25 -0
  65. package/dist/agents/system-prompt.js +23 -0
  66. package/dist/app/chat-turn.d.ts +35 -0
  67. package/dist/app/chat-turn.js +64 -0
  68. package/dist/app/data-profile-policy.d.ts +36 -0
  69. package/dist/app/data-profile-policy.js +37 -0
  70. package/dist/app/message-assembly.d.ts +65 -0
  71. package/dist/app/message-assembly.js +61 -0
  72. package/dist/app/synthesize-run.d.ts +57 -0
  73. package/dist/app/synthesize-run.js +103 -0
  74. package/dist/auth/local-auth-context.d.ts +19 -0
  75. package/dist/auth/local-auth-context.js +20 -0
  76. package/dist/auth/local-run-authorizer.d.ts +10 -0
  77. package/dist/auth/local-run-authorizer.js +23 -0
  78. package/dist/auth/types.d.ts +166 -0
  79. package/dist/auth/types.js +61 -0
  80. package/dist/billing/cached-resolver.d.ts +23 -0
  81. package/dist/billing/cached-resolver.js +61 -0
  82. package/dist/billing/noop-resolver.d.ts +6 -0
  83. package/dist/billing/noop-resolver.js +7 -0
  84. package/dist/billing/noop-run-charge.d.ts +6 -0
  85. package/dist/billing/noop-run-charge.js +10 -0
  86. package/dist/billing/resolver.d.ts +64 -0
  87. package/dist/billing/resolver.js +24 -0
  88. package/dist/billing/run-charge.d.ts +24 -0
  89. package/dist/billing/run-charge.js +9 -0
  90. package/dist/config/resource-limits.d.ts +76 -0
  91. package/dist/config/resource-limits.js +116 -0
  92. package/dist/contracts/analogy-report.d.ts +120 -0
  93. package/dist/contracts/analogy-report.js +50 -0
  94. package/dist/contracts/chat-events.d.ts +61 -0
  95. package/dist/contracts/chat-events.js +13 -0
  96. package/dist/contracts/chat-parts.d.ts +308 -0
  97. package/dist/contracts/chat-parts.js +13 -0
  98. package/dist/contracts/content-url.d.ts +49 -0
  99. package/dist/contracts/content-url.js +56 -0
  100. package/dist/contracts/index.d.ts +12 -0
  101. package/dist/contracts/index.js +5 -0
  102. package/dist/contracts/message.d.ts +36 -0
  103. package/dist/contracts/message.js +9 -0
  104. package/dist/contracts/part-registry.d.ts +18 -0
  105. package/dist/contracts/part-registry.js +28 -0
  106. package/dist/contracts/schemas/chat-events.d.ts +90 -0
  107. package/dist/contracts/schemas/chat-events.js +43 -0
  108. package/dist/contracts/schemas/chat-parts.d.ts +683 -0
  109. package/dist/contracts/schemas/chat-parts.js +295 -0
  110. package/dist/contracts/schemas/index.d.ts +2 -0
  111. package/dist/contracts/schemas/index.js +2 -0
  112. package/dist/contracts/target-assessment-row.d.ts +85 -0
  113. package/dist/contracts/target-assessment-row.js +37 -0
  114. package/dist/contracts/target-dossier.d.ts +16720 -0
  115. package/dist/contracts/target-dossier.js +1339 -0
  116. package/dist/data/clinical-benchmarks.json +108 -0
  117. package/dist/data/protein-family-modality.json +101 -0
  118. package/dist/data/safety-panel-schema.d.ts +64 -0
  119. package/dist/data/safety-panel-schema.js +34 -0
  120. package/dist/data/safety-panel.json +436 -0
  121. package/dist/execution/artifact-metadata.d.ts +74 -0
  122. package/dist/execution/artifact-metadata.js +203 -0
  123. package/dist/execution/artifact-record.d.ts +19 -0
  124. package/dist/execution/artifact-record.js +7 -0
  125. package/dist/execution/artifact-registration.d.ts +36 -0
  126. package/dist/execution/artifact-registration.js +61 -0
  127. package/dist/execution/artifact-registry.d.ts +82 -0
  128. package/dist/execution/artifact-registry.js +17 -0
  129. package/dist/execution/dbos-run-launcher.d.ts +7 -0
  130. package/dist/execution/dbos-run-launcher.js +38 -0
  131. package/dist/execution/ephemeral-runner.d.ts +81 -0
  132. package/dist/execution/ephemeral-runner.js +161 -0
  133. package/dist/execution/filesystem-artifact-registry.d.ts +57 -0
  134. package/dist/execution/filesystem-artifact-registry.js +92 -0
  135. package/dist/execution/noop-artifact-registry.d.ts +11 -0
  136. package/dist/execution/noop-artifact-registry.js +17 -0
  137. package/dist/execution/post-step-pipeline.d.ts +70 -0
  138. package/dist/execution/post-step-pipeline.js +207 -0
  139. package/dist/execution/post-step.d.ts +20 -0
  140. package/dist/execution/post-step.js +65 -0
  141. package/dist/execution/reconcile-manifest.d.ts +25 -0
  142. package/dist/execution/reconcile-manifest.js +132 -0
  143. package/dist/execution/report-render.d.ts +39 -0
  144. package/dist/execution/report-render.js +98 -0
  145. package/dist/execution/report-runner.d.ts +87 -0
  146. package/dist/execution/report-runner.js +227 -0
  147. package/dist/execution/run-authorizer.d.ts +43 -0
  148. package/dist/execution/run-authorizer.js +17 -0
  149. package/dist/execution/run-launcher.d.ts +36 -0
  150. package/dist/execution/run-launcher.js +15 -0
  151. package/dist/execution/run-synthesis.d.ts +107 -0
  152. package/dist/execution/run-synthesis.js +329 -0
  153. package/dist/execution/staged-input.d.ts +41 -0
  154. package/dist/execution/staged-input.js +15 -0
  155. package/dist/execution/step-summary-metrics.d.ts +10 -0
  156. package/dist/execution/step-summary-metrics.js +22 -0
  157. package/dist/execution/step-summary.d.ts +55 -0
  158. package/dist/execution/step-summary.js +106 -0
  159. package/dist/execution/topo-sort.d.ts +33 -0
  160. package/dist/execution/topo-sort.js +99 -0
  161. package/dist/index.d.ts +112 -0
  162. package/dist/index.js +157 -0
  163. package/dist/input-sanitization.d.ts +22 -0
  164. package/dist/input-sanitization.js +64 -0
  165. package/dist/lib/async-utils.d.ts +10 -0
  166. package/dist/lib/async-utils.js +24 -0
  167. package/dist/lib/chrome.d.ts +15 -0
  168. package/dist/lib/chrome.js +95 -0
  169. package/dist/lib/db-result.d.ts +93 -0
  170. package/dist/lib/db-result.js +197 -0
  171. package/dist/lib/fs-helpers.d.ts +74 -0
  172. package/dist/lib/fs-helpers.js +119 -0
  173. package/dist/lib/fs-result.d.ts +98 -0
  174. package/dist/lib/fs-result.js +137 -0
  175. package/dist/lib/host-concurrency.d.ts +16 -0
  176. package/dist/lib/host-concurrency.js +60 -0
  177. package/dist/lib/identifiers.d.ts +8 -0
  178. package/dist/lib/identifiers.js +10 -0
  179. package/dist/lib/metrics.d.ts +7 -0
  180. package/dist/lib/metrics.js +12 -0
  181. package/dist/lib/mime-detect.d.ts +17 -0
  182. package/dist/lib/mime-detect.js +29 -0
  183. package/dist/lib/otel.d.ts +30 -0
  184. package/dist/lib/otel.js +102 -0
  185. package/dist/lib/regulatory-corpus/fetch-fda-guidance.d.ts +35 -0
  186. package/dist/lib/regulatory-corpus/fetch-fda-guidance.js +107 -0
  187. package/dist/lib/regulatory-corpus/fetch-ich.d.ts +46 -0
  188. package/dist/lib/regulatory-corpus/fetch-ich.js +173 -0
  189. package/dist/lib/regulatory-corpus.d.ts +88 -0
  190. package/dist/lib/regulatory-corpus.js +141 -0
  191. package/dist/lib/result.d.ts +87 -0
  192. package/dist/lib/result.js +103 -0
  193. package/dist/lib/storage.d.ts +29 -0
  194. package/dist/lib/storage.js +37 -0
  195. package/dist/lib/streamed-download.d.ts +28 -0
  196. package/dist/lib/streamed-download.js +111 -0
  197. package/dist/lib/trace-context.d.ts +11 -0
  198. package/dist/lib/trace-context.js +49 -0
  199. package/dist/loop/__fixtures__/scripted-provider.d.ts +31 -0
  200. package/dist/loop/__fixtures__/scripted-provider.js +57 -0
  201. package/dist/loop/budget-exceeded.d.ts +22 -0
  202. package/dist/loop/budget-exceeded.js +41 -0
  203. package/dist/loop/metrics.d.ts +25 -0
  204. package/dist/loop/metrics.js +46 -0
  205. package/dist/loop/run-agent.d.ts +28 -0
  206. package/dist/loop/run-agent.js +204 -0
  207. package/dist/loop/run-step.d.ts +29 -0
  208. package/dist/loop/run-step.js +34 -0
  209. package/dist/loop/run-to-terminal.d.ts +46 -0
  210. package/dist/loop/run-to-terminal.js +51 -0
  211. package/dist/loop/types.d.ts +95 -0
  212. package/dist/loop/types.js +10 -0
  213. package/dist/memory/ai-sdk-message-storage.d.ts +20 -0
  214. package/dist/memory/ai-sdk-message-storage.js +114 -0
  215. package/dist/memory/card-builders.d.ts +114 -0
  216. package/dist/memory/card-builders.js +231 -0
  217. package/dist/memory/content-to-cortex.d.ts +42 -0
  218. package/dist/memory/content-to-cortex.js +85 -0
  219. package/dist/memory/count-tokens.d.ts +18 -0
  220. package/dist/memory/count-tokens.js +64 -0
  221. package/dist/memory/derive-thread-title.d.ts +14 -0
  222. package/dist/memory/derive-thread-title.js +26 -0
  223. package/dist/memory/message-backfill.d.ts +2 -0
  224. package/dist/memory/message-backfill.js +38 -0
  225. package/dist/memory/reconstruct-cards.d.ts +23 -0
  226. package/dist/memory/reconstruct-cards.js +64 -0
  227. package/dist/memory/thread-history.d.ts +80 -0
  228. package/dist/memory/thread-history.js +187 -0
  229. package/dist/memory/thread-store.d.ts +66 -0
  230. package/dist/memory/thread-store.js +88 -0
  231. package/dist/memory/working-memory.d.ts +135 -0
  232. package/dist/memory/working-memory.js +185 -0
  233. package/dist/prompts/SOUL.d.ts +17 -0
  234. package/dist/prompts/SOUL.js +173 -0
  235. package/dist/prompts/analogical-reasoner.d.ts +1 -0
  236. package/dist/prompts/analogical-reasoner.js +170 -0
  237. package/dist/prompts/conversation.d.ts +1 -0
  238. package/dist/prompts/conversation.js +697 -0
  239. package/dist/prompts/execute-analysis/step-summary.d.ts +1 -0
  240. package/dist/prompts/execute-analysis/step-summary.js +38 -0
  241. package/dist/prompts/literature-reviewer.d.ts +1 -0
  242. package/dist/prompts/literature-reviewer.js +107 -0
  243. package/dist/prompts/planner.d.ts +2 -0
  244. package/dist/prompts/planner.js +259 -0
  245. package/dist/prompts/report-builder.d.ts +1 -0
  246. package/dist/prompts/report-builder.js +127 -0
  247. package/dist/prompts/sandbox/bulk-transcriptomics-agent.d.ts +1 -0
  248. package/dist/prompts/sandbox/bulk-transcriptomics-agent.js +78 -0
  249. package/dist/prompts/sandbox/cheminformatics-agent.d.ts +1 -0
  250. package/dist/prompts/sandbox/cheminformatics-agent.js +224 -0
  251. package/dist/prompts/sandbox/chromatin-agent.d.ts +1 -0
  252. package/dist/prompts/sandbox/chromatin-agent.js +100 -0
  253. package/dist/prompts/sandbox/data-profiler.d.ts +1 -0
  254. package/dist/prompts/sandbox/data-profiler.js +291 -0
  255. package/dist/prompts/sandbox/dna-methylation-agent.d.ts +1 -0
  256. package/dist/prompts/sandbox/dna-methylation-agent.js +96 -0
  257. package/dist/prompts/sandbox/drug-repurposing-agent.d.ts +1 -0
  258. package/dist/prompts/sandbox/drug-repurposing-agent.js +144 -0
  259. package/dist/prompts/sandbox/enrichment-agent.d.ts +1 -0
  260. package/dist/prompts/sandbox/enrichment-agent.js +89 -0
  261. package/dist/prompts/sandbox/ephemeral-executor.d.ts +1 -0
  262. package/dist/prompts/sandbox/ephemeral-executor.js +66 -0
  263. package/dist/prompts/sandbox/genomic-variant-agent.d.ts +1 -0
  264. package/dist/prompts/sandbox/genomic-variant-agent.js +83 -0
  265. package/dist/prompts/sandbox/immune-profiling-agent.d.ts +1 -0
  266. package/dist/prompts/sandbox/immune-profiling-agent.js +101 -0
  267. package/dist/prompts/sandbox/metabolomics-agent.d.ts +1 -0
  268. package/dist/prompts/sandbox/metabolomics-agent.js +89 -0
  269. package/dist/prompts/sandbox/microbiome-agent.d.ts +1 -0
  270. package/dist/prompts/sandbox/microbiome-agent.js +109 -0
  271. package/dist/prompts/sandbox/multi-omics-integration-agent.d.ts +1 -0
  272. package/dist/prompts/sandbox/multi-omics-integration-agent.js +122 -0
  273. package/dist/prompts/sandbox/multimodal-sc-agent.d.ts +1 -0
  274. package/dist/prompts/sandbox/multimodal-sc-agent.js +90 -0
  275. package/dist/prompts/sandbox/network-agent.d.ts +1 -0
  276. package/dist/prompts/sandbox/network-agent.js +95 -0
  277. package/dist/prompts/sandbox/pkpd-clinical-response-agent.d.ts +1 -0
  278. package/dist/prompts/sandbox/pkpd-clinical-response-agent.js +71 -0
  279. package/dist/prompts/sandbox/proteomics-agent.d.ts +1 -0
  280. package/dist/prompts/sandbox/proteomics-agent.js +93 -0
  281. package/dist/prompts/sandbox/scientific-executor.d.ts +1 -0
  282. package/dist/prompts/sandbox/scientific-executor.js +68 -0
  283. package/dist/prompts/sandbox/single-cell-agent.d.ts +1 -0
  284. package/dist/prompts/sandbox/single-cell-agent.js +129 -0
  285. package/dist/prompts/sandbox/spatial-omics-agent.d.ts +1 -0
  286. package/dist/prompts/sandbox/spatial-omics-agent.js +94 -0
  287. package/dist/prompts/sandbox/statistical-modeling-agent.d.ts +1 -0
  288. package/dist/prompts/sandbox/statistical-modeling-agent.js +112 -0
  289. package/dist/prompts/sandbox/translational-safety-agent.d.ts +1 -0
  290. package/dist/prompts/sandbox/translational-safety-agent.js +105 -0
  291. package/dist/prompts/sandbox-standards.d.ts +18 -0
  292. package/dist/prompts/sandbox-standards.js +358 -0
  293. package/dist/prompts/synthesis-agent.d.ts +1 -0
  294. package/dist/prompts/synthesis-agent.js +289 -0
  295. package/dist/prompts/target-assessment/briefs/executive-recommendation.d.ts +1 -0
  296. package/dist/prompts/target-assessment/briefs/executive-recommendation.js +85 -0
  297. package/dist/prompts/target-assessment/briefs/index.d.ts +4 -0
  298. package/dist/prompts/target-assessment/briefs/index.js +4 -0
  299. package/dist/prompts/target-assessment/briefs/liability-bullets.d.ts +1 -0
  300. package/dist/prompts/target-assessment/briefs/liability-bullets.js +114 -0
  301. package/dist/prompts/target-assessment/briefs/target-organ-liabilities.d.ts +1 -0
  302. package/dist/prompts/target-assessment/briefs/target-organ-liabilities.js +29 -0
  303. package/dist/prompts/target-assessment/briefs/translational-commentary.d.ts +1 -0
  304. package/dist/prompts/target-assessment/briefs/translational-commentary.js +23 -0
  305. package/dist/prompts/target-assessment/drugs-in-class.d.ts +1 -0
  306. package/dist/prompts/target-assessment/drugs-in-class.js +29 -0
  307. package/dist/prompts/target-assessment/modulator-triage.d.ts +1 -0
  308. package/dist/prompts/target-assessment/modulator-triage.js +31 -0
  309. package/dist/prompts/target-assessment/off-target-annotator.d.ts +1 -0
  310. package/dist/prompts/target-assessment/off-target-annotator.js +28 -0
  311. package/dist/prompts/target-assessment/tox-voice/core.d.ts +1 -0
  312. package/dist/prompts/target-assessment/tox-voice/core.js +74 -0
  313. package/dist/prompts/target-assessment/tox-voice/critique.d.ts +7 -0
  314. package/dist/prompts/target-assessment/tox-voice/critique.js +109 -0
  315. package/dist/prompts/target-assessment/tox-voice/exemplars.d.ts +8 -0
  316. package/dist/prompts/target-assessment/tox-voice/exemplars.js +24 -0
  317. package/dist/prompts/target-assessment/tox-voice/index.d.ts +4 -0
  318. package/dist/prompts/target-assessment/tox-voice/index.js +4 -0
  319. package/dist/prompts/target-assessment/tox-voice/vocabulary.d.ts +15 -0
  320. package/dist/prompts/target-assessment/tox-voice/vocabulary.js +72 -0
  321. package/dist/provenance/collector.d.ts +148 -0
  322. package/dist/provenance/collector.js +296 -0
  323. package/dist/provenance/exec-frame.d.ts +36 -0
  324. package/dist/provenance/exec-frame.js +49 -0
  325. package/dist/provenance/types.d.ts +95 -0
  326. package/dist/provenance/types.js +64 -0
  327. package/dist/providers/__fixtures__/session.d.ts +16 -0
  328. package/dist/providers/__fixtures__/session.js +20 -0
  329. package/dist/providers/ai-sdk.d.ts +47 -0
  330. package/dist/providers/ai-sdk.js +142 -0
  331. package/dist/providers/anthropic.d.ts +22 -0
  332. package/dist/providers/anthropic.js +26 -0
  333. package/dist/providers/embedding.d.ts +32 -0
  334. package/dist/providers/embedding.js +42 -0
  335. package/dist/providers/errors.d.ts +80 -0
  336. package/dist/providers/errors.js +137 -0
  337. package/dist/providers/llm-capabilities.d.ts +33 -0
  338. package/dist/providers/llm-capabilities.js +58 -0
  339. package/dist/providers/streaming-chat.d.ts +23 -0
  340. package/dist/providers/streaming-chat.js +61 -0
  341. package/dist/providers/types.d.ts +59 -0
  342. package/dist/providers/types.js +8 -0
  343. package/dist/runtime/assemble.d.ts +68 -0
  344. package/dist/runtime/assemble.js +46 -0
  345. package/dist/runtime/boot.d.ts +73 -0
  346. package/dist/runtime/boot.js +65 -0
  347. package/dist/runtime/connection-budget.d.ts +48 -0
  348. package/dist/runtime/connection-budget.js +57 -0
  349. package/dist/runtime/dbos.d.ts +94 -0
  350. package/dist/runtime/dbos.js +160 -0
  351. package/dist/runtime/lifecycle.d.ts +12 -0
  352. package/dist/runtime/lifecycle.js +19 -0
  353. package/dist/runtime/pools.d.ts +25 -0
  354. package/dist/runtime/pools.js +30 -0
  355. package/dist/runtime/shutdown.d.ts +33 -0
  356. package/dist/runtime/shutdown.js +39 -0
  357. package/dist/sandbox/await-exec.d.ts +143 -0
  358. package/dist/sandbox/await-exec.js +406 -0
  359. package/dist/sandbox/client.d.ts +82 -0
  360. package/dist/sandbox/client.js +23 -0
  361. package/dist/sandbox/create-sandbox.d.ts +105 -0
  362. package/dist/sandbox/create-sandbox.js +132 -0
  363. package/dist/sandbox/deliver-exec-event.d.ts +25 -0
  364. package/dist/sandbox/deliver-exec-event.js +29 -0
  365. package/dist/sandbox/docker-client.d.ts +75 -0
  366. package/dist/sandbox/docker-client.js +315 -0
  367. package/dist/sandbox/estimate-data-profile-resources.d.ts +5 -0
  368. package/dist/sandbox/estimate-data-profile-resources.js +73 -0
  369. package/dist/sandbox/exec-id.d.ts +12 -0
  370. package/dist/sandbox/exec-id.js +20 -0
  371. package/dist/sandbox/execution-id.d.ts +30 -0
  372. package/dist/sandbox/execution-id.js +47 -0
  373. package/dist/sandbox/hmac.d.ts +54 -0
  374. package/dist/sandbox/hmac.js +67 -0
  375. package/dist/sandbox/identity.d.ts +15 -0
  376. package/dist/sandbox/identity.js +22 -0
  377. package/dist/sandbox/ignored-dirs.d.ts +7 -0
  378. package/dist/sandbox/ignored-dirs.js +7 -0
  379. package/dist/sandbox/k8s-client.d.ts +71 -0
  380. package/dist/sandbox/k8s-client.js +488 -0
  381. package/dist/sandbox/liveness.d.ts +60 -0
  382. package/dist/sandbox/liveness.js +82 -0
  383. package/dist/sandbox/mount-plan.d.ts +77 -0
  384. package/dist/sandbox/mount-plan.js +84 -0
  385. package/dist/sandbox/notification-sweep.d.ts +42 -0
  386. package/dist/sandbox/notification-sweep.js +74 -0
  387. package/dist/sandbox/reaper.d.ts +70 -0
  388. package/dist/sandbox/reaper.js +124 -0
  389. package/dist/sandbox/sandbox-error.d.ts +105 -0
  390. package/dist/sandbox/sandbox-error.js +92 -0
  391. package/dist/sandbox/sandbox-step-translate.d.ts +35 -0
  392. package/dist/sandbox/sandbox-step-translate.js +76 -0
  393. package/dist/sandbox/submit-exec.d.ts +33 -0
  394. package/dist/sandbox/submit-exec.js +68 -0
  395. package/dist/sandbox/types.d.ts +277 -0
  396. package/dist/sandbox/types.js +147 -0
  397. package/dist/sandbox/watchdog.d.ts +71 -0
  398. package/dist/sandbox/watchdog.js +150 -0
  399. package/dist/schemas/artifact-manifest.d.ts +34 -0
  400. package/dist/schemas/artifact-manifest.js +36 -0
  401. package/dist/schemas/data-profile-schemas.d.ts +92 -0
  402. package/dist/schemas/data-profile-schemas.js +89 -0
  403. package/dist/schemas/file-metadata.d.ts +51 -0
  404. package/dist/schemas/file-metadata.js +39 -0
  405. package/dist/schemas/plan-schemas.d.ts +110 -0
  406. package/dist/schemas/plan-schemas.js +50 -0
  407. package/dist/schemas/render-step-prompt.d.ts +32 -0
  408. package/dist/schemas/render-step-prompt.js +76 -0
  409. package/dist/schemas/run-synthesis.d.ts +148 -0
  410. package/dist/schemas/run-synthesis.js +87 -0
  411. package/dist/schemas/step-summary.d.ts +18 -0
  412. package/dist/schemas/step-summary.js +20 -0
  413. package/dist/schemas/validate-plan.d.ts +39 -0
  414. package/dist/schemas/validate-plan.js +120 -0
  415. package/dist/schemas/workflow-state.d.ts +314 -0
  416. package/dist/schemas/workflow-state.js +139 -0
  417. package/dist/state/active-sandboxes.d.ts +58 -0
  418. package/dist/state/active-sandboxes.js +100 -0
  419. package/dist/state/analyses-metrics.d.ts +21 -0
  420. package/dist/state/analyses-metrics.js +59 -0
  421. package/dist/state/analyses.d.ts +58 -0
  422. package/dist/state/analyses.js +132 -0
  423. package/dist/state/artifacts.d.ts +53 -0
  424. package/dist/state/artifacts.js +175 -0
  425. package/dist/state/data-profile.d.ts +176 -0
  426. package/dist/state/data-profile.js +284 -0
  427. package/dist/state/db.d.ts +10 -0
  428. package/dist/state/db.js +9 -0
  429. package/dist/state/index.d.ts +29 -0
  430. package/dist/state/index.js +20 -0
  431. package/dist/state/init.d.ts +14 -0
  432. package/dist/state/init.js +406 -0
  433. package/dist/state/plans.d.ts +56 -0
  434. package/dist/state/plans.js +117 -0
  435. package/dist/state/runs.d.ts +69 -0
  436. package/dist/state/runs.js +206 -0
  437. package/dist/state/schema.d.ts +150 -0
  438. package/dist/state/schema.js +100 -0
  439. package/dist/state/step-executions.d.ts +77 -0
  440. package/dist/state/step-executions.js +175 -0
  441. package/dist/state/target-assessments.d.ts +68 -0
  442. package/dist/state/target-assessments.js +222 -0
  443. package/dist/state/vector-store.d.ts +53 -0
  444. package/dist/state/vector-store.js +89 -0
  445. package/dist/tasks/data-profile.d.ts +171 -0
  446. package/dist/tasks/data-profile.js +461 -0
  447. package/dist/tasks/refresh-regulatory-corpus.d.ts +59 -0
  448. package/dist/tasks/refresh-regulatory-corpus.js +146 -0
  449. package/dist/tasks/regulatory-corpus-boot-refresh.d.ts +55 -0
  450. package/dist/tasks/regulatory-corpus-boot-refresh.js +149 -0
  451. package/dist/tools/__fixtures__/tool-context.d.ts +13 -0
  452. package/dist/tools/__fixtures__/tool-context.js +18 -0
  453. package/dist/tools/bio/check-safety-panel.d.ts +35 -0
  454. package/dist/tools/bio/check-safety-panel.js +76 -0
  455. package/dist/tools/bio/find-approval-precedent.d.ts +32 -0
  456. package/dist/tools/bio/find-approval-precedent.js +72 -0
  457. package/dist/tools/bio/get-article-details.d.ts +11 -0
  458. package/dist/tools/bio/get-article-details.js +20 -0
  459. package/dist/tools/bio/get-article-full-text.d.ts +19 -0
  460. package/dist/tools/bio/get-article-full-text.js +32 -0
  461. package/dist/tools/bio/get-bioactivity.d.ts +11 -0
  462. package/dist/tools/bio/get-bioactivity.js +23 -0
  463. package/dist/tools/bio/get-drug-info.d.ts +9 -0
  464. package/dist/tools/bio/get-drug-info.js +22 -0
  465. package/dist/tools/bio/get-impc-ko-profile.d.ts +9 -0
  466. package/dist/tools/bio/get-impc-ko-profile.js +20 -0
  467. package/dist/tools/bio/get-mechanism.d.ts +8 -0
  468. package/dist/tools/bio/get-mechanism.js +18 -0
  469. package/dist/tools/bio/get-pubchem-assays.d.ts +22 -0
  470. package/dist/tools/bio/get-pubchem-assays.js +107 -0
  471. package/dist/tools/bio/get-pubchem-cross-refs.d.ts +15 -0
  472. package/dist/tools/bio/get-pubchem-cross-refs.js +68 -0
  473. package/dist/tools/bio/get-target-safety.d.ts +18 -0
  474. package/dist/tools/bio/get-target-safety.js +26 -0
  475. package/dist/tools/bio/index.d.ts +41 -0
  476. package/dist/tools/bio/index.js +48 -0
  477. package/dist/tools/bio/keys.d.ts +31 -0
  478. package/dist/tools/bio/keys.js +30 -0
  479. package/dist/tools/bio/lookup-go-term.d.ts +31 -0
  480. package/dist/tools/bio/lookup-go-term.js +116 -0
  481. package/dist/tools/bio/search-bgee-expression.d.ts +10 -0
  482. package/dist/tools/bio/search-bgee-expression.js +24 -0
  483. package/dist/tools/bio/search-clinical-trials.d.ts +12 -0
  484. package/dist/tools/bio/search-clinical-trials.js +21 -0
  485. package/dist/tools/bio/search-clinvar.d.ts +13 -0
  486. package/dist/tools/bio/search-clinvar.js +28 -0
  487. package/dist/tools/bio/search-compounds.d.ts +22 -0
  488. package/dist/tools/bio/search-compounds.js +160 -0
  489. package/dist/tools/bio/search-ctx-chemical.d.ts +50 -0
  490. package/dist/tools/bio/search-ctx-chemical.js +130 -0
  491. package/dist/tools/bio/search-ctx-exposure.d.ts +55 -0
  492. package/dist/tools/bio/search-ctx-exposure.js +176 -0
  493. package/dist/tools/bio/search-ctx-hazard.d.ts +111 -0
  494. package/dist/tools/bio/search-ctx-hazard.js +178 -0
  495. package/dist/tools/bio/search-dgidb.d.ts +43 -0
  496. package/dist/tools/bio/search-dgidb.js +199 -0
  497. package/dist/tools/bio/search-disgenet.d.ts +30 -0
  498. package/dist/tools/bio/search-disgenet.js +84 -0
  499. package/dist/tools/bio/search-drugbank.d.ts +38 -0
  500. package/dist/tools/bio/search-drugbank.js +109 -0
  501. package/dist/tools/bio/search-faers.d.ts +11 -0
  502. package/dist/tools/bio/search-faers.js +23 -0
  503. package/dist/tools/bio/search-gene.d.ts +11 -0
  504. package/dist/tools/bio/search-gene.js +19 -0
  505. package/dist/tools/bio/search-geo-datasets.d.ts +20 -0
  506. package/dist/tools/bio/search-geo-datasets.js +86 -0
  507. package/dist/tools/bio/search-gwas-catalog.d.ts +33 -0
  508. package/dist/tools/bio/search-gwas-catalog.js +172 -0
  509. package/dist/tools/bio/search-interactions.d.ts +17 -0
  510. package/dist/tools/bio/search-interactions.js +31 -0
  511. package/dist/tools/bio/search-opentargets.d.ts +11 -0
  512. package/dist/tools/bio/search-opentargets.js +25 -0
  513. package/dist/tools/bio/search-pathway.d.ts +12 -0
  514. package/dist/tools/bio/search-pathway.js +32 -0
  515. package/dist/tools/bio/search-pharmgkb.d.ts +17 -0
  516. package/dist/tools/bio/search-pharmgkb.js +46 -0
  517. package/dist/tools/bio/search-pubchem-compound.d.ts +26 -0
  518. package/dist/tools/bio/search-pubchem-compound.js +110 -0
  519. package/dist/tools/bio/search-pubmed.d.ts +17 -0
  520. package/dist/tools/bio/search-pubmed.js +31 -0
  521. package/dist/tools/bio/search-targets.d.ts +9 -0
  522. package/dist/tools/bio/search-targets.js +20 -0
  523. package/dist/tools/bio/search-toxcast.d.ts +36 -0
  524. package/dist/tools/bio/search-toxcast.js +141 -0
  525. package/dist/tools/define-tool.d.ts +80 -0
  526. package/dist/tools/define-tool.js +48 -0
  527. package/dist/tools/display/index.d.ts +4 -0
  528. package/dist/tools/display/index.js +4 -0
  529. package/dist/tools/display/show-user.d.ts +33 -0
  530. package/dist/tools/display/show-user.js +67 -0
  531. package/dist/tools/execute-plan.d.ts +64 -0
  532. package/dist/tools/execute-plan.js +208 -0
  533. package/dist/tools/iterate-report.d.ts +172 -0
  534. package/dist/tools/iterate-report.js +521 -0
  535. package/dist/tools/lib/api-utils.d.ts +80 -0
  536. package/dist/tools/lib/api-utils.js +128 -0
  537. package/dist/tools/lib/bgee-client.d.ts +36 -0
  538. package/dist/tools/lib/bgee-client.js +150 -0
  539. package/dist/tools/lib/cbioportal-client.d.ts +34 -0
  540. package/dist/tools/lib/cbioportal-client.js +159 -0
  541. package/dist/tools/lib/chembl-client.d.ts +123 -0
  542. package/dist/tools/lib/chembl-client.js +458 -0
  543. package/dist/tools/lib/chembl-config.d.ts +5 -0
  544. package/dist/tools/lib/chembl-config.js +3 -0
  545. package/dist/tools/lib/clinical-benchmarks-client.d.ts +33 -0
  546. package/dist/tools/lib/clinical-benchmarks-client.js +54 -0
  547. package/dist/tools/lib/clinical-trials-client.d.ts +216 -0
  548. package/dist/tools/lib/clinical-trials-client.js +339 -0
  549. package/dist/tools/lib/clinicaltrials-config.d.ts +4 -0
  550. package/dist/tools/lib/clinicaltrials-config.js +2 -0
  551. package/dist/tools/lib/clinvar-client.d.ts +25 -0
  552. package/dist/tools/lib/clinvar-client.js +126 -0
  553. package/dist/tools/lib/disgenet-config.d.ts +2 -0
  554. package/dist/tools/lib/disgenet-config.js +11 -0
  555. package/dist/tools/lib/drugbank-config.d.ts +2 -0
  556. package/dist/tools/lib/drugbank-config.js +12 -0
  557. package/dist/tools/lib/ema-client.d.ts +45 -0
  558. package/dist/tools/lib/ema-client.js +127 -0
  559. package/dist/tools/lib/ema-config.d.ts +7 -0
  560. package/dist/tools/lib/ema-config.js +7 -0
  561. package/dist/tools/lib/ensembl-client.d.ts +27 -0
  562. package/dist/tools/lib/ensembl-client.js +82 -0
  563. package/dist/tools/lib/gwas-catalog-config.d.ts +4 -0
  564. package/dist/tools/lib/gwas-catalog-config.js +2 -0
  565. package/dist/tools/lib/identifier-resolver.d.ts +85 -0
  566. package/dist/tools/lib/identifier-resolver.js +333 -0
  567. package/dist/tools/lib/impc-client.d.ts +44 -0
  568. package/dist/tools/lib/impc-client.js +239 -0
  569. package/dist/tools/lib/iuphar-client.d.ts +75 -0
  570. package/dist/tools/lib/iuphar-client.js +230 -0
  571. package/dist/tools/lib/iuphar-config.d.ts +5 -0
  572. package/dist/tools/lib/iuphar-config.js +3 -0
  573. package/dist/tools/lib/ncbi-utils.d.ts +58 -0
  574. package/dist/tools/lib/ncbi-utils.js +286 -0
  575. package/dist/tools/lib/openfda-client.d.ts +53 -0
  576. package/dist/tools/lib/openfda-client.js +192 -0
  577. package/dist/tools/lib/openfda-config.d.ts +2 -0
  578. package/dist/tools/lib/openfda-config.js +2 -0
  579. package/dist/tools/lib/opentargets-client.d.ts +64 -0
  580. package/dist/tools/lib/opentargets-client.js +290 -0
  581. package/dist/tools/lib/opentargets-config.d.ts +5 -0
  582. package/dist/tools/lib/opentargets-config.js +5 -0
  583. package/dist/tools/lib/path-validation.d.ts +14 -0
  584. package/dist/tools/lib/path-validation.js +26 -0
  585. package/dist/tools/lib/pathway-client.d.ts +27 -0
  586. package/dist/tools/lib/pathway-client.js +149 -0
  587. package/dist/tools/lib/pharmgkb-config.d.ts +4 -0
  588. package/dist/tools/lib/pharmgkb-config.js +2 -0
  589. package/dist/tools/lib/preview-lock.d.ts +20 -0
  590. package/dist/tools/lib/preview-lock.js +35 -0
  591. package/dist/tools/lib/protein-family-modality.d.ts +16 -0
  592. package/dist/tools/lib/protein-family-modality.js +42 -0
  593. package/dist/tools/lib/protein-family-normalize.d.ts +12 -0
  594. package/dist/tools/lib/protein-family-normalize.js +46 -0
  595. package/dist/tools/lib/pubchem-client.d.ts +40 -0
  596. package/dist/tools/lib/pubchem-client.js +128 -0
  597. package/dist/tools/lib/pubchem-config.d.ts +5 -0
  598. package/dist/tools/lib/pubchem-config.js +3 -0
  599. package/dist/tools/lib/pubmed-client.d.ts +28 -0
  600. package/dist/tools/lib/pubmed-client.js +91 -0
  601. package/dist/tools/lib/report-preflight.d.ts +39 -0
  602. package/dist/tools/lib/report-preflight.js +283 -0
  603. package/dist/tools/lib/string-client.d.ts +33 -0
  604. package/dist/tools/lib/string-client.js +93 -0
  605. package/dist/tools/lib/toxcast-config.d.ts +2 -0
  606. package/dist/tools/lib/toxcast-config.js +11 -0
  607. package/dist/tools/lib/uniprot-client.d.ts +28 -0
  608. package/dist/tools/lib/uniprot-client.js +103 -0
  609. package/dist/tools/lib/uniprot-config.d.ts +5 -0
  610. package/dist/tools/lib/uniprot-config.js +3 -0
  611. package/dist/tools/memory/index.d.ts +4 -0
  612. package/dist/tools/memory/index.js +4 -0
  613. package/dist/tools/memory/update-working-memory.d.ts +25 -0
  614. package/dist/tools/memory/update-working-memory.js +112 -0
  615. package/dist/tools/registry.d.ts +15 -0
  616. package/dist/tools/registry.js +26 -0
  617. package/dist/tools/report/build-report.d.ts +13 -0
  618. package/dist/tools/report/build-report.js +26 -0
  619. package/dist/tools/report/index.d.ts +14 -0
  620. package/dist/tools/report/index.js +14 -0
  621. package/dist/tools/report/mint-preview-url.d.ts +26 -0
  622. package/dist/tools/report/mint-preview-url.js +44 -0
  623. package/dist/tools/report/preview-publisher.d.ts +37 -0
  624. package/dist/tools/report/preview-publisher.js +25 -0
  625. package/dist/tools/report/preview-snapshot.d.ts +26 -0
  626. package/dist/tools/report/preview-snapshot.js +121 -0
  627. package/dist/tools/report/submit-report.d.ts +25 -0
  628. package/dist/tools/report/submit-report.js +126 -0
  629. package/dist/tools/report/version-fs.d.ts +15 -0
  630. package/dist/tools/report/version-fs.js +154 -0
  631. package/dist/tools/research/context7-docs.d.ts +31 -0
  632. package/dist/tools/research/context7-docs.js +61 -0
  633. package/dist/tools/research/generate-analogy-report.d.ts +60 -0
  634. package/dist/tools/research/generate-analogy-report.js +288 -0
  635. package/dist/tools/research/generate-plan.d.ts +39 -0
  636. package/dist/tools/research/generate-plan.js +393 -0
  637. package/dist/tools/research/index.d.ts +15 -0
  638. package/dist/tools/research/index.js +15 -0
  639. package/dist/tools/research/inspect-run.d.ts +54 -0
  640. package/dist/tools/research/inspect-run.js +85 -0
  641. package/dist/tools/research/literature-reviewer.d.ts +29 -0
  642. package/dist/tools/research/literature-reviewer.js +84 -0
  643. package/dist/tools/research/search-arxiv.d.ts +32 -0
  644. package/dist/tools/research/search-arxiv.js +123 -0
  645. package/dist/tools/research/search-github-repos.d.ts +32 -0
  646. package/dist/tools/research/search-github-repos.js +86 -0
  647. package/dist/tools/research/search-semantic-scholar.d.ts +33 -0
  648. package/dist/tools/research/search-semantic-scholar.js +93 -0
  649. package/dist/tools/run-ephemeral.d.ts +33 -0
  650. package/dist/tools/run-ephemeral.js +65 -0
  651. package/dist/tools/sandbox/index.d.ts +7 -0
  652. package/dist/tools/sandbox/index.js +7 -0
  653. package/dist/tools/sandbox/list-available-packages.d.ts +7 -0
  654. package/dist/tools/sandbox/list-available-packages.js +27 -0
  655. package/dist/tools/sandbox/list-available-refs.d.ts +7 -0
  656. package/dist/tools/sandbox/list-available-refs.js +147 -0
  657. package/dist/tools/sandbox/report-blocker.d.ts +23 -0
  658. package/dist/tools/sandbox/report-blocker.js +39 -0
  659. package/dist/tools/sandbox/skills.d.ts +72 -0
  660. package/dist/tools/sandbox/skills.js +144 -0
  661. package/dist/tools/workspace/edit-file.d.ts +46 -0
  662. package/dist/tools/workspace/edit-file.js +100 -0
  663. package/dist/tools/workspace/execute-command.d.ts +80 -0
  664. package/dist/tools/workspace/execute-command.js +95 -0
  665. package/dist/tools/workspace/file-stat.d.ts +24 -0
  666. package/dist/tools/workspace/file-stat.js +37 -0
  667. package/dist/tools/workspace/grep.d.ts +57 -0
  668. package/dist/tools/workspace/grep.js +154 -0
  669. package/dist/tools/workspace/index.d.ts +26 -0
  670. package/dist/tools/workspace/index.js +27 -0
  671. package/dist/tools/workspace/list-files.d.ts +24 -0
  672. package/dist/tools/workspace/list-files.js +38 -0
  673. package/dist/tools/workspace/mutator.d.ts +83 -0
  674. package/dist/tools/workspace/mutator.js +81 -0
  675. package/dist/tools/workspace/read-file.d.ts +39 -0
  676. package/dist/tools/workspace/read-file.js +93 -0
  677. package/dist/tools/workspace/result-bounds.d.ts +42 -0
  678. package/dist/tools/workspace/result-bounds.js +50 -0
  679. package/dist/tools/workspace/run-exec.d.ts +32 -0
  680. package/dist/tools/workspace/run-exec.js +34 -0
  681. package/dist/tools/workspace/show-file.d.ts +37 -0
  682. package/dist/tools/workspace/show-file.js +54 -0
  683. package/dist/tools/workspace/show-plan.d.ts +23 -0
  684. package/dist/tools/workspace/show-plan.js +44 -0
  685. package/dist/tools/workspace/workspace-search.d.ts +25 -0
  686. package/dist/tools/workspace/workspace-search.js +78 -0
  687. package/dist/tools/workspace/write-file.d.ts +16 -0
  688. package/dist/tools/workspace/write-file.js +33 -0
  689. package/dist/workflows/execute-analysis-scheduler.d.ts +94 -0
  690. package/dist/workflows/execute-analysis-scheduler.js +186 -0
  691. package/dist/workflows/execute-analysis.d.ts +271 -0
  692. package/dist/workflows/execute-analysis.js +746 -0
  693. package/dist/workflows/execute-target-assessment.d.ts +101 -0
  694. package/dist/workflows/execute-target-assessment.js +528 -0
  695. package/dist/workflows/metrics.d.ts +37 -0
  696. package/dist/workflows/metrics.js +55 -0
  697. package/dist/workflows/plan/level.d.ts +12 -0
  698. package/dist/workflows/plan/level.js +12 -0
  699. package/dist/workflows/register-workflows.d.ts +51 -0
  700. package/dist/workflows/register-workflows.js +48 -0
  701. package/dist/workflows/resume-execute-analysis.d.ts +70 -0
  702. package/dist/workflows/resume-execute-analysis.js +80 -0
  703. package/dist/workflows/sandbox-step.d.ts +243 -0
  704. package/dist/workflows/sandbox-step.js +573 -0
  705. package/dist/workflows/target-assessment/assemblers/index.d.ts +5 -0
  706. package/dist/workflows/target-assessment/assemblers/index.js +4 -0
  707. package/dist/workflows/target-assessment/assemblers/literature.d.ts +299 -0
  708. package/dist/workflows/target-assessment/assemblers/literature.js +987 -0
  709. package/dist/workflows/target-assessment/assemblers/orchestrator.d.ts +109 -0
  710. package/dist/workflows/target-assessment/assemblers/orchestrator.js +835 -0
  711. package/dist/workflows/target-assessment/assemblers/safety.d.ts +352 -0
  712. package/dist/workflows/target-assessment/assemblers/safety.js +985 -0
  713. package/dist/workflows/target-assessment/assemblers/trials.d.ts +30 -0
  714. package/dist/workflows/target-assessment/assemblers/trials.js +75 -0
  715. package/dist/workflows/target-assessment/collectors/index.d.ts +105 -0
  716. package/dist/workflows/target-assessment/collectors/index.js +468 -0
  717. package/dist/workflows/target-assessment/correction-loop.d.ts +45 -0
  718. package/dist/workflows/target-assessment/correction-loop.js +62 -0
  719. package/dist/workflows/target-assessment/coverage.d.ts +81 -0
  720. package/dist/workflows/target-assessment/coverage.js +82 -0
  721. package/dist/workflows/target-assessment/decisions/index.d.ts +86 -0
  722. package/dist/workflows/target-assessment/decisions/index.js +127 -0
  723. package/dist/workflows/target-assessment/fanout/index.d.ts +31 -0
  724. package/dist/workflows/target-assessment/fanout/index.js +155 -0
  725. package/dist/workflows/target-assessment/lib/approval-precedents.d.ts +52 -0
  726. package/dist/workflows/target-assessment/lib/approval-precedents.js +119 -0
  727. package/dist/workflows/target-assessment/lib/citation-validator.d.ts +46 -0
  728. package/dist/workflows/target-assessment/lib/citation-validator.js +316 -0
  729. package/dist/workflows/target-assessment/lib/clinical-consequence-annotator.d.ts +62 -0
  730. package/dist/workflows/target-assessment/lib/clinical-consequence-annotator.js +172 -0
  731. package/dist/workflows/target-assessment/lib/clinical-evidence-attribution.d.ts +45 -0
  732. package/dist/workflows/target-assessment/lib/clinical-evidence-attribution.js +156 -0
  733. package/dist/workflows/target-assessment/lib/compute-derived.d.ts +19 -0
  734. package/dist/workflows/target-assessment/lib/compute-derived.js +252 -0
  735. package/dist/workflows/target-assessment/lib/compute-selectivity.d.ts +15 -0
  736. package/dist/workflows/target-assessment/lib/compute-selectivity.js +18 -0
  737. package/dist/workflows/target-assessment/lib/dedup-modulators.d.ts +37 -0
  738. package/dist/workflows/target-assessment/lib/dedup-modulators.js +157 -0
  739. package/dist/workflows/target-assessment/lib/evidence-conflict-detector.d.ts +17 -0
  740. package/dist/workflows/target-assessment/lib/evidence-conflict-detector.js +100 -0
  741. package/dist/workflows/target-assessment/lib/expression-constants.d.ts +21 -0
  742. package/dist/workflows/target-assessment/lib/expression-constants.js +21 -0
  743. package/dist/workflows/target-assessment/lib/family-complex-supplement.d.ts +21 -0
  744. package/dist/workflows/target-assessment/lib/family-complex-supplement.js +37 -0
  745. package/dist/workflows/target-assessment/lib/heterodimer-filter.d.ts +39 -0
  746. package/dist/workflows/target-assessment/lib/heterodimer-filter.js +54 -0
  747. package/dist/workflows/target-assessment/lib/intended-polypharm-filter.d.ts +4 -0
  748. package/dist/workflows/target-assessment/lib/intended-polypharm-filter.js +24 -0
  749. package/dist/workflows/target-assessment/lib/llm-step.d.ts +77 -0
  750. package/dist/workflows/target-assessment/lib/llm-step.js +99 -0
  751. package/dist/workflows/target-assessment/lib/meddra-organ-map.d.ts +30 -0
  752. package/dist/workflows/target-assessment/lib/meddra-organ-map.js +126 -0
  753. package/dist/workflows/target-assessment/lib/recommendation-quality-gates.d.ts +17 -0
  754. package/dist/workflows/target-assessment/lib/recommendation-quality-gates.js +99 -0
  755. package/dist/workflows/target-assessment/lib/recommendation-sanitizer.d.ts +2 -0
  756. package/dist/workflows/target-assessment/lib/recommendation-sanitizer.js +51 -0
  757. package/dist/workflows/target-assessment/lib/regulatory-actions.d.ts +26 -0
  758. package/dist/workflows/target-assessment/lib/regulatory-actions.js +147 -0
  759. package/dist/workflows/target-assessment/lib/structured-llm.d.ts +58 -0
  760. package/dist/workflows/target-assessment/lib/structured-llm.js +101 -0
  761. package/dist/workflows/target-assessment/lib/target-identity-filter.d.ts +60 -0
  762. package/dist/workflows/target-assessment/lib/target-identity-filter.js +86 -0
  763. package/dist/workflows/target-assessment/lib/therapeutic-programs.d.ts +20 -0
  764. package/dist/workflows/target-assessment/lib/therapeutic-programs.js +68 -0
  765. package/dist/workflows/target-assessment/metrics.d.ts +21 -0
  766. package/dist/workflows/target-assessment/metrics.js +42 -0
  767. package/dist/workflows/target-assessment/phase4-assemble.d.ts +1841 -0
  768. package/dist/workflows/target-assessment/phase4-assemble.js +39 -0
  769. package/dist/workflows/target-assessment/phase5-persist.d.ts +57 -0
  770. package/dist/workflows/target-assessment/phase5-persist.js +461 -0
  771. package/dist/workflows/target-assessment/progress.d.ts +38 -0
  772. package/dist/workflows/target-assessment/progress.js +76 -0
  773. package/dist/workflows/target-assessment/schemas.d.ts +931 -0
  774. package/dist/workflows/target-assessment/schemas.js +293 -0
  775. package/dist/workflows/target-assessment/steps/collectors/pathways.d.ts +15 -0
  776. package/dist/workflows/target-assessment/steps/collectors/pathways.js +58 -0
  777. package/dist/workflows/target-assessment/steps/fanout/aes-for-one-class-drug-step.d.ts +34 -0
  778. package/dist/workflows/target-assessment/steps/fanout/aes-for-one-class-drug-step.js +31 -0
  779. package/dist/workflows/target-assessment/steps/fanout/aes-for-one-trial-step.d.ts +57 -0
  780. package/dist/workflows/target-assessment/steps/fanout/aes-for-one-trial-step.js +54 -0
  781. package/dist/workflows/target-assessment/steps/fanout/faers-for-one-modulator-step.d.ts +35 -0
  782. package/dist/workflows/target-assessment/steps/fanout/faers-for-one-modulator-step.js +32 -0
  783. package/dist/workflows/target-assessment/steps/fanout/index.d.ts +14 -0
  784. package/dist/workflows/target-assessment/steps/fanout/index.js +10 -0
  785. package/dist/workflows/target-assessment/steps/fanout/polypharm-for-one-modulator-step.d.ts +28 -0
  786. package/dist/workflows/target-assessment/steps/fanout/polypharm-for-one-modulator-step.js +27 -0
  787. package/dist/workflows/target-assessment/steps/phase0-resolve.d.ts +71 -0
  788. package/dist/workflows/target-assessment/steps/phase0-resolve.js +21 -0
  789. package/dist/workflows/target-assessment/steps/phase1-aggregate.d.ts +1018 -0
  790. package/dist/workflows/target-assessment/steps/phase1-aggregate.js +25 -0
  791. package/dist/workflows/target-assessment/steps/phase2-aggregate.d.ts +696 -0
  792. package/dist/workflows/target-assessment/steps/phase2-aggregate.js +38 -0
  793. package/dist/workflows/target-assessment/steps/phase3-aggregate.d.ts +936 -0
  794. package/dist/workflows/target-assessment/steps/phase3-aggregate.js +22 -0
  795. package/dist/workflows/target-assessment/steps/synthesis/diagnostics.d.ts +34 -0
  796. package/dist/workflows/target-assessment/steps/synthesis/diagnostics.js +45 -0
  797. package/dist/workflows/target-assessment/sub-workflows/index.d.ts +15 -0
  798. package/dist/workflows/target-assessment/sub-workflows/index.js +11 -0
  799. package/dist/workflows/target-assessment/sub-workflows/per-class-drug-aes.d.ts +41 -0
  800. package/dist/workflows/target-assessment/sub-workflows/per-class-drug-aes.js +12 -0
  801. package/dist/workflows/target-assessment/sub-workflows/per-modulator-faers.d.ts +41 -0
  802. package/dist/workflows/target-assessment/sub-workflows/per-modulator-faers.js +12 -0
  803. package/dist/workflows/target-assessment/sub-workflows/per-modulator-polypharm.d.ts +36 -0
  804. package/dist/workflows/target-assessment/sub-workflows/per-modulator-polypharm.js +12 -0
  805. package/dist/workflows/target-assessment/sub-workflows/per-trial-aes.d.ts +66 -0
  806. package/dist/workflows/target-assessment/sub-workflows/per-trial-aes.js +12 -0
  807. package/dist/workflows/target-assessment/synthesis/index.d.ts +560 -0
  808. package/dist/workflows/target-assessment/synthesis/index.js +351 -0
  809. package/dist/workflows/target-assessment/synthesis-probes.d.ts +56 -0
  810. package/dist/workflows/target-assessment/synthesis-probes.js +320 -0
  811. package/dist/workspace/filesystem.d.ts +117 -0
  812. package/dist/workspace/filesystem.js +304 -0
  813. package/dist/workspace/mount-strategy.d.ts +50 -0
  814. package/dist/workspace/mount-strategy.js +67 -0
  815. package/dist/workspace/paths.d.ts +185 -0
  816. package/dist/workspace/paths.js +219 -0
  817. package/dist/workspace/provenance-collector.d.ts +34 -0
  818. package/dist/workspace/provenance-collector.js +16 -0
  819. package/dist/workspace/search-config.d.ts +23 -0
  820. package/dist/workspace/search-config.js +43 -0
  821. package/dist/workspace/workspace-paths.d.ts +26 -0
  822. package/dist/workspace/workspace-paths.js +31 -0
  823. package/package.json +101 -0
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Per-step interpretive markdown summary — a focused `runAgent` tool-loop on
3
+ * the harness `ChatProvider` that consumes the step's in-memory transcript
4
+ * (the `runAgent` `messages` array the workflow body already holds) AND a
5
+ * scoped `read_file` so it grounds every quantitative claim in the persisted
6
+ * output files rather than confabulating from `execute_command` stdout.
7
+ *
8
+ * Contract:
9
+ * - `runAgent` loop with a single `read_file` tool scoped to the step's
10
+ * writable output tree (via `createReadFileTool(workspaceFs, workingDir)`).
11
+ * The summarizer reads any output file it needs, then emits the markdown
12
+ * summary as its final assistant text.
13
+ * - Returns `{ stepId, agentId, markdown }` on non-empty final text;
14
+ * `undefined` on empty/empty-after-trim, on a loop throw, or on no
15
+ * text in the final assistant turn. Non-fatal — the workflow body decides
16
+ * whether to write `output/summary.md`.
17
+ * - `Session` is taken explicitly (see the harness-durable-runtime spec).
18
+ *
19
+ * Honest empty: with no output artifacts the prompt directs the model to
20
+ * state plainly that the step produced no output files — no synthesized
21
+ * results. Blocked steps skip this producer entirely (handled upstream).
22
+ *
23
+ * Transcript-from-memory: per the harness-thread-store spec, workflow loops have no `messages`
24
+ * table; reconstruction from `operation_outputs` is read-side only. At
25
+ * step time the workflow body already holds the array — pass it in.
26
+ */
27
+ import type { AgentSession } from "../auth/types.js";
28
+ import type { LoopMessage } from "../loop/types.js";
29
+ import type { AgentChat } from "../providers/types.js";
30
+ import type { WorkspaceFilesystem } from "../workspace/filesystem.js";
31
+ import { type StepSummary } from "../schemas/step-summary.js";
32
+ export interface GenerateStepSummaryOptions {
33
+ readonly provider: AgentChat;
34
+ readonly session: AgentSession;
35
+ readonly modelId: string;
36
+ /** In-memory transcript from `runAgent` — assistant + tool-result rounds. */
37
+ readonly messages: readonly LoopMessage[];
38
+ readonly artifactPaths: readonly string[];
39
+ /** Workspace read seam — backs the scoped `read_file` tool. */
40
+ readonly workspaceFs: WorkspaceFilesystem;
41
+ /** Absolute host path to the step's writable output tree — `read_file`'s working dir. */
42
+ readonly workingDir: string;
43
+ readonly stepId: string;
44
+ readonly agentId: string;
45
+ readonly runId: string;
46
+ readonly maxIterations?: number;
47
+ readonly signal?: AbortSignal;
48
+ }
49
+ /**
50
+ * Run the post-step summary loop on the harness provider against the supplied
51
+ * transcript, grounding claims in persisted files via `read_file`. Returns
52
+ * `undefined` on any non-fatal failure mode; the workflow body proceeds
53
+ * without `summary.md` in that case.
54
+ */
55
+ export declare function generateStepSummary(opts: GenerateStepSummaryOptions): Promise<StepSummary | undefined>;
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Per-step interpretive markdown summary — a focused `runAgent` tool-loop on
3
+ * the harness `ChatProvider` that consumes the step's in-memory transcript
4
+ * (the `runAgent` `messages` array the workflow body already holds) AND a
5
+ * scoped `read_file` so it grounds every quantitative claim in the persisted
6
+ * output files rather than confabulating from `execute_command` stdout.
7
+ *
8
+ * Contract:
9
+ * - `runAgent` loop with a single `read_file` tool scoped to the step's
10
+ * writable output tree (via `createReadFileTool(workspaceFs, workingDir)`).
11
+ * The summarizer reads any output file it needs, then emits the markdown
12
+ * summary as its final assistant text.
13
+ * - Returns `{ stepId, agentId, markdown }` on non-empty final text;
14
+ * `undefined` on empty/empty-after-trim, on a loop throw, or on no
15
+ * text in the final assistant turn. Non-fatal — the workflow body decides
16
+ * whether to write `output/summary.md`.
17
+ * - `Session` is taken explicitly (see the harness-durable-runtime spec).
18
+ *
19
+ * Honest empty: with no output artifacts the prompt directs the model to
20
+ * state plainly that the step produced no output files — no synthesized
21
+ * results. Blocked steps skip this producer entirely (handled upstream).
22
+ *
23
+ * Transcript-from-memory: per the harness-thread-store spec, workflow loops have no `messages`
24
+ * table; reconstruction from `operation_outputs` is read-side only. At
25
+ * step time the workflow body already holds the array — pass it in.
26
+ */
27
+ import { forSubAgent } from "../auth/types.js";
28
+ import { finalText, runAgent } from "../loop/run-agent.js";
29
+ import { passthroughStep } from "../loop/run-step.js";
30
+ import { stepSummaryPrompt } from "../prompts/execute-analysis/step-summary.js";
31
+ import { createReadFileTool } from "../tools/workspace/read-file.js";
32
+ import { StepSummarySchema } from "../schemas/step-summary.js";
33
+ import { incrementSummaryNullCount } from "./step-summary-metrics.js";
34
+ const SYSTEM_PROMPT = `You are a sandbox agent writing a post-step interpretive summary of work you just completed.
35
+
36
+ Your prior conversation — tool calls, code output, intermediate results — is in the message history above. Use it for narrative and intent.
37
+
38
+ Ground every quantitative claim in a PERSISTED output file: open it with the read_file tool and report what the file actually contains. A number that appears only in command stdout is NOT a citable result — read the artifact that holds it. If there are no output files, say so plainly; do not invent numbers and do not synthesize results no artifact backs.
39
+
40
+ When finished, output ONLY the markdown summary as your final message — no preamble, no apologies, no tool calls.`;
41
+ /** Sub-agent identity for the summary loop — provenance only. */
42
+ const SUMMARY_AGENT_ID = "step-summary-writer";
43
+ /** Iteration budget: a handful of read_file reads plus the final write-up. */
44
+ const DEFAULT_MAX_ITERATIONS = 12;
45
+ /**
46
+ * Sanitize a transcript that came from the loop so it can prefix a fresh
47
+ * loop turn: any final assistant `tool_use` block needs a matching
48
+ * `tool_result` we are not going to produce. Drop the trailing partial round.
49
+ */
50
+ function sanitizeTranscript(messages) {
51
+ const out = [...messages];
52
+ while (out.length > 0) {
53
+ const last = out[out.length - 1];
54
+ const blocks = Array.isArray(last.content) ? last.content : [];
55
+ const hasOpenToolUse = last.role === "assistant" && blocks.some((b) => b.type === "tool-call");
56
+ if (hasOpenToolUse) {
57
+ out.pop();
58
+ continue;
59
+ }
60
+ break;
61
+ }
62
+ return out;
63
+ }
64
+ /**
65
+ * Run the post-step summary loop on the harness provider against the supplied
66
+ * transcript, grounding claims in persisted files via `read_file`. Returns
67
+ * `undefined` on any non-fatal failure mode; the workflow body proceeds
68
+ * without `summary.md` in that case.
69
+ */
70
+ export async function generateStepSummary(opts) {
71
+ const transcript = sanitizeTranscript(opts.messages);
72
+ const userPrompt = stepSummaryPrompt(opts.artifactPaths.join("\n"));
73
+ const writer = {
74
+ id: SUMMARY_AGENT_ID,
75
+ systemPrompt: SYSTEM_PROMPT,
76
+ model: opts.modelId,
77
+ tools: [createReadFileTool(opts.workspaceFs, opts.workingDir)],
78
+ maxIterations: opts.maxIterations ?? DEFAULT_MAX_ITERATIONS,
79
+ };
80
+ const signal = opts.signal ?? new AbortController().signal;
81
+ let result;
82
+ try {
83
+ result = await runAgent(writer, [...transcript, { role: "user", content: userPrompt }], forSubAgent(opts.session, SUMMARY_AGENT_ID), {
84
+ provider: opts.provider,
85
+ signal,
86
+ emit: () => { },
87
+ runStep: passthroughStep,
88
+ });
89
+ }
90
+ catch (err) {
91
+ console.warn(`[step-summary] Summary loop failed runId=${opts.runId} stepId=${opts.stepId} agentId=${opts.agentId}: ${err instanceof Error ? err.message : err}`);
92
+ incrementSummaryNullCount(opts.agentId, "throw");
93
+ return undefined;
94
+ }
95
+ const markdown = finalText(result.messages);
96
+ if (!markdown || markdown.trim().length === 0) {
97
+ console.warn(`[step-summary] Empty markdown runId=${opts.runId} stepId=${opts.stepId} agentId=${opts.agentId}`);
98
+ incrementSummaryNullCount(opts.agentId, "empty");
99
+ return undefined;
100
+ }
101
+ return StepSummarySchema.parse({
102
+ stepId: opts.stepId,
103
+ agentId: opts.agentId,
104
+ markdown,
105
+ });
106
+ }
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Topological sort of a plan DAG into execution waves.
3
+ *
4
+ * Uses Kahn's algorithm to group steps into waves where steps within
5
+ * a wave have no inter-dependencies and can run in parallel.
6
+ */
7
+ import type { AnalysisStep } from "../schemas/workflow-state.js";
8
+ /** A wave is a group of steps with no inter-dependencies that can run in parallel. */
9
+ export type ExecutionWave = AnalysisStep[];
10
+ /** Thrown when the plan DAG contains a dependency cycle. */
11
+ export declare class CycleError extends Error {
12
+ readonly involvedSteps: string[];
13
+ constructor(involvedSteps: string[]);
14
+ }
15
+ /** Thrown when a step references a dependency that does not exist in the plan. */
16
+ export declare class DependencyError extends Error {
17
+ readonly stepId: string;
18
+ readonly missingDependency: string;
19
+ constructor(stepId: string, missingDependency: string);
20
+ }
21
+ /**
22
+ * Convert a flat array of analysis steps into ordered execution waves.
23
+ *
24
+ * Steps within a wave share no inter-dependencies and can run concurrently.
25
+ * Wave ordering guarantees that all dependencies of wave N are satisfied
26
+ * by waves 0..N-1.
27
+ *
28
+ * @param steps - Flat array of analysis steps with `id` and `depends_on`
29
+ * @returns Ordered array of waves (each wave is an array of steps)
30
+ * @throws {DependencyError} If a step references a non-existent dependency
31
+ * @throws {CycleError} If the dependency graph contains a cycle
32
+ */
33
+ export declare function topoSortIntoWaves(steps: AnalysisStep[]): ExecutionWave[];
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Topological sort of a plan DAG into execution waves.
3
+ *
4
+ * Uses Kahn's algorithm to group steps into waves where steps within
5
+ * a wave have no inter-dependencies and can run in parallel.
6
+ */
7
+ // ── Errors ─────────────────────────────────────────────────────────
8
+ /** Thrown when the plan DAG contains a dependency cycle. */
9
+ export class CycleError extends Error {
10
+ involvedSteps;
11
+ constructor(involvedSteps) {
12
+ super(`Dependency cycle detected involving steps: ${involvedSteps.join(", ")}`);
13
+ this.name = "CycleError";
14
+ this.involvedSteps = involvedSteps;
15
+ }
16
+ }
17
+ /** Thrown when a step references a dependency that does not exist in the plan. */
18
+ export class DependencyError extends Error {
19
+ stepId;
20
+ missingDependency;
21
+ constructor(stepId, missingDependency) {
22
+ super(`Step "${stepId}" depends on "${missingDependency}" which does not exist in the plan`);
23
+ this.name = "DependencyError";
24
+ this.stepId = stepId;
25
+ this.missingDependency = missingDependency;
26
+ }
27
+ }
28
+ // ── Core ───────────────────────────────────────────────────────────
29
+ /**
30
+ * Convert a flat array of analysis steps into ordered execution waves.
31
+ *
32
+ * Steps within a wave share no inter-dependencies and can run concurrently.
33
+ * Wave ordering guarantees that all dependencies of wave N are satisfied
34
+ * by waves 0..N-1.
35
+ *
36
+ * @param steps - Flat array of analysis steps with `id` and `depends_on`
37
+ * @returns Ordered array of waves (each wave is an array of steps)
38
+ * @throws {DependencyError} If a step references a non-existent dependency
39
+ * @throws {CycleError} If the dependency graph contains a cycle
40
+ */
41
+ export function topoSortIntoWaves(steps) {
42
+ if (steps.length === 0)
43
+ return [];
44
+ // Build lookup and validate dependencies exist
45
+ const stepById = new Map();
46
+ for (const step of steps) {
47
+ stepById.set(step.id, step);
48
+ }
49
+ for (const step of steps) {
50
+ for (const dep of step.depends_on) {
51
+ if (!stepById.has(dep)) {
52
+ throw new DependencyError(step.id, dep);
53
+ }
54
+ }
55
+ }
56
+ // Kahn's algorithm: compute in-degree for each step (only counting
57
+ // edges within this step set)
58
+ const inDegree = new Map();
59
+ const dependents = new Map();
60
+ for (const step of steps) {
61
+ inDegree.set(step.id, 0);
62
+ dependents.set(step.id, []);
63
+ }
64
+ for (const step of steps) {
65
+ for (const dep of step.depends_on) {
66
+ inDegree.set(step.id, (inDegree.get(step.id) ?? 0) + 1);
67
+ dependents.get(dep).push(step.id);
68
+ }
69
+ }
70
+ // Process wave by wave: each wave consists of all nodes with in-degree 0
71
+ const waves = [];
72
+ let remaining = steps.length;
73
+ // Seed the first frontier with all zero-indegree nodes
74
+ let frontier = steps.filter((s) => inDegree.get(s.id) === 0).map((s) => s.id);
75
+ while (frontier.length > 0) {
76
+ // Current frontier forms a wave
77
+ const wave = frontier.map((id) => stepById.get(id));
78
+ waves.push(wave);
79
+ remaining -= frontier.length;
80
+ // Compute next frontier
81
+ const nextFrontier = [];
82
+ for (const id of frontier) {
83
+ for (const dep of dependents.get(id)) {
84
+ const newDeg = (inDegree.get(dep) ?? 1) - 1;
85
+ inDegree.set(dep, newDeg);
86
+ if (newDeg === 0) {
87
+ nextFrontier.push(dep);
88
+ }
89
+ }
90
+ }
91
+ frontier = nextFrontier;
92
+ }
93
+ // If nodes remain, the graph has a cycle
94
+ if (remaining > 0) {
95
+ const cycleSteps = steps.filter((s) => (inDegree.get(s.id) ?? 0) > 0).map((s) => s.id);
96
+ throw new CycleError(cycleSteps);
97
+ }
98
+ return waves;
99
+ }
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Curated public interface for `@inflexa-ai/harness` — the embedder-facing
3
+ * front door. Every deep subpath (`@inflexa-ai/harness/...`) remains
4
+ * importable; this barrel exposes only the surface an embedder needs to wire
5
+ * the agent with its own seam realizations.
6
+ */
7
+ export { assembleCoreRuntime } from "./runtime/assemble.js";
8
+ export type { CoreRuntime, CoreRuntimeDeps, CoreWorkflowDeps, RegisteredWorkflows, ConversationAssemblyDeps, SandboxStepCallable } from "./runtime/assemble.js";
9
+ export { bootHarness } from "./runtime/boot.js";
10
+ export type { BootHarnessDeps, BootedHarness } from "./runtime/boot.js";
11
+ export { createConversationAgent } from "./agents/conversation-agent.js";
12
+ export type { ConversationAgentDeps } from "./agents/conversation-agent.js";
13
+ export { createLocalRunAuthorizer } from "./auth/local-run-authorizer.js";
14
+ export type { RunAuthorizer, AuthorizeRunInput, RunAuthorization } from "./execution/run-authorizer.js";
15
+ export { createNoopBillingResolver } from "./billing/noop-resolver.js";
16
+ export type { ResolveBilling, ResolvableSession, BillingMap, BillingHeaders, BillingFetchResult } from "./billing/resolver.js";
17
+ export { createNoopRunCharge } from "./billing/noop-run-charge.js";
18
+ export type { RunCharge } from "./billing/run-charge.js";
19
+ export { createNoopArtifactRegistry } from "./execution/noop-artifact-registry.js";
20
+ export type { ArtifactRegistry, ArtifactRegistrationInput, ArtifactSyncInput, ExternalRegistrationResult } from "./execution/artifact-registry.js";
21
+ export type { ArtifactManifestEntry } from "./schemas/artifact-manifest.js";
22
+ export type { ProvenanceCollector } from "./provenance/collector.js";
23
+ export { UnavailablePreviewPublisher } from "./tools/report/preview-publisher.js";
24
+ export type { PreviewPublisher, PreviewMintResult } from "./tools/report/preview-publisher.js";
25
+ export { createDbosRunLauncher } from "./execution/dbos-run-launcher.js";
26
+ export type { RunLauncher, LaunchOptions, LaunchRunOptions, LaunchOutcome } from "./execution/run-launcher.js";
27
+ export { defineTool, isToolError } from "./tools/define-tool.js";
28
+ export type { Tool, ToolDefinition, ToolContext, ToolError } from "./tools/define-tool.js";
29
+ export { runAgent, finalText } from "./loop/run-agent.js";
30
+ export type { RunAgentOptions, RunAgentResult, AgentFinish } from "./loop/run-agent.js";
31
+ export type { AgentDefinition, RunStep, EmitFn, EmitEvent, EventSource } from "./loop/types.js";
32
+ export { passthroughStep } from "./loop/run-step.js";
33
+ export { forStep, forSubAgent, scopeResource, scopeWorkloadId } from "./auth/types.js";
34
+ export type { AgentSession, RequestSession, RunSession, Identity, Scope, Credential, Provenance, RunFrame, AuthContext, ResourceCoordinates, } from "./auth/types.js";
35
+ export { makeLocalAuth } from "./auth/local-auth-context.js";
36
+ export { createAnthropicProvider } from "./providers/anthropic.js";
37
+ export type { AnthropicProviderDeps } from "./providers/anthropic.js";
38
+ export { createConfiguredAiSdkProvider } from "./providers/ai-sdk.js";
39
+ export type { AiSdkProviderConfig, ConfiguredAiSdkProviderDeps } from "./providers/ai-sdk.js";
40
+ export { createEmbeddingProvider } from "./providers/embedding.js";
41
+ export type { EmbeddingProviderDeps } from "./providers/embedding.js";
42
+ export type { AgentChat, ChatProvider, EmbeddingProvider, ChatRequest, ChatResponse, ChatStreamEvent, ModelMessage } from "./providers/types.js";
43
+ export { toProviderError, isProviderError } from "./providers/errors.js";
44
+ export type { ProviderError } from "./providers/errors.js";
45
+ export { createStreamingChat } from "./providers/streaming-chat.js";
46
+ export { prepareChatTurn } from "./app/chat-turn.js";
47
+ export type { PrepareChatTurnDeps, PrepareChatTurnParams, PrepareChatTurnResult } from "./app/chat-turn.js";
48
+ export { createThreadStore } from "./memory/thread-store.js";
49
+ export type { ThreadStore, Thread, CreateThreadInput, ListThreadsInput, ThreadPage } from "./memory/thread-store.js";
50
+ export { createThreadHistory } from "./memory/thread-history.js";
51
+ export type { ThreadHistory, StoredMessage, MessagePage } from "./memory/thread-history.js";
52
+ export { contentToCortexMessages } from "./memory/content-to-cortex.js";
53
+ export { createCardResolver } from "./memory/reconstruct-cards.js";
54
+ export type { ToolCardResolver, StoredToolCallForCard } from "./memory/reconstruct-cards.js";
55
+ export type { CortexChatEvent, TextDeltaEvent, ToolStartedEvent, ToolFinishedEvent, FinishEvent, ChatErrorEvent } from "./contracts/chat-events.js";
56
+ export type { CortexChatPart, PresentationPart, PresentationContent, PlanPart, RunCardPart, FileReferencePart, FileReferenceEntry, RunStartedPart, DagStatePart, DagStepState, StepStatus, StepActivityPart, StepPhase, StepFileTreePart, FileTreeEntry, StepOutputPart, StepOutputFile, StepSummaryPart, StepBlockedPart, RunSynthesisPart, SynthesizedFinding, BiologicalTheme, SynthesisProgressPart, SynthesisPhase, RunCompletedPart, RunCompletedFinding, RunFailedPart, PreviewPart, DataPreviewFailedPart, } from "./contracts/chat-parts.js";
57
+ export { PART_REGISTRY, isTransient, isReconciling, isSidebarPart } from "./contracts/part-registry.js";
58
+ export type { CortexChatPartType, PartDescriptor, PartEmitter, PartConsumer } from "./contracts/part-registry.js";
59
+ export { launchDbos, shutdownDbos, sweepEphemeralWorkflows } from "./runtime/dbos.js";
60
+ export type { DbosConfig } from "./runtime/dbos.js";
61
+ export { StatusString } from "@dbos-inc/dbos-sdk";
62
+ export type { WorkflowStatusString } from "@dbos-inc/dbos-sdk";
63
+ export { createPool } from "./lib/storage.js";
64
+ export type { PoolConfig } from "./lib/storage.js";
65
+ export type { Pool } from "pg";
66
+ export { registerDataProfileWorkflow, triggerDataProfile, runDataProfile } from "./tasks/data-profile.js";
67
+ export type { DataProfileDeps, DataProfileWorkflowInput, DataProfileTriggerDeps, DataProfileTriggerParams, DataProfileTriggerResult, } from "./tasks/data-profile.js";
68
+ export { initCortexState } from "./state/init.js";
69
+ export { upsertAnalysis } from "./state/analyses.js";
70
+ export { clearDataProfile, loadDataProfileStatus, tryRetryDataProfile, reconcileOrphanedDataProfile } from "./state/data-profile.js";
71
+ export type { DataProfileInputFile, DataProfileResult, DataProfileStatus } from "./state/data-profile.js";
72
+ export type { StagedInput } from "./execution/staged-input.js";
73
+ export type { ResolveWorkspaceRoot } from "./workspace/paths.js";
74
+ export { createSandboxClient } from "./sandbox/create-sandbox.js";
75
+ export type { CreateSandboxClientConfig, SandboxBackendConfig } from "./sandbox/create-sandbox.js";
76
+ export type { SandboxClient } from "./sandbox/client.js";
77
+ export { MachineBudgetSchema, ResourceLimitsSchema, ResourcePolicySchema, ResourceSpecSchema, parseResourcePolicy } from "./config/resource-limits.js";
78
+ export type { MachineBudget, ResourceLimits, ResourcePolicy, ResourceSpec } from "./config/resource-limits.js";
79
+ export { createWorkspaceFilesystem } from "./workspace/filesystem.js";
80
+ export type { WorkspaceFilesystem, WorkspaceFilesystemDeps } from "./workspace/filesystem.js";
81
+ export { workflowIdFromExec } from "./sandbox/exec-id.js";
82
+ export { deliverExecEvent, execEventTopic } from "./sandbox/deliver-exec-event.js";
83
+ export { ExecEventMessageSchema } from "./sandbox/types.js";
84
+ export type { ExecEventMessage, DoneMarker } from "./sandbox/types.js";
85
+ export { registerExecuteAnalysis } from "./workflows/execute-analysis.js";
86
+ export type { ExecuteAnalysisDeps, ExecuteAnalysisInput, ExecuteAnalysisResult, RunProvenanceEvent } from "./workflows/execute-analysis.js";
87
+ export { registerSandboxStep } from "./workflows/sandbox-step.js";
88
+ export type { SandboxStepDeps, SandboxStepInput, SandboxStepResult, SandboxAgentBuildContext } from "./workflows/sandbox-step.js";
89
+ export { createSandboxAgents, SANDBOX_AGENT_META } from "./agents/sandbox/index.js";
90
+ export type { SandboxAgentDeps, SandboxStepCoords, AgentMeta } from "./agents/sandbox/index.js";
91
+ export { AnalysisPlanSchema } from "./schemas/workflow-state.js";
92
+ export type { AnalysisPlan, AnalysisStep } from "./schemas/workflow-state.js";
93
+ export type { PlanStep } from "./workflows/execute-analysis-scheduler.js";
94
+ export { validatePlan } from "./schemas/validate-plan.js";
95
+ export type { ValidatePlanOptions } from "./schemas/validate-plan.js";
96
+ export type { ValidationResult } from "./schemas/validate-plan.js";
97
+ export { renderStepPrompt } from "./schemas/render-step-prompt.js";
98
+ export { upsertPlan, loadPlan } from "./state/plans.js";
99
+ export type { UpsertPlanInput } from "./state/plans.js";
100
+ export { insertRun, queryActiveRun, updateRunStatus, queryRun, queryRunsByAnalysis, RunDedupCollisionError } from "./state/runs.js";
101
+ export type { InsertRunInput } from "./state/runs.js";
102
+ export { queryStepsByRun } from "./state/step-executions.js";
103
+ export type { CortexRunRow, StepExecutionRow, RunStatus } from "./state/schema.js";
104
+ export type { DbError } from "./lib/db-result.js";
105
+ export { queryActiveSandboxes } from "./state/active-sandboxes.js";
106
+ export { runStepDir } from "./workspace/paths.js";
107
+ export { registerSandboxReaper } from "./sandbox/reaper.js";
108
+ export type { RegisterReaperDeps } from "./sandbox/reaper.js";
109
+ export { registerWatchdog } from "./sandbox/watchdog.js";
110
+ export type { WatchdogDeps } from "./sandbox/watchdog.js";
111
+ export { registerNotificationSweep } from "./sandbox/notification-sweep.js";
112
+ export type { RegisterNotificationSweepDeps } from "./sandbox/notification-sweep.js";
package/dist/index.js ADDED
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Curated public interface for `@inflexa-ai/harness` — the embedder-facing
3
+ * front door. Every deep subpath (`@inflexa-ai/harness/...`) remains
4
+ * importable; this barrel exposes only the surface an embedder needs to wire
5
+ * the agent with its own seam realizations.
6
+ */
7
+ // Runtime assembly + composition root.
8
+ export { assembleCoreRuntime } from "./runtime/assemble.js";
9
+ // The harness-owned boot sequence: ordered boot steps around `assembleCoreRuntime`
10
+ // (skill validation → state init → connection budget → assemble → launch) + a
11
+ // `shutdown` handle the embedder wires to its process signals.
12
+ export { bootHarness } from "./runtime/boot.js";
13
+ export { createConversationAgent } from "./agents/conversation-agent.js";
14
+ // Seam: run authorization.
15
+ export { createLocalRunAuthorizer } from "./auth/local-run-authorizer.js";
16
+ // Seam: billing resolution.
17
+ export { createNoopBillingResolver } from "./billing/noop-resolver.js";
18
+ // Seam: run-level billing bracket.
19
+ export { createNoopRunCharge } from "./billing/noop-run-charge.js";
20
+ // Seam: artifact registration.
21
+ export { createNoopArtifactRegistry } from "./execution/noop-artifact-registry.js";
22
+ // Seam: report preview publishing.
23
+ export { UnavailablePreviewPublisher } from "./tools/report/preview-publisher.js";
24
+ // Run launching.
25
+ export { createDbosRunLauncher } from "./execution/dbos-run-launcher.js";
26
+ // Tool primitive.
27
+ export { defineTool, isToolError } from "./tools/define-tool.js";
28
+ // Agent loop.
29
+ export { runAgent, finalText } from "./loop/run-agent.js";
30
+ // `passthroughStep` is the in-process `RunStep`: the host request/chat path runs
31
+ // the loop with no durability wrapper (workflow contexts use the durable step).
32
+ // An embedder driving `runAgent` outside a workflow passes it as `runStep`.
33
+ export { passthroughStep } from "./loop/run-step.js";
34
+ // Session value objects + helpers.
35
+ export { forStep, forSubAgent, scopeResource, scopeWorkloadId } from "./auth/types.js";
36
+ export { makeLocalAuth } from "./auth/local-auth-context.js";
37
+ // Providers.
38
+ export { createAnthropicProvider } from "./providers/anthropic.js";
39
+ // The general provider-configuration path: `createConfiguredAiSdkProvider`
40
+ // builds a `ChatProvider` from an `AiSdkProviderConfig` — the connection+model
41
+ // union discriminated over the `anthropic` and `openai-compatible` kinds — with
42
+ // `ConfiguredAiSdkProviderDeps` as its argument shape. `createAnthropicProvider`
43
+ // above is a convenience over this union's `anthropic` arm.
44
+ export { createConfiguredAiSdkProvider } from "./providers/ai-sdk.js";
45
+ export { createEmbeddingProvider } from "./providers/embedding.js";
46
+ // Provider error channel. `ProviderError` is the value `chat`/`embed` fail
47
+ // with; `toProviderError` is its sole constructor. Exposed so an embedder
48
+ // realizing its own `ChatProvider`/`EmbeddingProvider` fails with the exact
49
+ // same shape the harness's own realizations do, rather than re-deriving it.
50
+ // `isProviderError` is the structural guard an embedder driving `chatStream`
51
+ // directly needs: `chatStream` throws a `ProviderError` value (a plain object,
52
+ // not an `Error`), so a `catch` recognizes it by shape, not `instanceof`.
53
+ export { toProviderError, isProviderError } from "./providers/errors.js";
54
+ // `createStreamingChat` wraps a `ChatProvider` as a streaming `AgentChat` (the
55
+ // type `runAgent`'s `provider` option takes): its `chat` drives the provider's
56
+ // `chatStream` and forwards each text delta to `onText`, so a same-process host
57
+ // gets live token streaming out of the otherwise non-streaming loop.
58
+ export { createStreamingChat } from "./providers/streaming-chat.js";
59
+ // Conversation turn + thread memory — the transport-free halves of one chat
60
+ // turn a same-process host drives itself. `prepareChatTurn` assembles the
61
+ // message array (thread-ownership resolution, title seed, analysis-context
62
+ // injection); the caller runs `runAgent` with its own `emit`; `appendTurn`
63
+ // (`createThreadHistory`) persists the turn. `createThreadStore` owns thread
64
+ // metadata (create/list/title). `contentToCortexMessages` + `createCardResolver`
65
+ // reconstruct display cards from a persisted thread on reload.
66
+ export { prepareChatTurn } from "./app/chat-turn.js";
67
+ export { createThreadStore } from "./memory/thread-store.js";
68
+ export { createThreadHistory } from "./memory/thread-history.js";
69
+ export { contentToCortexMessages } from "./memory/content-to-cortex.js";
70
+ export { createCardResolver } from "./memory/reconstruct-cards.js";
71
+ export { PART_REGISTRY, isTransient, isReconciling, isSidebarPart } from "./contracts/part-registry.js";
72
+ // Embedder runtime surface — what a same-process host needs to run durable
73
+ // workflows itself: the DBOS lifecycle, per-workflow registration + triggers,
74
+ // the staged-input manifest contract, the sandbox/workspace factories over its
75
+ // workspace tree, and the exec-callback envelope pieces (the HTTP→DBOS-topic
76
+ // ingress is the embedder's to host; see the sandbox-server callback protocol).
77
+ // DBOS lifecycle. `sweepEphemeralWorkflows` is a pre-launch boot duty: once the
78
+ // `ephemeral` workflow is registered, a host crash mid-run leaves a PENDING
79
+ // `ephemeral:*` row that the next launch's recovery would re-dispatch (a sandbox
80
+ // for a chat turn that no longer exists). The embedder sweeps it with a direct
81
+ // system-DB UPDATE between state-init and `launchDbos` — the only race-free point.
82
+ export { launchDbos, shutdownDbos, sweepEphemeralWorkflows } from "./runtime/dbos.js";
83
+ // DBOS workflow-status vocabulary. An embedder that reads its own
84
+ // `dbos.workflow_status` rows must classify them against the SDK's status set,
85
+ // but must never depend on `@dbos-inc/dbos-sdk` directly — the SDK is
86
+ // module-singleton state, so a host's own copy is a different, un-launched
87
+ // instance (same rationale as `deliverExecEvent` below). The barrel forwards the
88
+ // status const + its union so the classification vocabulary comes from the one
89
+ // launched SDK, not a drifting hand-kept string literal on the embedder side.
90
+ export { StatusString } from "@dbos-inc/dbos-sdk";
91
+ // Application pool. Exported so an embedder never declares its own `pg`
92
+ // dependency: the pool it hands to workflow deps is built by the same pg
93
+ // copy the harness queries with.
94
+ export { createPool } from "./lib/storage.js";
95
+ // Data-profile workflow: registration + trigger. `triggerDataProfile` claims a
96
+ // startable row (`pending` or NULL status) or a `completed` one, in both cases only
97
+ // when the analysis names a non-empty seeded input set; a failed profile is re-claimed
98
+ // via `tryRetryDataProfile` and then started with `runDataProfile` (the managed retry
99
+ // route's shape — embedders mirror it).
100
+ export { registerDataProfileWorkflow, triggerDataProfile, runDataProfile } from "./tasks/data-profile.js";
101
+ // Ledger surface the embedder needs around a trigger: schema init at boot,
102
+ // the analysis-state seed (the trigger's CAS transitions the row this creates
103
+ // — without it every trigger reports "failed"), and run-state observation.
104
+ export { initCortexState } from "./state/init.js";
105
+ export { upsertAnalysis } from "./state/analyses.js";
106
+ // `reconcileOrphanedDataProfile` heals a ledger row stuck at `running` with no
107
+ // backing workflow (a host that died between the ledger CAS and the DBOS
108
+ // insert) — the embedder calls it once after launch, when recovery has run.
109
+ // `clearDataProfile` nulls the whole profile ledger back to "no profile" when an
110
+ // analysis's input set empties (deferring on a running workflow), so the UI
111
+ // stops advertising a profile that describes files the analysis no longer has.
112
+ export { clearDataProfile, loadDataProfileStatus, tryRetryDataProfile, reconcileOrphanedDataProfile } from "./state/data-profile.js";
113
+ export { createSandboxClient } from "./sandbox/create-sandbox.js";
114
+ export { MachineBudgetSchema, ResourceLimitsSchema, ResourcePolicySchema, ResourceSpecSchema, parseResourcePolicy } from "./config/resource-limits.js";
115
+ export { createWorkspaceFilesystem } from "./workspace/filesystem.js";
116
+ // Exec-callback ingress building blocks. Delivery goes through
117
+ // `deliverExecEvent` — never a host-side `DBOS.send`: the SDK is
118
+ // module-singleton state, and a host's own copy would be un-launched.
119
+ export { workflowIdFromExec } from "./sandbox/exec-id.js";
120
+ export { deliverExecEvent, execEventTopic } from "./sandbox/deliver-exec-event.js";
121
+ export { ExecEventMessageSchema } from "./sandbox/types.js";
122
+ // Run engine — the analysis + sandbox-step durable workflows an embedder
123
+ // registers itself (in child-before-parent assemble-order: the parent's deps
124
+ // close over the registered child callable). `assembleCoreRuntime` also wires
125
+ // these, but an embedder running only the run engine registers them directly.
126
+ export { registerExecuteAnalysis } from "./workflows/execute-analysis.js";
127
+ export { registerSandboxStep } from "./workflows/sandbox-step.js";
128
+ // Sandbox-agent catalog. `buildAgent` maps a `SandboxAgentBuildContext` onto
129
+ // `SandboxAgentDeps`, then selects the per-step agent by id from this record;
130
+ // `SANDBOX_AGENT_META` is the planner-facing meta the same ids key.
131
+ export { createSandboxAgents, SANDBOX_AGENT_META } from "./agents/sandbox/index.js";
132
+ // Plan schema, structural validation, and per-step prompt rendering — the gates
133
+ // a plan passes before it can trigger a run, plus the prompt each step's agent
134
+ // receives. `PlanStep` is the minimal `{ id, depends_on }` element type that
135
+ // `ExecuteAnalysisInput.steps` is typed against; a parsed `AnalysisPlan`'s
136
+ // richer `AnalysisStep[]` is assignable to it.
137
+ export { AnalysisPlanSchema } from "./schemas/workflow-state.js";
138
+ export { validatePlan } from "./schemas/validate-plan.js";
139
+ export { renderStepPrompt } from "./schemas/render-step-prompt.js";
140
+ // Plan + run + step ledgers around a trigger. `upsertPlan` takes a
141
+ // caller-derived id and inserts-if-absent (the deterministic-id intake path);
142
+ // the run-state calls mirror the chat trigger's reserve → dedup → status flow.
143
+ export { upsertPlan, loadPlan } from "./state/plans.js";
144
+ export { insertRun, queryActiveRun, updateRunStatus, queryRun, queryRunsByAnalysis, RunDedupCollisionError } from "./state/runs.js";
145
+ export { queryStepsByRun } from "./state/step-executions.js";
146
+ // Backs `WatchdogDeps.queryActiveSandboxes` when the embedder wires the watchdog.
147
+ export { queryActiveSandboxes } from "./state/active-sandboxes.js";
148
+ // Workspace-tree path convention — the root-relative step directory each
149
+ // sandbox step confines its artifact writes to (join onto the resolved root).
150
+ export { runStepDir } from "./workspace/paths.js";
151
+ // Sandbox-hygiene scheduled workflows. Reaper reclaims a dead host's orphaned
152
+ // containers; watchdog converts a dead sandbox into a prompt step failure
153
+ // instead of a deadline-long `DBOS.recv` hang; the sweep prunes stale
154
+ // notifications. Each is a `@DBOS.scheduled` no-op on an idle system.
155
+ export { registerSandboxReaper } from "./sandbox/reaper.js";
156
+ export { registerWatchdog } from "./sandbox/watchdog.js";
157
+ export { registerNotificationSweep } from "./sandbox/notification-sweep.js";
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Input sanitization — two pure, always-on functions applied once to the
3
+ * incoming user message by the chat route (change 6). Never applied to
4
+ * assistant messages or tool results.
5
+ *
6
+ * Two pure functions, not a plug-in pipeline. What runs is exactly these two.
7
+ */
8
+ /**
9
+ * NFC-normalize and strip control characters.
10
+ *
11
+ * Unicode normalization collapses visually-identical decomposed sequences
12
+ * to a canonical form; control-char stripping removes invisible C0/C1 bytes
13
+ * that could smuggle formatting or terminal escapes.
14
+ */
15
+ export declare function normalizeUnicode(text: string): string;
16
+ /**
17
+ * Replace structured secret formats with `[REDACTED: <name>]`.
18
+ *
19
+ * Only prefixed formats are matched — a 40-nucleotide `ACGT…` string or a
20
+ * 40-residue protein sequence passes through unchanged.
21
+ */
22
+ export declare function redactSecrets(text: string): string;