@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,20 @@
1
+ /**
2
+ * `execId` parsing — execId is `${workflowId}:${stepId}:${fnId}` where the
3
+ * workflowId portion itself contains exactly one colon (child workflow ids
4
+ * are `${analysisId}:${runId}-${stepIdx}`, parent ids are
5
+ * `${analysisId}:${runId}`). `indexOf(":")` / `split(":")[0]` over an
6
+ * execId would stop INSIDE the workflowId and return only the analysisId,
7
+ * which `DBOS.send` would treat as a wrong-workflow target. Strip the last
8
+ * two colon-delimited segments (`:${stepId}:${fnId}`) to recover the
9
+ * workflowId. `stepId` is a plan-defined slug and `fnId` is `fn-${n.toString(36)}`,
10
+ * neither of which can contain colons.
11
+ */
12
+ export function workflowIdFromExec(execId) {
13
+ const lastColon = execId.lastIndexOf(":");
14
+ if (lastColon <= 0)
15
+ return null;
16
+ const secondLastColon = execId.lastIndexOf(":", lastColon - 1);
17
+ if (secondLastColon <= 0)
18
+ return null;
19
+ return execId.slice(0, secondLastColon);
20
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Execution ID generation — ported from shared/lib/execution-id.ts.
3
+ *
4
+ * Produces a single ID that embeds the agent name, used everywhere:
5
+ * sandbox pod name, K8s Job name, audit log files.
6
+ *
7
+ * Format: {sanitizedAgentName}-{nanoid8} (e.g., qc-agent-a1b2c3d4)
8
+ */
9
+ /** Length of the nanoid suffix (8 characters). */
10
+ export declare const EXECUTION_ID_NANOID_LENGTH = 8;
11
+ /** Maximum length for the sanitized agent name portion. */
12
+ export declare const AGENT_NAME_MAX_LENGTH = 40;
13
+ /**
14
+ * Sanitize an agent name for use in K8s pod/job names.
15
+ *
16
+ * Rules:
17
+ * - Lowercase only
18
+ * - Only `[a-z0-9-]` characters allowed
19
+ * - Leading/trailing hyphens stripped
20
+ * - Consecutive hyphens collapsed
21
+ * - Truncated to 40 characters
22
+ */
23
+ export declare function sanitizeAgentName(name: string): string;
24
+ /**
25
+ * Generate a unified execution ID for an agent invocation.
26
+ *
27
+ * @param agentName - The agent name from the registry
28
+ * @returns An ID in the format `{sanitizedAgentName}-{nanoid8}`
29
+ */
30
+ export declare function generateExecutionId(agentName: string): string;
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Execution ID generation — ported from shared/lib/execution-id.ts.
3
+ *
4
+ * Produces a single ID that embeds the agent name, used everywhere:
5
+ * sandbox pod name, K8s Job name, audit log files.
6
+ *
7
+ * Format: {sanitizedAgentName}-{nanoid8} (e.g., qc-agent-a1b2c3d4)
8
+ */
9
+ import { customAlphabet } from "nanoid";
10
+ /** Length of the nanoid suffix (8 characters). */
11
+ export const EXECUTION_ID_NANOID_LENGTH = 8;
12
+ /** Maximum length for the sanitized agent name portion. */
13
+ export const AGENT_NAME_MAX_LENGTH = 40;
14
+ /**
15
+ * Lowercase alphanumeric alphabet for nanoid suffix.
16
+ * Ensures IDs are valid RFC 1123 DNS labels (required by K8s Job names).
17
+ */
18
+ const nanoid = customAlphabet("abcdefghijklmnopqrstuvwxyz0123456789");
19
+ /**
20
+ * Sanitize an agent name for use in K8s pod/job names.
21
+ *
22
+ * Rules:
23
+ * - Lowercase only
24
+ * - Only `[a-z0-9-]` characters allowed
25
+ * - Leading/trailing hyphens stripped
26
+ * - Consecutive hyphens collapsed
27
+ * - Truncated to 40 characters
28
+ */
29
+ export function sanitizeAgentName(name) {
30
+ return name
31
+ .toLowerCase()
32
+ .replace(/[^a-z0-9-]/g, "-")
33
+ .replace(/-{2,}/g, "-")
34
+ .replace(/^-+|-+$/g, "")
35
+ .slice(0, AGENT_NAME_MAX_LENGTH);
36
+ }
37
+ /**
38
+ * Generate a unified execution ID for an agent invocation.
39
+ *
40
+ * @param agentName - The agent name from the registry
41
+ * @returns An ID in the format `{sanitizedAgentName}-{nanoid8}`
42
+ */
43
+ export function generateExecutionId(agentName) {
44
+ const sanitized = sanitizeAgentName(agentName);
45
+ const suffix = nanoid(EXECUTION_ID_NANOID_LENGTH);
46
+ return `${sanitized}-${suffix}`;
47
+ }
@@ -0,0 +1,54 @@
1
+ /**
2
+ * HMAC verification for sandbox callbacks (see the harness-sandbox-exec spec).
3
+ *
4
+ * sandbox-server signs every outbound event/completion POST with
5
+ * `X-Sandbox-Signature = hex(HMAC-SHA256(callbackSecret,
6
+ * "${execId}:${timestamp}:${sha256Hex(body)}"))` plus a
7
+ * `X-Sandbox-Timestamp` header. The Cortex-side callback endpoint is
8
+ * **dumb** — it forwards the headers verbatim onto the per-exec DBOS
9
+ * topic. Verification happens here, in the workflow-body recv loop,
10
+ * because that body holds the `callbackSecret` from the cached
11
+ * `createSandbox` step output.
12
+ *
13
+ * A bad or stale signature triggers a hard cancel of the run — under
14
+ * NetworkPolicy isolation a forged event implies a bug or a breach,
15
+ * neither of which should keep a 3-hour sandbox burning.
16
+ */
17
+ export interface VerifyCallbackInput {
18
+ execId: string;
19
+ /** The bytes the sandbox-server POSTed. The dumb route preserves them. */
20
+ body: Buffer | string;
21
+ /** `X-Sandbox-Signature` value (lowercase hex). */
22
+ signature: string | null;
23
+ /** `X-Sandbox-Timestamp` value (unix seconds). */
24
+ timestamp: number | null;
25
+ /** Per-sandbox secret from the cached `createSandbox` step output. */
26
+ secret: string;
27
+ /** Current unix-second wall-clock — injectable for tests. */
28
+ nowSec: number;
29
+ /** Symmetric freshness window in seconds. */
30
+ freshnessSec: number;
31
+ }
32
+ export type VerifyResult = {
33
+ valid: true;
34
+ } | {
35
+ valid: false;
36
+ reason: "bad-signature" | "stale-timestamp" | "missing";
37
+ };
38
+ /**
39
+ * Recompute the HMAC and compare in constant time, then check the
40
+ * timestamp falls within a symmetric `freshnessSec` window of `nowSec`.
41
+ *
42
+ * Order: `missing` (one of signature/timestamp is null) is reported
43
+ * separately from `bad-signature` so the caller can log it precisely.
44
+ * Freshness is checked AFTER signature, so a stale-but-valid signature
45
+ * is distinguishable from a forgery.
46
+ */
47
+ export declare function verifyCallback(input: VerifyCallbackInput): VerifyResult;
48
+ /** Convenience for the Cortex side to compute a signature for tests. */
49
+ export declare function signCallback({ execId, body, timestamp, secret }: {
50
+ execId: string;
51
+ body: Buffer | string;
52
+ timestamp: number;
53
+ secret: string;
54
+ }): string;
@@ -0,0 +1,67 @@
1
+ /**
2
+ * HMAC verification for sandbox callbacks (see the harness-sandbox-exec spec).
3
+ *
4
+ * sandbox-server signs every outbound event/completion POST with
5
+ * `X-Sandbox-Signature = hex(HMAC-SHA256(callbackSecret,
6
+ * "${execId}:${timestamp}:${sha256Hex(body)}"))` plus a
7
+ * `X-Sandbox-Timestamp` header. The Cortex-side callback endpoint is
8
+ * **dumb** — it forwards the headers verbatim onto the per-exec DBOS
9
+ * topic. Verification happens here, in the workflow-body recv loop,
10
+ * because that body holds the `callbackSecret` from the cached
11
+ * `createSandbox` step output.
12
+ *
13
+ * A bad or stale signature triggers a hard cancel of the run — under
14
+ * NetworkPolicy isolation a forged event implies a bug or a breach,
15
+ * neither of which should keep a 3-hour sandbox burning.
16
+ */
17
+ import { createHash, createHmac, timingSafeEqual } from "node:crypto";
18
+ /**
19
+ * Decode the per-sandbox secret. sandbox-server accepts both raw UTF-8
20
+ * and `base64:` prefixed values (change 4 spec); we mirror the same
21
+ * convention here so the Cortex and Go sides interpret the secret
22
+ * identically.
23
+ */
24
+ function decodeSecret(secret) {
25
+ if (secret.startsWith("base64:")) {
26
+ return Buffer.from(secret.slice("base64:".length), "base64");
27
+ }
28
+ return Buffer.from(secret, "utf8");
29
+ }
30
+ function sha256Hex(input) {
31
+ return createHash("sha256").update(input).digest("hex");
32
+ }
33
+ /**
34
+ * Recompute the HMAC and compare in constant time, then check the
35
+ * timestamp falls within a symmetric `freshnessSec` window of `nowSec`.
36
+ *
37
+ * Order: `missing` (one of signature/timestamp is null) is reported
38
+ * separately from `bad-signature` so the caller can log it precisely.
39
+ * Freshness is checked AFTER signature, so a stale-but-valid signature
40
+ * is distinguishable from a forgery.
41
+ */
42
+ export function verifyCallback(input) {
43
+ if (input.signature === null || input.timestamp === null) {
44
+ return { valid: false, reason: "missing" };
45
+ }
46
+ const secretBytes = decodeSecret(input.secret);
47
+ const message = `${input.execId}:${input.timestamp}:${sha256Hex(input.body)}`;
48
+ const expected = createHmac("sha256", secretBytes).update(message).digest("hex");
49
+ const provided = input.signature;
50
+ if (provided.length !== expected.length) {
51
+ return { valid: false, reason: "bad-signature" };
52
+ }
53
+ const matches = timingSafeEqual(Buffer.from(provided, "utf8"), Buffer.from(expected, "utf8"));
54
+ if (!matches) {
55
+ return { valid: false, reason: "bad-signature" };
56
+ }
57
+ if (Math.abs(input.nowSec - input.timestamp) > input.freshnessSec) {
58
+ return { valid: false, reason: "stale-timestamp" };
59
+ }
60
+ return { valid: true };
61
+ }
62
+ /** Convenience for the Cortex side to compute a signature for tests. */
63
+ export function signCallback({ execId, body, timestamp, secret }) {
64
+ const secretBytes = decodeSecret(secret);
65
+ const message = `${execId}:${timestamp}:${sha256Hex(body)}`;
66
+ return createHmac("sha256", secretBytes).update(message).digest("hex");
67
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Sandbox identity minting — the durable half of the two-step create (ADR
3
+ * 0016). Backend-agnostic: the `sandboxId` and HMAC `callbackSecret` are minted
4
+ * here, checkpointed by the `sandbox.mint` DBOS step, then handed to the
5
+ * backend's spawn step. Because the identity is durable before any machine
6
+ * exists, a crash between spawn and the spawn-step checkpoint is recoverable —
7
+ * the re-run adopts the existing machine under the same name + secret.
8
+ */
9
+ import type { SandboxIdentity } from "./types.js";
10
+ /** `sbx-{run8}-{rand8}` — run prefix aids `kubectl` triage; the 8-hex random
11
+ * suffix makes within-run collisions across a run's concurrent steps
12
+ * negligible. Names are NOT the idempotency mechanism (the checkpoint is), and
13
+ * adoption is owner-label-guarded, but a unique name keeps a collision from
14
+ * ever reaching that guard. */
15
+ export declare function mintSandboxIdentity(runId: string): SandboxIdentity;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Sandbox identity minting — the durable half of the two-step create (ADR
3
+ * 0016). Backend-agnostic: the `sandboxId` and HMAC `callbackSecret` are minted
4
+ * here, checkpointed by the `sandbox.mint` DBOS step, then handed to the
5
+ * backend's spawn step. Because the identity is durable before any machine
6
+ * exists, a crash between spawn and the spawn-step checkpoint is recoverable —
7
+ * the re-run adopts the existing machine under the same name + secret.
8
+ */
9
+ import { randomBytes, randomUUID } from "node:crypto";
10
+ /** `sbx-{run8}-{rand8}` — run prefix aids `kubectl` triage; the 8-hex random
11
+ * suffix makes within-run collisions across a run's concurrent steps
12
+ * negligible. Names are NOT the idempotency mechanism (the checkpoint is), and
13
+ * adoption is owner-label-guarded, but a unique name keeps a collision from
14
+ * ever reaching that guard. */
15
+ export function mintSandboxIdentity(runId) {
16
+ const run8 = runId.replace(/-/g, "").slice(0, 8);
17
+ const suffix = randomUUID().replace(/-/g, "").slice(0, 8);
18
+ return {
19
+ sandboxId: `sbx-${run8}-${suffix}`,
20
+ callbackSecret: "base64:" + randomBytes(32).toString("base64"),
21
+ };
22
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Directory names that are tooling noise (interpreter caches, dependency
3
+ * trees) rather than analysis artifacts. `walkStepArtifacts`
4
+ * (`execution/post-step.js`) prunes these while walking a step's writable
5
+ * tree so caches never register as artifacts.
6
+ */
7
+ export declare const IGNORED_DIRS: Set<string>;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Directory names that are tooling noise (interpreter caches, dependency
3
+ * trees) rather than analysis artifacts. `walkStepArtifacts`
4
+ * (`execution/post-step.js`) prunes these while walking a step's writable
5
+ * tree so caches never register as artifacts.
6
+ */
7
+ export const IGNORED_DIRS = new Set([".ruff_cache", "__pycache__", ".cache", ".ipynb_checkpoints", "node_modules", ".Rproj.user"]);
@@ -0,0 +1,71 @@
1
+ /**
2
+ * K8s-backed `createSandbox` / `teardown` / `isAlive`.
3
+ *
4
+ * Launches a sandbox Job with `CORTEX_BASE_URL` and `SANDBOX_CALLBACK_SECRET`
5
+ * env vars; pod IP + port 8765 are the host/port Cortex POSTs `/exec` to.
6
+ * Storage is wired via the shared session PVC: a flat read-only `volumeMount`
7
+ * of the analysis tree at `/{resourceId}` plus a nested read-write mount of the
8
+ * step's artifact dir, with the lib/ref stores mounted read-only at `/mnt/libs`
9
+ * / `/mnt/refs` when their PVCs are set. Container paths and lib-store env come
10
+ * from the shared mount plan; the PVC `subPath`s are derived from the same
11
+ * `resolveWorkspaceRoot` seam the harness pre-creates the step tree under, so
12
+ * both sides address one directory by construction.
13
+ */
14
+ import { BatchV1Api, CoreV1Api, type V1Toleration } from "@kubernetes/client-node";
15
+ import { ResultAsync } from "neverthrow";
16
+ import type { ResolveWorkspaceRoot } from "../workspace/paths.js";
17
+ import { type SandboxError } from "./sandbox-error.js";
18
+ import type { CreateSandboxMeta, ManagedSandbox, SandboxIdentity, SandboxLiveness, SandboxRef, SandboxTransport } from "./types.js";
19
+ /**
20
+ * Coerce an arbitrary identifier into a valid K8s label value:
21
+ * ≤63 chars, `[A-Za-z0-9._-]` only, starting and ending alphanumeric.
22
+ * Workflow ids legitimately contain `:` (exec-id routing packs
23
+ * `workflowId:stepId:fnId`), which is illegal in a label — without this an
24
+ * otherwise-valid Job is rejected with a 422 at admission. Sanitization is a
25
+ * no-op for already-valid ids, so DBOS-keyed lookups (adoption, reaper) match
26
+ * unchanged; only the synthetic, non-DBOS data-profile id is rewritten.
27
+ */
28
+ export declare function sanitizeLabelValue(value: string): string;
29
+ export interface K8sClientConfig {
30
+ image: string;
31
+ cortexBaseUrl: string;
32
+ /**
33
+ * Result transport, threaded to the pod as `SANDBOX_TRANSPORT`. Poll-mode
34
+ * confinement on K8s is a cluster-side NetworkPolicy, not an in-pod firewall.
35
+ * Defaults to `poll`.
36
+ */
37
+ transport?: SandboxTransport;
38
+ namespace: string;
39
+ /** PVC claim backing the shared session PVC the workspace roots live under. */
40
+ sessionPvc?: string;
41
+ /**
42
+ * Absolute mountpoint of `sessionPvc` on THIS process's filesystem. Required whenever
43
+ * `sessionPvc` is set: a pod addresses the PVC by `subPath`, so the harness must be able
44
+ * to express a resolved workspace root as a path relative to the volume's root. Every
45
+ * root the embedder resolves must therefore live under this directory.
46
+ */
47
+ sessionPvcRoot?: string;
48
+ /** Workspace-root resolution seam; the source of each analysis's PVC `subPath`. */
49
+ resolveWorkspaceRoot: ResolveWorkspaceRoot;
50
+ /** PVC claim mounted read-only at `/mnt/libs` when set. */
51
+ libStorePvc?: string;
52
+ /** PVC claim mounted read-only at `/mnt/refs` when set. */
53
+ refStorePvc?: string;
54
+ /** Node selector pinning sandbox pods to the dedicated agent pool. Omit for default scheduling. */
55
+ nodeSelector?: Record<string, string>;
56
+ /** Tolerations letting sandbox pods land on tainted agent nodes (e.g. `platform.io/agent-only:NoSchedule`). Omit for none. */
57
+ tolerations?: V1Toleration[];
58
+ /** RuntimeClass for runtime isolation (e.g. `gvisor`). Omit for the default runtime. */
59
+ runtimeClassName?: string;
60
+ /** Injected for tests. */
61
+ batchApi?: BatchV1Api;
62
+ coreApi?: CoreV1Api;
63
+ registerSandbox: (meta: CreateSandboxMeta, ref: SandboxRef) => Promise<void>;
64
+ }
65
+ export declare function createK8sSandboxOps(config: K8sClientConfig): {
66
+ createSandbox(meta: CreateSandboxMeta, identity: SandboxIdentity): ResultAsync<SandboxRef, SandboxError>;
67
+ teardown(ref: SandboxRef): ResultAsync<void, SandboxError>;
68
+ teardownById(sandboxId: string): ResultAsync<void, SandboxError>;
69
+ isAlive(ref: SandboxRef): ResultAsync<SandboxLiveness, SandboxError>;
70
+ listManagedSandboxes(): ResultAsync<ManagedSandbox[], SandboxError>;
71
+ };