@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.
- package/LICENSE +202 -0
- package/NOTICE +5 -0
- package/README.md +58 -0
- package/dist/agents/conversation-agent.d.ts +105 -0
- package/dist/agents/conversation-agent.js +140 -0
- package/dist/agents/report-builder.d.ts +32 -0
- package/dist/agents/report-builder.js +31 -0
- package/dist/agents/sandbox/__fixtures__/deps.d.ts +23 -0
- package/dist/agents/sandbox/__fixtures__/deps.js +96 -0
- package/dist/agents/sandbox/bulk-transcriptomics-agent.d.ts +8 -0
- package/dist/agents/sandbox/bulk-transcriptomics-agent.js +22 -0
- package/dist/agents/sandbox/cheminformatics-agent.d.ts +9 -0
- package/dist/agents/sandbox/cheminformatics-agent.js +62 -0
- package/dist/agents/sandbox/chromatin-agent.d.ts +8 -0
- package/dist/agents/sandbox/chromatin-agent.js +24 -0
- package/dist/agents/sandbox/data-profiler.d.ts +10 -0
- package/dist/agents/sandbox/data-profiler.js +24 -0
- package/dist/agents/sandbox/dna-methylation-agent.d.ts +8 -0
- package/dist/agents/sandbox/dna-methylation-agent.js +24 -0
- package/dist/agents/sandbox/drug-repurposing-agent.d.ts +8 -0
- package/dist/agents/sandbox/drug-repurposing-agent.js +54 -0
- package/dist/agents/sandbox/enrichment-agent.d.ts +8 -0
- package/dist/agents/sandbox/enrichment-agent.js +24 -0
- package/dist/agents/sandbox/ephemeral-executor.d.ts +9 -0
- package/dist/agents/sandbox/ephemeral-executor.js +29 -0
- package/dist/agents/sandbox/genomic-variant-agent.d.ts +8 -0
- package/dist/agents/sandbox/genomic-variant-agent.js +27 -0
- package/dist/agents/sandbox/immune-profiling-agent.d.ts +8 -0
- package/dist/agents/sandbox/immune-profiling-agent.js +43 -0
- package/dist/agents/sandbox/index.d.ts +31 -0
- package/dist/agents/sandbox/index.js +96 -0
- package/dist/agents/sandbox/metabolomics-agent.d.ts +8 -0
- package/dist/agents/sandbox/metabolomics-agent.js +15 -0
- package/dist/agents/sandbox/microbiome-agent.d.ts +8 -0
- package/dist/agents/sandbox/microbiome-agent.js +15 -0
- package/dist/agents/sandbox/multi-omics-integration-agent.d.ts +8 -0
- package/dist/agents/sandbox/multi-omics-integration-agent.js +33 -0
- package/dist/agents/sandbox/multimodal-sc-agent.d.ts +8 -0
- package/dist/agents/sandbox/multimodal-sc-agent.js +15 -0
- package/dist/agents/sandbox/network-agent.d.ts +8 -0
- package/dist/agents/sandbox/network-agent.js +25 -0
- package/dist/agents/sandbox/pkpd-clinical-response-agent.d.ts +8 -0
- package/dist/agents/sandbox/pkpd-clinical-response-agent.js +59 -0
- package/dist/agents/sandbox/proteomics-agent.d.ts +8 -0
- package/dist/agents/sandbox/proteomics-agent.js +15 -0
- package/dist/agents/sandbox/scientific-executor.d.ts +9 -0
- package/dist/agents/sandbox/scientific-executor.js +56 -0
- package/dist/agents/sandbox/shared.d.ts +100 -0
- package/dist/agents/sandbox/shared.js +195 -0
- package/dist/agents/sandbox/single-cell-agent.d.ts +8 -0
- package/dist/agents/sandbox/single-cell-agent.js +25 -0
- package/dist/agents/sandbox/spatial-omics-agent.d.ts +8 -0
- package/dist/agents/sandbox/spatial-omics-agent.js +15 -0
- package/dist/agents/sandbox/statistical-modeling-agent.d.ts +8 -0
- package/dist/agents/sandbox/statistical-modeling-agent.js +37 -0
- package/dist/agents/sandbox/translational-safety-agent.d.ts +8 -0
- package/dist/agents/sandbox/translational-safety-agent.js +59 -0
- package/dist/agents/sandbox/types.d.ts +34 -0
- package/dist/agents/sandbox/types.js +15 -0
- package/dist/agents/sandbox/validate-skills.d.ts +18 -0
- package/dist/agents/sandbox/validate-skills.js +40 -0
- package/dist/agents/sandbox-catalog.d.ts +33 -0
- package/dist/agents/sandbox-catalog.js +44 -0
- package/dist/agents/system-prompt.d.ts +25 -0
- package/dist/agents/system-prompt.js +23 -0
- package/dist/app/chat-turn.d.ts +35 -0
- package/dist/app/chat-turn.js +64 -0
- package/dist/app/data-profile-policy.d.ts +36 -0
- package/dist/app/data-profile-policy.js +37 -0
- package/dist/app/message-assembly.d.ts +65 -0
- package/dist/app/message-assembly.js +61 -0
- package/dist/app/synthesize-run.d.ts +57 -0
- package/dist/app/synthesize-run.js +103 -0
- package/dist/auth/local-auth-context.d.ts +19 -0
- package/dist/auth/local-auth-context.js +20 -0
- package/dist/auth/local-run-authorizer.d.ts +10 -0
- package/dist/auth/local-run-authorizer.js +23 -0
- package/dist/auth/types.d.ts +166 -0
- package/dist/auth/types.js +61 -0
- package/dist/billing/cached-resolver.d.ts +23 -0
- package/dist/billing/cached-resolver.js +61 -0
- package/dist/billing/noop-resolver.d.ts +6 -0
- package/dist/billing/noop-resolver.js +7 -0
- package/dist/billing/noop-run-charge.d.ts +6 -0
- package/dist/billing/noop-run-charge.js +10 -0
- package/dist/billing/resolver.d.ts +64 -0
- package/dist/billing/resolver.js +24 -0
- package/dist/billing/run-charge.d.ts +24 -0
- package/dist/billing/run-charge.js +9 -0
- package/dist/config/resource-limits.d.ts +76 -0
- package/dist/config/resource-limits.js +116 -0
- package/dist/contracts/analogy-report.d.ts +120 -0
- package/dist/contracts/analogy-report.js +50 -0
- package/dist/contracts/chat-events.d.ts +61 -0
- package/dist/contracts/chat-events.js +13 -0
- package/dist/contracts/chat-parts.d.ts +308 -0
- package/dist/contracts/chat-parts.js +13 -0
- package/dist/contracts/content-url.d.ts +49 -0
- package/dist/contracts/content-url.js +56 -0
- package/dist/contracts/index.d.ts +12 -0
- package/dist/contracts/index.js +5 -0
- package/dist/contracts/message.d.ts +36 -0
- package/dist/contracts/message.js +9 -0
- package/dist/contracts/part-registry.d.ts +18 -0
- package/dist/contracts/part-registry.js +28 -0
- package/dist/contracts/schemas/chat-events.d.ts +90 -0
- package/dist/contracts/schemas/chat-events.js +43 -0
- package/dist/contracts/schemas/chat-parts.d.ts +683 -0
- package/dist/contracts/schemas/chat-parts.js +295 -0
- package/dist/contracts/schemas/index.d.ts +2 -0
- package/dist/contracts/schemas/index.js +2 -0
- package/dist/contracts/target-assessment-row.d.ts +85 -0
- package/dist/contracts/target-assessment-row.js +37 -0
- package/dist/contracts/target-dossier.d.ts +16720 -0
- package/dist/contracts/target-dossier.js +1339 -0
- package/dist/data/clinical-benchmarks.json +108 -0
- package/dist/data/protein-family-modality.json +101 -0
- package/dist/data/safety-panel-schema.d.ts +64 -0
- package/dist/data/safety-panel-schema.js +34 -0
- package/dist/data/safety-panel.json +436 -0
- package/dist/execution/artifact-metadata.d.ts +74 -0
- package/dist/execution/artifact-metadata.js +203 -0
- package/dist/execution/artifact-record.d.ts +19 -0
- package/dist/execution/artifact-record.js +7 -0
- package/dist/execution/artifact-registration.d.ts +36 -0
- package/dist/execution/artifact-registration.js +61 -0
- package/dist/execution/artifact-registry.d.ts +82 -0
- package/dist/execution/artifact-registry.js +17 -0
- package/dist/execution/dbos-run-launcher.d.ts +7 -0
- package/dist/execution/dbos-run-launcher.js +38 -0
- package/dist/execution/ephemeral-runner.d.ts +81 -0
- package/dist/execution/ephemeral-runner.js +161 -0
- package/dist/execution/filesystem-artifact-registry.d.ts +57 -0
- package/dist/execution/filesystem-artifact-registry.js +92 -0
- package/dist/execution/noop-artifact-registry.d.ts +11 -0
- package/dist/execution/noop-artifact-registry.js +17 -0
- package/dist/execution/post-step-pipeline.d.ts +70 -0
- package/dist/execution/post-step-pipeline.js +207 -0
- package/dist/execution/post-step.d.ts +20 -0
- package/dist/execution/post-step.js +65 -0
- package/dist/execution/reconcile-manifest.d.ts +25 -0
- package/dist/execution/reconcile-manifest.js +132 -0
- package/dist/execution/report-render.d.ts +39 -0
- package/dist/execution/report-render.js +98 -0
- package/dist/execution/report-runner.d.ts +87 -0
- package/dist/execution/report-runner.js +227 -0
- package/dist/execution/run-authorizer.d.ts +43 -0
- package/dist/execution/run-authorizer.js +17 -0
- package/dist/execution/run-launcher.d.ts +36 -0
- package/dist/execution/run-launcher.js +15 -0
- package/dist/execution/run-synthesis.d.ts +107 -0
- package/dist/execution/run-synthesis.js +329 -0
- package/dist/execution/staged-input.d.ts +41 -0
- package/dist/execution/staged-input.js +15 -0
- package/dist/execution/step-summary-metrics.d.ts +10 -0
- package/dist/execution/step-summary-metrics.js +22 -0
- package/dist/execution/step-summary.d.ts +55 -0
- package/dist/execution/step-summary.js +106 -0
- package/dist/execution/topo-sort.d.ts +33 -0
- package/dist/execution/topo-sort.js +99 -0
- package/dist/index.d.ts +112 -0
- package/dist/index.js +157 -0
- package/dist/input-sanitization.d.ts +22 -0
- package/dist/input-sanitization.js +64 -0
- package/dist/lib/async-utils.d.ts +10 -0
- package/dist/lib/async-utils.js +24 -0
- package/dist/lib/chrome.d.ts +15 -0
- package/dist/lib/chrome.js +95 -0
- package/dist/lib/db-result.d.ts +93 -0
- package/dist/lib/db-result.js +197 -0
- package/dist/lib/fs-helpers.d.ts +74 -0
- package/dist/lib/fs-helpers.js +119 -0
- package/dist/lib/fs-result.d.ts +98 -0
- package/dist/lib/fs-result.js +137 -0
- package/dist/lib/host-concurrency.d.ts +16 -0
- package/dist/lib/host-concurrency.js +60 -0
- package/dist/lib/identifiers.d.ts +8 -0
- package/dist/lib/identifiers.js +10 -0
- package/dist/lib/metrics.d.ts +7 -0
- package/dist/lib/metrics.js +12 -0
- package/dist/lib/mime-detect.d.ts +17 -0
- package/dist/lib/mime-detect.js +29 -0
- package/dist/lib/otel.d.ts +30 -0
- package/dist/lib/otel.js +102 -0
- package/dist/lib/regulatory-corpus/fetch-fda-guidance.d.ts +35 -0
- package/dist/lib/regulatory-corpus/fetch-fda-guidance.js +107 -0
- package/dist/lib/regulatory-corpus/fetch-ich.d.ts +46 -0
- package/dist/lib/regulatory-corpus/fetch-ich.js +173 -0
- package/dist/lib/regulatory-corpus.d.ts +88 -0
- package/dist/lib/regulatory-corpus.js +141 -0
- package/dist/lib/result.d.ts +87 -0
- package/dist/lib/result.js +103 -0
- package/dist/lib/storage.d.ts +29 -0
- package/dist/lib/storage.js +37 -0
- package/dist/lib/streamed-download.d.ts +28 -0
- package/dist/lib/streamed-download.js +111 -0
- package/dist/lib/trace-context.d.ts +11 -0
- package/dist/lib/trace-context.js +49 -0
- package/dist/loop/__fixtures__/scripted-provider.d.ts +31 -0
- package/dist/loop/__fixtures__/scripted-provider.js +57 -0
- package/dist/loop/budget-exceeded.d.ts +22 -0
- package/dist/loop/budget-exceeded.js +41 -0
- package/dist/loop/metrics.d.ts +25 -0
- package/dist/loop/metrics.js +46 -0
- package/dist/loop/run-agent.d.ts +28 -0
- package/dist/loop/run-agent.js +204 -0
- package/dist/loop/run-step.d.ts +29 -0
- package/dist/loop/run-step.js +34 -0
- package/dist/loop/run-to-terminal.d.ts +46 -0
- package/dist/loop/run-to-terminal.js +51 -0
- package/dist/loop/types.d.ts +95 -0
- package/dist/loop/types.js +10 -0
- package/dist/memory/ai-sdk-message-storage.d.ts +20 -0
- package/dist/memory/ai-sdk-message-storage.js +114 -0
- package/dist/memory/card-builders.d.ts +114 -0
- package/dist/memory/card-builders.js +231 -0
- package/dist/memory/content-to-cortex.d.ts +42 -0
- package/dist/memory/content-to-cortex.js +85 -0
- package/dist/memory/count-tokens.d.ts +18 -0
- package/dist/memory/count-tokens.js +64 -0
- package/dist/memory/derive-thread-title.d.ts +14 -0
- package/dist/memory/derive-thread-title.js +26 -0
- package/dist/memory/message-backfill.d.ts +2 -0
- package/dist/memory/message-backfill.js +38 -0
- package/dist/memory/reconstruct-cards.d.ts +23 -0
- package/dist/memory/reconstruct-cards.js +64 -0
- package/dist/memory/thread-history.d.ts +80 -0
- package/dist/memory/thread-history.js +187 -0
- package/dist/memory/thread-store.d.ts +66 -0
- package/dist/memory/thread-store.js +88 -0
- package/dist/memory/working-memory.d.ts +135 -0
- package/dist/memory/working-memory.js +185 -0
- package/dist/prompts/SOUL.d.ts +17 -0
- package/dist/prompts/SOUL.js +173 -0
- package/dist/prompts/analogical-reasoner.d.ts +1 -0
- package/dist/prompts/analogical-reasoner.js +170 -0
- package/dist/prompts/conversation.d.ts +1 -0
- package/dist/prompts/conversation.js +697 -0
- package/dist/prompts/execute-analysis/step-summary.d.ts +1 -0
- package/dist/prompts/execute-analysis/step-summary.js +38 -0
- package/dist/prompts/literature-reviewer.d.ts +1 -0
- package/dist/prompts/literature-reviewer.js +107 -0
- package/dist/prompts/planner.d.ts +2 -0
- package/dist/prompts/planner.js +259 -0
- package/dist/prompts/report-builder.d.ts +1 -0
- package/dist/prompts/report-builder.js +127 -0
- package/dist/prompts/sandbox/bulk-transcriptomics-agent.d.ts +1 -0
- package/dist/prompts/sandbox/bulk-transcriptomics-agent.js +78 -0
- package/dist/prompts/sandbox/cheminformatics-agent.d.ts +1 -0
- package/dist/prompts/sandbox/cheminformatics-agent.js +224 -0
- package/dist/prompts/sandbox/chromatin-agent.d.ts +1 -0
- package/dist/prompts/sandbox/chromatin-agent.js +100 -0
- package/dist/prompts/sandbox/data-profiler.d.ts +1 -0
- package/dist/prompts/sandbox/data-profiler.js +291 -0
- package/dist/prompts/sandbox/dna-methylation-agent.d.ts +1 -0
- package/dist/prompts/sandbox/dna-methylation-agent.js +96 -0
- package/dist/prompts/sandbox/drug-repurposing-agent.d.ts +1 -0
- package/dist/prompts/sandbox/drug-repurposing-agent.js +144 -0
- package/dist/prompts/sandbox/enrichment-agent.d.ts +1 -0
- package/dist/prompts/sandbox/enrichment-agent.js +89 -0
- package/dist/prompts/sandbox/ephemeral-executor.d.ts +1 -0
- package/dist/prompts/sandbox/ephemeral-executor.js +66 -0
- package/dist/prompts/sandbox/genomic-variant-agent.d.ts +1 -0
- package/dist/prompts/sandbox/genomic-variant-agent.js +83 -0
- package/dist/prompts/sandbox/immune-profiling-agent.d.ts +1 -0
- package/dist/prompts/sandbox/immune-profiling-agent.js +101 -0
- package/dist/prompts/sandbox/metabolomics-agent.d.ts +1 -0
- package/dist/prompts/sandbox/metabolomics-agent.js +89 -0
- package/dist/prompts/sandbox/microbiome-agent.d.ts +1 -0
- package/dist/prompts/sandbox/microbiome-agent.js +109 -0
- package/dist/prompts/sandbox/multi-omics-integration-agent.d.ts +1 -0
- package/dist/prompts/sandbox/multi-omics-integration-agent.js +122 -0
- package/dist/prompts/sandbox/multimodal-sc-agent.d.ts +1 -0
- package/dist/prompts/sandbox/multimodal-sc-agent.js +90 -0
- package/dist/prompts/sandbox/network-agent.d.ts +1 -0
- package/dist/prompts/sandbox/network-agent.js +95 -0
- package/dist/prompts/sandbox/pkpd-clinical-response-agent.d.ts +1 -0
- package/dist/prompts/sandbox/pkpd-clinical-response-agent.js +71 -0
- package/dist/prompts/sandbox/proteomics-agent.d.ts +1 -0
- package/dist/prompts/sandbox/proteomics-agent.js +93 -0
- package/dist/prompts/sandbox/scientific-executor.d.ts +1 -0
- package/dist/prompts/sandbox/scientific-executor.js +68 -0
- package/dist/prompts/sandbox/single-cell-agent.d.ts +1 -0
- package/dist/prompts/sandbox/single-cell-agent.js +129 -0
- package/dist/prompts/sandbox/spatial-omics-agent.d.ts +1 -0
- package/dist/prompts/sandbox/spatial-omics-agent.js +94 -0
- package/dist/prompts/sandbox/statistical-modeling-agent.d.ts +1 -0
- package/dist/prompts/sandbox/statistical-modeling-agent.js +112 -0
- package/dist/prompts/sandbox/translational-safety-agent.d.ts +1 -0
- package/dist/prompts/sandbox/translational-safety-agent.js +105 -0
- package/dist/prompts/sandbox-standards.d.ts +18 -0
- package/dist/prompts/sandbox-standards.js +358 -0
- package/dist/prompts/synthesis-agent.d.ts +1 -0
- package/dist/prompts/synthesis-agent.js +289 -0
- package/dist/prompts/target-assessment/briefs/executive-recommendation.d.ts +1 -0
- package/dist/prompts/target-assessment/briefs/executive-recommendation.js +85 -0
- package/dist/prompts/target-assessment/briefs/index.d.ts +4 -0
- package/dist/prompts/target-assessment/briefs/index.js +4 -0
- package/dist/prompts/target-assessment/briefs/liability-bullets.d.ts +1 -0
- package/dist/prompts/target-assessment/briefs/liability-bullets.js +114 -0
- package/dist/prompts/target-assessment/briefs/target-organ-liabilities.d.ts +1 -0
- package/dist/prompts/target-assessment/briefs/target-organ-liabilities.js +29 -0
- package/dist/prompts/target-assessment/briefs/translational-commentary.d.ts +1 -0
- package/dist/prompts/target-assessment/briefs/translational-commentary.js +23 -0
- package/dist/prompts/target-assessment/drugs-in-class.d.ts +1 -0
- package/dist/prompts/target-assessment/drugs-in-class.js +29 -0
- package/dist/prompts/target-assessment/modulator-triage.d.ts +1 -0
- package/dist/prompts/target-assessment/modulator-triage.js +31 -0
- package/dist/prompts/target-assessment/off-target-annotator.d.ts +1 -0
- package/dist/prompts/target-assessment/off-target-annotator.js +28 -0
- package/dist/prompts/target-assessment/tox-voice/core.d.ts +1 -0
- package/dist/prompts/target-assessment/tox-voice/core.js +74 -0
- package/dist/prompts/target-assessment/tox-voice/critique.d.ts +7 -0
- package/dist/prompts/target-assessment/tox-voice/critique.js +109 -0
- package/dist/prompts/target-assessment/tox-voice/exemplars.d.ts +8 -0
- package/dist/prompts/target-assessment/tox-voice/exemplars.js +24 -0
- package/dist/prompts/target-assessment/tox-voice/index.d.ts +4 -0
- package/dist/prompts/target-assessment/tox-voice/index.js +4 -0
- package/dist/prompts/target-assessment/tox-voice/vocabulary.d.ts +15 -0
- package/dist/prompts/target-assessment/tox-voice/vocabulary.js +72 -0
- package/dist/provenance/collector.d.ts +148 -0
- package/dist/provenance/collector.js +296 -0
- package/dist/provenance/exec-frame.d.ts +36 -0
- package/dist/provenance/exec-frame.js +49 -0
- package/dist/provenance/types.d.ts +95 -0
- package/dist/provenance/types.js +64 -0
- package/dist/providers/__fixtures__/session.d.ts +16 -0
- package/dist/providers/__fixtures__/session.js +20 -0
- package/dist/providers/ai-sdk.d.ts +47 -0
- package/dist/providers/ai-sdk.js +142 -0
- package/dist/providers/anthropic.d.ts +22 -0
- package/dist/providers/anthropic.js +26 -0
- package/dist/providers/embedding.d.ts +32 -0
- package/dist/providers/embedding.js +42 -0
- package/dist/providers/errors.d.ts +80 -0
- package/dist/providers/errors.js +137 -0
- package/dist/providers/llm-capabilities.d.ts +33 -0
- package/dist/providers/llm-capabilities.js +58 -0
- package/dist/providers/streaming-chat.d.ts +23 -0
- package/dist/providers/streaming-chat.js +61 -0
- package/dist/providers/types.d.ts +59 -0
- package/dist/providers/types.js +8 -0
- package/dist/runtime/assemble.d.ts +68 -0
- package/dist/runtime/assemble.js +46 -0
- package/dist/runtime/boot.d.ts +73 -0
- package/dist/runtime/boot.js +65 -0
- package/dist/runtime/connection-budget.d.ts +48 -0
- package/dist/runtime/connection-budget.js +57 -0
- package/dist/runtime/dbos.d.ts +94 -0
- package/dist/runtime/dbos.js +160 -0
- package/dist/runtime/lifecycle.d.ts +12 -0
- package/dist/runtime/lifecycle.js +19 -0
- package/dist/runtime/pools.d.ts +25 -0
- package/dist/runtime/pools.js +30 -0
- package/dist/runtime/shutdown.d.ts +33 -0
- package/dist/runtime/shutdown.js +39 -0
- package/dist/sandbox/await-exec.d.ts +143 -0
- package/dist/sandbox/await-exec.js +406 -0
- package/dist/sandbox/client.d.ts +82 -0
- package/dist/sandbox/client.js +23 -0
- package/dist/sandbox/create-sandbox.d.ts +105 -0
- package/dist/sandbox/create-sandbox.js +132 -0
- package/dist/sandbox/deliver-exec-event.d.ts +25 -0
- package/dist/sandbox/deliver-exec-event.js +29 -0
- package/dist/sandbox/docker-client.d.ts +75 -0
- package/dist/sandbox/docker-client.js +315 -0
- package/dist/sandbox/estimate-data-profile-resources.d.ts +5 -0
- package/dist/sandbox/estimate-data-profile-resources.js +73 -0
- package/dist/sandbox/exec-id.d.ts +12 -0
- package/dist/sandbox/exec-id.js +20 -0
- package/dist/sandbox/execution-id.d.ts +30 -0
- package/dist/sandbox/execution-id.js +47 -0
- package/dist/sandbox/hmac.d.ts +54 -0
- package/dist/sandbox/hmac.js +67 -0
- package/dist/sandbox/identity.d.ts +15 -0
- package/dist/sandbox/identity.js +22 -0
- package/dist/sandbox/ignored-dirs.d.ts +7 -0
- package/dist/sandbox/ignored-dirs.js +7 -0
- package/dist/sandbox/k8s-client.d.ts +71 -0
- package/dist/sandbox/k8s-client.js +488 -0
- package/dist/sandbox/liveness.d.ts +60 -0
- package/dist/sandbox/liveness.js +82 -0
- package/dist/sandbox/mount-plan.d.ts +77 -0
- package/dist/sandbox/mount-plan.js +84 -0
- package/dist/sandbox/notification-sweep.d.ts +42 -0
- package/dist/sandbox/notification-sweep.js +74 -0
- package/dist/sandbox/reaper.d.ts +70 -0
- package/dist/sandbox/reaper.js +124 -0
- package/dist/sandbox/sandbox-error.d.ts +105 -0
- package/dist/sandbox/sandbox-error.js +92 -0
- package/dist/sandbox/sandbox-step-translate.d.ts +35 -0
- package/dist/sandbox/sandbox-step-translate.js +76 -0
- package/dist/sandbox/submit-exec.d.ts +33 -0
- package/dist/sandbox/submit-exec.js +68 -0
- package/dist/sandbox/types.d.ts +277 -0
- package/dist/sandbox/types.js +147 -0
- package/dist/sandbox/watchdog.d.ts +71 -0
- package/dist/sandbox/watchdog.js +150 -0
- package/dist/schemas/artifact-manifest.d.ts +34 -0
- package/dist/schemas/artifact-manifest.js +36 -0
- package/dist/schemas/data-profile-schemas.d.ts +92 -0
- package/dist/schemas/data-profile-schemas.js +89 -0
- package/dist/schemas/file-metadata.d.ts +51 -0
- package/dist/schemas/file-metadata.js +39 -0
- package/dist/schemas/plan-schemas.d.ts +110 -0
- package/dist/schemas/plan-schemas.js +50 -0
- package/dist/schemas/render-step-prompt.d.ts +32 -0
- package/dist/schemas/render-step-prompt.js +76 -0
- package/dist/schemas/run-synthesis.d.ts +148 -0
- package/dist/schemas/run-synthesis.js +87 -0
- package/dist/schemas/step-summary.d.ts +18 -0
- package/dist/schemas/step-summary.js +20 -0
- package/dist/schemas/validate-plan.d.ts +39 -0
- package/dist/schemas/validate-plan.js +120 -0
- package/dist/schemas/workflow-state.d.ts +314 -0
- package/dist/schemas/workflow-state.js +139 -0
- package/dist/state/active-sandboxes.d.ts +58 -0
- package/dist/state/active-sandboxes.js +100 -0
- package/dist/state/analyses-metrics.d.ts +21 -0
- package/dist/state/analyses-metrics.js +59 -0
- package/dist/state/analyses.d.ts +58 -0
- package/dist/state/analyses.js +132 -0
- package/dist/state/artifacts.d.ts +53 -0
- package/dist/state/artifacts.js +175 -0
- package/dist/state/data-profile.d.ts +176 -0
- package/dist/state/data-profile.js +284 -0
- package/dist/state/db.d.ts +10 -0
- package/dist/state/db.js +9 -0
- package/dist/state/index.d.ts +29 -0
- package/dist/state/index.js +20 -0
- package/dist/state/init.d.ts +14 -0
- package/dist/state/init.js +406 -0
- package/dist/state/plans.d.ts +56 -0
- package/dist/state/plans.js +117 -0
- package/dist/state/runs.d.ts +69 -0
- package/dist/state/runs.js +206 -0
- package/dist/state/schema.d.ts +150 -0
- package/dist/state/schema.js +100 -0
- package/dist/state/step-executions.d.ts +77 -0
- package/dist/state/step-executions.js +175 -0
- package/dist/state/target-assessments.d.ts +68 -0
- package/dist/state/target-assessments.js +222 -0
- package/dist/state/vector-store.d.ts +53 -0
- package/dist/state/vector-store.js +89 -0
- package/dist/tasks/data-profile.d.ts +171 -0
- package/dist/tasks/data-profile.js +461 -0
- package/dist/tasks/refresh-regulatory-corpus.d.ts +59 -0
- package/dist/tasks/refresh-regulatory-corpus.js +146 -0
- package/dist/tasks/regulatory-corpus-boot-refresh.d.ts +55 -0
- package/dist/tasks/regulatory-corpus-boot-refresh.js +149 -0
- package/dist/tools/__fixtures__/tool-context.d.ts +13 -0
- package/dist/tools/__fixtures__/tool-context.js +18 -0
- package/dist/tools/bio/check-safety-panel.d.ts +35 -0
- package/dist/tools/bio/check-safety-panel.js +76 -0
- package/dist/tools/bio/find-approval-precedent.d.ts +32 -0
- package/dist/tools/bio/find-approval-precedent.js +72 -0
- package/dist/tools/bio/get-article-details.d.ts +11 -0
- package/dist/tools/bio/get-article-details.js +20 -0
- package/dist/tools/bio/get-article-full-text.d.ts +19 -0
- package/dist/tools/bio/get-article-full-text.js +32 -0
- package/dist/tools/bio/get-bioactivity.d.ts +11 -0
- package/dist/tools/bio/get-bioactivity.js +23 -0
- package/dist/tools/bio/get-drug-info.d.ts +9 -0
- package/dist/tools/bio/get-drug-info.js +22 -0
- package/dist/tools/bio/get-impc-ko-profile.d.ts +9 -0
- package/dist/tools/bio/get-impc-ko-profile.js +20 -0
- package/dist/tools/bio/get-mechanism.d.ts +8 -0
- package/dist/tools/bio/get-mechanism.js +18 -0
- package/dist/tools/bio/get-pubchem-assays.d.ts +22 -0
- package/dist/tools/bio/get-pubchem-assays.js +107 -0
- package/dist/tools/bio/get-pubchem-cross-refs.d.ts +15 -0
- package/dist/tools/bio/get-pubchem-cross-refs.js +68 -0
- package/dist/tools/bio/get-target-safety.d.ts +18 -0
- package/dist/tools/bio/get-target-safety.js +26 -0
- package/dist/tools/bio/index.d.ts +41 -0
- package/dist/tools/bio/index.js +48 -0
- package/dist/tools/bio/keys.d.ts +31 -0
- package/dist/tools/bio/keys.js +30 -0
- package/dist/tools/bio/lookup-go-term.d.ts +31 -0
- package/dist/tools/bio/lookup-go-term.js +116 -0
- package/dist/tools/bio/search-bgee-expression.d.ts +10 -0
- package/dist/tools/bio/search-bgee-expression.js +24 -0
- package/dist/tools/bio/search-clinical-trials.d.ts +12 -0
- package/dist/tools/bio/search-clinical-trials.js +21 -0
- package/dist/tools/bio/search-clinvar.d.ts +13 -0
- package/dist/tools/bio/search-clinvar.js +28 -0
- package/dist/tools/bio/search-compounds.d.ts +22 -0
- package/dist/tools/bio/search-compounds.js +160 -0
- package/dist/tools/bio/search-ctx-chemical.d.ts +50 -0
- package/dist/tools/bio/search-ctx-chemical.js +130 -0
- package/dist/tools/bio/search-ctx-exposure.d.ts +55 -0
- package/dist/tools/bio/search-ctx-exposure.js +176 -0
- package/dist/tools/bio/search-ctx-hazard.d.ts +111 -0
- package/dist/tools/bio/search-ctx-hazard.js +178 -0
- package/dist/tools/bio/search-dgidb.d.ts +43 -0
- package/dist/tools/bio/search-dgidb.js +199 -0
- package/dist/tools/bio/search-disgenet.d.ts +30 -0
- package/dist/tools/bio/search-disgenet.js +84 -0
- package/dist/tools/bio/search-drugbank.d.ts +38 -0
- package/dist/tools/bio/search-drugbank.js +109 -0
- package/dist/tools/bio/search-faers.d.ts +11 -0
- package/dist/tools/bio/search-faers.js +23 -0
- package/dist/tools/bio/search-gene.d.ts +11 -0
- package/dist/tools/bio/search-gene.js +19 -0
- package/dist/tools/bio/search-geo-datasets.d.ts +20 -0
- package/dist/tools/bio/search-geo-datasets.js +86 -0
- package/dist/tools/bio/search-gwas-catalog.d.ts +33 -0
- package/dist/tools/bio/search-gwas-catalog.js +172 -0
- package/dist/tools/bio/search-interactions.d.ts +17 -0
- package/dist/tools/bio/search-interactions.js +31 -0
- package/dist/tools/bio/search-opentargets.d.ts +11 -0
- package/dist/tools/bio/search-opentargets.js +25 -0
- package/dist/tools/bio/search-pathway.d.ts +12 -0
- package/dist/tools/bio/search-pathway.js +32 -0
- package/dist/tools/bio/search-pharmgkb.d.ts +17 -0
- package/dist/tools/bio/search-pharmgkb.js +46 -0
- package/dist/tools/bio/search-pubchem-compound.d.ts +26 -0
- package/dist/tools/bio/search-pubchem-compound.js +110 -0
- package/dist/tools/bio/search-pubmed.d.ts +17 -0
- package/dist/tools/bio/search-pubmed.js +31 -0
- package/dist/tools/bio/search-targets.d.ts +9 -0
- package/dist/tools/bio/search-targets.js +20 -0
- package/dist/tools/bio/search-toxcast.d.ts +36 -0
- package/dist/tools/bio/search-toxcast.js +141 -0
- package/dist/tools/define-tool.d.ts +80 -0
- package/dist/tools/define-tool.js +48 -0
- package/dist/tools/display/index.d.ts +4 -0
- package/dist/tools/display/index.js +4 -0
- package/dist/tools/display/show-user.d.ts +33 -0
- package/dist/tools/display/show-user.js +67 -0
- package/dist/tools/execute-plan.d.ts +64 -0
- package/dist/tools/execute-plan.js +208 -0
- package/dist/tools/iterate-report.d.ts +172 -0
- package/dist/tools/iterate-report.js +521 -0
- package/dist/tools/lib/api-utils.d.ts +80 -0
- package/dist/tools/lib/api-utils.js +128 -0
- package/dist/tools/lib/bgee-client.d.ts +36 -0
- package/dist/tools/lib/bgee-client.js +150 -0
- package/dist/tools/lib/cbioportal-client.d.ts +34 -0
- package/dist/tools/lib/cbioportal-client.js +159 -0
- package/dist/tools/lib/chembl-client.d.ts +123 -0
- package/dist/tools/lib/chembl-client.js +458 -0
- package/dist/tools/lib/chembl-config.d.ts +5 -0
- package/dist/tools/lib/chembl-config.js +3 -0
- package/dist/tools/lib/clinical-benchmarks-client.d.ts +33 -0
- package/dist/tools/lib/clinical-benchmarks-client.js +54 -0
- package/dist/tools/lib/clinical-trials-client.d.ts +216 -0
- package/dist/tools/lib/clinical-trials-client.js +339 -0
- package/dist/tools/lib/clinicaltrials-config.d.ts +4 -0
- package/dist/tools/lib/clinicaltrials-config.js +2 -0
- package/dist/tools/lib/clinvar-client.d.ts +25 -0
- package/dist/tools/lib/clinvar-client.js +126 -0
- package/dist/tools/lib/disgenet-config.d.ts +2 -0
- package/dist/tools/lib/disgenet-config.js +11 -0
- package/dist/tools/lib/drugbank-config.d.ts +2 -0
- package/dist/tools/lib/drugbank-config.js +12 -0
- package/dist/tools/lib/ema-client.d.ts +45 -0
- package/dist/tools/lib/ema-client.js +127 -0
- package/dist/tools/lib/ema-config.d.ts +7 -0
- package/dist/tools/lib/ema-config.js +7 -0
- package/dist/tools/lib/ensembl-client.d.ts +27 -0
- package/dist/tools/lib/ensembl-client.js +82 -0
- package/dist/tools/lib/gwas-catalog-config.d.ts +4 -0
- package/dist/tools/lib/gwas-catalog-config.js +2 -0
- package/dist/tools/lib/identifier-resolver.d.ts +85 -0
- package/dist/tools/lib/identifier-resolver.js +333 -0
- package/dist/tools/lib/impc-client.d.ts +44 -0
- package/dist/tools/lib/impc-client.js +239 -0
- package/dist/tools/lib/iuphar-client.d.ts +75 -0
- package/dist/tools/lib/iuphar-client.js +230 -0
- package/dist/tools/lib/iuphar-config.d.ts +5 -0
- package/dist/tools/lib/iuphar-config.js +3 -0
- package/dist/tools/lib/ncbi-utils.d.ts +58 -0
- package/dist/tools/lib/ncbi-utils.js +286 -0
- package/dist/tools/lib/openfda-client.d.ts +53 -0
- package/dist/tools/lib/openfda-client.js +192 -0
- package/dist/tools/lib/openfda-config.d.ts +2 -0
- package/dist/tools/lib/openfda-config.js +2 -0
- package/dist/tools/lib/opentargets-client.d.ts +64 -0
- package/dist/tools/lib/opentargets-client.js +290 -0
- package/dist/tools/lib/opentargets-config.d.ts +5 -0
- package/dist/tools/lib/opentargets-config.js +5 -0
- package/dist/tools/lib/path-validation.d.ts +14 -0
- package/dist/tools/lib/path-validation.js +26 -0
- package/dist/tools/lib/pathway-client.d.ts +27 -0
- package/dist/tools/lib/pathway-client.js +149 -0
- package/dist/tools/lib/pharmgkb-config.d.ts +4 -0
- package/dist/tools/lib/pharmgkb-config.js +2 -0
- package/dist/tools/lib/preview-lock.d.ts +20 -0
- package/dist/tools/lib/preview-lock.js +35 -0
- package/dist/tools/lib/protein-family-modality.d.ts +16 -0
- package/dist/tools/lib/protein-family-modality.js +42 -0
- package/dist/tools/lib/protein-family-normalize.d.ts +12 -0
- package/dist/tools/lib/protein-family-normalize.js +46 -0
- package/dist/tools/lib/pubchem-client.d.ts +40 -0
- package/dist/tools/lib/pubchem-client.js +128 -0
- package/dist/tools/lib/pubchem-config.d.ts +5 -0
- package/dist/tools/lib/pubchem-config.js +3 -0
- package/dist/tools/lib/pubmed-client.d.ts +28 -0
- package/dist/tools/lib/pubmed-client.js +91 -0
- package/dist/tools/lib/report-preflight.d.ts +39 -0
- package/dist/tools/lib/report-preflight.js +283 -0
- package/dist/tools/lib/string-client.d.ts +33 -0
- package/dist/tools/lib/string-client.js +93 -0
- package/dist/tools/lib/toxcast-config.d.ts +2 -0
- package/dist/tools/lib/toxcast-config.js +11 -0
- package/dist/tools/lib/uniprot-client.d.ts +28 -0
- package/dist/tools/lib/uniprot-client.js +103 -0
- package/dist/tools/lib/uniprot-config.d.ts +5 -0
- package/dist/tools/lib/uniprot-config.js +3 -0
- package/dist/tools/memory/index.d.ts +4 -0
- package/dist/tools/memory/index.js +4 -0
- package/dist/tools/memory/update-working-memory.d.ts +25 -0
- package/dist/tools/memory/update-working-memory.js +112 -0
- package/dist/tools/registry.d.ts +15 -0
- package/dist/tools/registry.js +26 -0
- package/dist/tools/report/build-report.d.ts +13 -0
- package/dist/tools/report/build-report.js +26 -0
- package/dist/tools/report/index.d.ts +14 -0
- package/dist/tools/report/index.js +14 -0
- package/dist/tools/report/mint-preview-url.d.ts +26 -0
- package/dist/tools/report/mint-preview-url.js +44 -0
- package/dist/tools/report/preview-publisher.d.ts +37 -0
- package/dist/tools/report/preview-publisher.js +25 -0
- package/dist/tools/report/preview-snapshot.d.ts +26 -0
- package/dist/tools/report/preview-snapshot.js +121 -0
- package/dist/tools/report/submit-report.d.ts +25 -0
- package/dist/tools/report/submit-report.js +126 -0
- package/dist/tools/report/version-fs.d.ts +15 -0
- package/dist/tools/report/version-fs.js +154 -0
- package/dist/tools/research/context7-docs.d.ts +31 -0
- package/dist/tools/research/context7-docs.js +61 -0
- package/dist/tools/research/generate-analogy-report.d.ts +60 -0
- package/dist/tools/research/generate-analogy-report.js +288 -0
- package/dist/tools/research/generate-plan.d.ts +39 -0
- package/dist/tools/research/generate-plan.js +393 -0
- package/dist/tools/research/index.d.ts +15 -0
- package/dist/tools/research/index.js +15 -0
- package/dist/tools/research/inspect-run.d.ts +54 -0
- package/dist/tools/research/inspect-run.js +85 -0
- package/dist/tools/research/literature-reviewer.d.ts +29 -0
- package/dist/tools/research/literature-reviewer.js +84 -0
- package/dist/tools/research/search-arxiv.d.ts +32 -0
- package/dist/tools/research/search-arxiv.js +123 -0
- package/dist/tools/research/search-github-repos.d.ts +32 -0
- package/dist/tools/research/search-github-repos.js +86 -0
- package/dist/tools/research/search-semantic-scholar.d.ts +33 -0
- package/dist/tools/research/search-semantic-scholar.js +93 -0
- package/dist/tools/run-ephemeral.d.ts +33 -0
- package/dist/tools/run-ephemeral.js +65 -0
- package/dist/tools/sandbox/index.d.ts +7 -0
- package/dist/tools/sandbox/index.js +7 -0
- package/dist/tools/sandbox/list-available-packages.d.ts +7 -0
- package/dist/tools/sandbox/list-available-packages.js +27 -0
- package/dist/tools/sandbox/list-available-refs.d.ts +7 -0
- package/dist/tools/sandbox/list-available-refs.js +147 -0
- package/dist/tools/sandbox/report-blocker.d.ts +23 -0
- package/dist/tools/sandbox/report-blocker.js +39 -0
- package/dist/tools/sandbox/skills.d.ts +72 -0
- package/dist/tools/sandbox/skills.js +144 -0
- package/dist/tools/workspace/edit-file.d.ts +46 -0
- package/dist/tools/workspace/edit-file.js +100 -0
- package/dist/tools/workspace/execute-command.d.ts +80 -0
- package/dist/tools/workspace/execute-command.js +95 -0
- package/dist/tools/workspace/file-stat.d.ts +24 -0
- package/dist/tools/workspace/file-stat.js +37 -0
- package/dist/tools/workspace/grep.d.ts +57 -0
- package/dist/tools/workspace/grep.js +154 -0
- package/dist/tools/workspace/index.d.ts +26 -0
- package/dist/tools/workspace/index.js +27 -0
- package/dist/tools/workspace/list-files.d.ts +24 -0
- package/dist/tools/workspace/list-files.js +38 -0
- package/dist/tools/workspace/mutator.d.ts +83 -0
- package/dist/tools/workspace/mutator.js +81 -0
- package/dist/tools/workspace/read-file.d.ts +39 -0
- package/dist/tools/workspace/read-file.js +93 -0
- package/dist/tools/workspace/result-bounds.d.ts +42 -0
- package/dist/tools/workspace/result-bounds.js +50 -0
- package/dist/tools/workspace/run-exec.d.ts +32 -0
- package/dist/tools/workspace/run-exec.js +34 -0
- package/dist/tools/workspace/show-file.d.ts +37 -0
- package/dist/tools/workspace/show-file.js +54 -0
- package/dist/tools/workspace/show-plan.d.ts +23 -0
- package/dist/tools/workspace/show-plan.js +44 -0
- package/dist/tools/workspace/workspace-search.d.ts +25 -0
- package/dist/tools/workspace/workspace-search.js +78 -0
- package/dist/tools/workspace/write-file.d.ts +16 -0
- package/dist/tools/workspace/write-file.js +33 -0
- package/dist/workflows/execute-analysis-scheduler.d.ts +94 -0
- package/dist/workflows/execute-analysis-scheduler.js +186 -0
- package/dist/workflows/execute-analysis.d.ts +271 -0
- package/dist/workflows/execute-analysis.js +746 -0
- package/dist/workflows/execute-target-assessment.d.ts +101 -0
- package/dist/workflows/execute-target-assessment.js +528 -0
- package/dist/workflows/metrics.d.ts +37 -0
- package/dist/workflows/metrics.js +55 -0
- package/dist/workflows/plan/level.d.ts +12 -0
- package/dist/workflows/plan/level.js +12 -0
- package/dist/workflows/register-workflows.d.ts +51 -0
- package/dist/workflows/register-workflows.js +48 -0
- package/dist/workflows/resume-execute-analysis.d.ts +70 -0
- package/dist/workflows/resume-execute-analysis.js +80 -0
- package/dist/workflows/sandbox-step.d.ts +243 -0
- package/dist/workflows/sandbox-step.js +573 -0
- package/dist/workflows/target-assessment/assemblers/index.d.ts +5 -0
- package/dist/workflows/target-assessment/assemblers/index.js +4 -0
- package/dist/workflows/target-assessment/assemblers/literature.d.ts +299 -0
- package/dist/workflows/target-assessment/assemblers/literature.js +987 -0
- package/dist/workflows/target-assessment/assemblers/orchestrator.d.ts +109 -0
- package/dist/workflows/target-assessment/assemblers/orchestrator.js +835 -0
- package/dist/workflows/target-assessment/assemblers/safety.d.ts +352 -0
- package/dist/workflows/target-assessment/assemblers/safety.js +985 -0
- package/dist/workflows/target-assessment/assemblers/trials.d.ts +30 -0
- package/dist/workflows/target-assessment/assemblers/trials.js +75 -0
- package/dist/workflows/target-assessment/collectors/index.d.ts +105 -0
- package/dist/workflows/target-assessment/collectors/index.js +468 -0
- package/dist/workflows/target-assessment/correction-loop.d.ts +45 -0
- package/dist/workflows/target-assessment/correction-loop.js +62 -0
- package/dist/workflows/target-assessment/coverage.d.ts +81 -0
- package/dist/workflows/target-assessment/coverage.js +82 -0
- package/dist/workflows/target-assessment/decisions/index.d.ts +86 -0
- package/dist/workflows/target-assessment/decisions/index.js +127 -0
- package/dist/workflows/target-assessment/fanout/index.d.ts +31 -0
- package/dist/workflows/target-assessment/fanout/index.js +155 -0
- package/dist/workflows/target-assessment/lib/approval-precedents.d.ts +52 -0
- package/dist/workflows/target-assessment/lib/approval-precedents.js +119 -0
- package/dist/workflows/target-assessment/lib/citation-validator.d.ts +46 -0
- package/dist/workflows/target-assessment/lib/citation-validator.js +316 -0
- package/dist/workflows/target-assessment/lib/clinical-consequence-annotator.d.ts +62 -0
- package/dist/workflows/target-assessment/lib/clinical-consequence-annotator.js +172 -0
- package/dist/workflows/target-assessment/lib/clinical-evidence-attribution.d.ts +45 -0
- package/dist/workflows/target-assessment/lib/clinical-evidence-attribution.js +156 -0
- package/dist/workflows/target-assessment/lib/compute-derived.d.ts +19 -0
- package/dist/workflows/target-assessment/lib/compute-derived.js +252 -0
- package/dist/workflows/target-assessment/lib/compute-selectivity.d.ts +15 -0
- package/dist/workflows/target-assessment/lib/compute-selectivity.js +18 -0
- package/dist/workflows/target-assessment/lib/dedup-modulators.d.ts +37 -0
- package/dist/workflows/target-assessment/lib/dedup-modulators.js +157 -0
- package/dist/workflows/target-assessment/lib/evidence-conflict-detector.d.ts +17 -0
- package/dist/workflows/target-assessment/lib/evidence-conflict-detector.js +100 -0
- package/dist/workflows/target-assessment/lib/expression-constants.d.ts +21 -0
- package/dist/workflows/target-assessment/lib/expression-constants.js +21 -0
- package/dist/workflows/target-assessment/lib/family-complex-supplement.d.ts +21 -0
- package/dist/workflows/target-assessment/lib/family-complex-supplement.js +37 -0
- package/dist/workflows/target-assessment/lib/heterodimer-filter.d.ts +39 -0
- package/dist/workflows/target-assessment/lib/heterodimer-filter.js +54 -0
- package/dist/workflows/target-assessment/lib/intended-polypharm-filter.d.ts +4 -0
- package/dist/workflows/target-assessment/lib/intended-polypharm-filter.js +24 -0
- package/dist/workflows/target-assessment/lib/llm-step.d.ts +77 -0
- package/dist/workflows/target-assessment/lib/llm-step.js +99 -0
- package/dist/workflows/target-assessment/lib/meddra-organ-map.d.ts +30 -0
- package/dist/workflows/target-assessment/lib/meddra-organ-map.js +126 -0
- package/dist/workflows/target-assessment/lib/recommendation-quality-gates.d.ts +17 -0
- package/dist/workflows/target-assessment/lib/recommendation-quality-gates.js +99 -0
- package/dist/workflows/target-assessment/lib/recommendation-sanitizer.d.ts +2 -0
- package/dist/workflows/target-assessment/lib/recommendation-sanitizer.js +51 -0
- package/dist/workflows/target-assessment/lib/regulatory-actions.d.ts +26 -0
- package/dist/workflows/target-assessment/lib/regulatory-actions.js +147 -0
- package/dist/workflows/target-assessment/lib/structured-llm.d.ts +58 -0
- package/dist/workflows/target-assessment/lib/structured-llm.js +101 -0
- package/dist/workflows/target-assessment/lib/target-identity-filter.d.ts +60 -0
- package/dist/workflows/target-assessment/lib/target-identity-filter.js +86 -0
- package/dist/workflows/target-assessment/lib/therapeutic-programs.d.ts +20 -0
- package/dist/workflows/target-assessment/lib/therapeutic-programs.js +68 -0
- package/dist/workflows/target-assessment/metrics.d.ts +21 -0
- package/dist/workflows/target-assessment/metrics.js +42 -0
- package/dist/workflows/target-assessment/phase4-assemble.d.ts +1841 -0
- package/dist/workflows/target-assessment/phase4-assemble.js +39 -0
- package/dist/workflows/target-assessment/phase5-persist.d.ts +57 -0
- package/dist/workflows/target-assessment/phase5-persist.js +461 -0
- package/dist/workflows/target-assessment/progress.d.ts +38 -0
- package/dist/workflows/target-assessment/progress.js +76 -0
- package/dist/workflows/target-assessment/schemas.d.ts +931 -0
- package/dist/workflows/target-assessment/schemas.js +293 -0
- package/dist/workflows/target-assessment/steps/collectors/pathways.d.ts +15 -0
- package/dist/workflows/target-assessment/steps/collectors/pathways.js +58 -0
- package/dist/workflows/target-assessment/steps/fanout/aes-for-one-class-drug-step.d.ts +34 -0
- package/dist/workflows/target-assessment/steps/fanout/aes-for-one-class-drug-step.js +31 -0
- package/dist/workflows/target-assessment/steps/fanout/aes-for-one-trial-step.d.ts +57 -0
- package/dist/workflows/target-assessment/steps/fanout/aes-for-one-trial-step.js +54 -0
- package/dist/workflows/target-assessment/steps/fanout/faers-for-one-modulator-step.d.ts +35 -0
- package/dist/workflows/target-assessment/steps/fanout/faers-for-one-modulator-step.js +32 -0
- package/dist/workflows/target-assessment/steps/fanout/index.d.ts +14 -0
- package/dist/workflows/target-assessment/steps/fanout/index.js +10 -0
- package/dist/workflows/target-assessment/steps/fanout/polypharm-for-one-modulator-step.d.ts +28 -0
- package/dist/workflows/target-assessment/steps/fanout/polypharm-for-one-modulator-step.js +27 -0
- package/dist/workflows/target-assessment/steps/phase0-resolve.d.ts +71 -0
- package/dist/workflows/target-assessment/steps/phase0-resolve.js +21 -0
- package/dist/workflows/target-assessment/steps/phase1-aggregate.d.ts +1018 -0
- package/dist/workflows/target-assessment/steps/phase1-aggregate.js +25 -0
- package/dist/workflows/target-assessment/steps/phase2-aggregate.d.ts +696 -0
- package/dist/workflows/target-assessment/steps/phase2-aggregate.js +38 -0
- package/dist/workflows/target-assessment/steps/phase3-aggregate.d.ts +936 -0
- package/dist/workflows/target-assessment/steps/phase3-aggregate.js +22 -0
- package/dist/workflows/target-assessment/steps/synthesis/diagnostics.d.ts +34 -0
- package/dist/workflows/target-assessment/steps/synthesis/diagnostics.js +45 -0
- package/dist/workflows/target-assessment/sub-workflows/index.d.ts +15 -0
- package/dist/workflows/target-assessment/sub-workflows/index.js +11 -0
- package/dist/workflows/target-assessment/sub-workflows/per-class-drug-aes.d.ts +41 -0
- package/dist/workflows/target-assessment/sub-workflows/per-class-drug-aes.js +12 -0
- package/dist/workflows/target-assessment/sub-workflows/per-modulator-faers.d.ts +41 -0
- package/dist/workflows/target-assessment/sub-workflows/per-modulator-faers.js +12 -0
- package/dist/workflows/target-assessment/sub-workflows/per-modulator-polypharm.d.ts +36 -0
- package/dist/workflows/target-assessment/sub-workflows/per-modulator-polypharm.js +12 -0
- package/dist/workflows/target-assessment/sub-workflows/per-trial-aes.d.ts +66 -0
- package/dist/workflows/target-assessment/sub-workflows/per-trial-aes.js +12 -0
- package/dist/workflows/target-assessment/synthesis/index.d.ts +560 -0
- package/dist/workflows/target-assessment/synthesis/index.js +351 -0
- package/dist/workflows/target-assessment/synthesis-probes.d.ts +56 -0
- package/dist/workflows/target-assessment/synthesis-probes.js +320 -0
- package/dist/workspace/filesystem.d.ts +117 -0
- package/dist/workspace/filesystem.js +304 -0
- package/dist/workspace/mount-strategy.d.ts +50 -0
- package/dist/workspace/mount-strategy.js +67 -0
- package/dist/workspace/paths.d.ts +185 -0
- package/dist/workspace/paths.js +219 -0
- package/dist/workspace/provenance-collector.d.ts +34 -0
- package/dist/workspace/provenance-collector.js +16 -0
- package/dist/workspace/search-config.d.ts +23 -0
- package/dist/workspace/search-config.js +43 -0
- package/dist/workspace/workspace-paths.d.ts +26 -0
- package/dist/workspace/workspace-paths.js +31 -0
- package/package.json +101 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* getArticleDetails — fetch detailed metadata for PubMed articles.
|
|
3
|
+
*/
|
|
4
|
+
import { ok } from "neverthrow";
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { defineTool } from "../define-tool.js";
|
|
7
|
+
import { getArticleDetails } from "../lib/pubmed-client.js";
|
|
8
|
+
export function createGetArticleDetailsTool(deps) {
|
|
9
|
+
return defineTool({
|
|
10
|
+
id: "get_article_details",
|
|
11
|
+
description: "Fetch detailed metadata for PubMed articles by PMID. " +
|
|
12
|
+
"Returns title, full abstract, authors, journal, year, DOI, MeSH terms, " +
|
|
13
|
+
"and PMC ID (if open-access full text is available in PubMed Central). " +
|
|
14
|
+
"Accepts up to 20 PMIDs per call for batch retrieval.",
|
|
15
|
+
inputSchema: z.object({
|
|
16
|
+
pmids: z.array(z.string()).min(1).max(20).describe("PubMed IDs to fetch details for (max 20)"),
|
|
17
|
+
}),
|
|
18
|
+
execute: async ({ pmids }) => ok(await getArticleDetails(deps.ncbiApiKey, pmids)),
|
|
19
|
+
});
|
|
20
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* getArticleFullText — fetch full text of open-access articles from PMC.
|
|
3
|
+
*/
|
|
4
|
+
import type { ArticleSection } from "../lib/ncbi-utils.js";
|
|
5
|
+
type FullTextResult = {
|
|
6
|
+
pmcId: string;
|
|
7
|
+
available: false;
|
|
8
|
+
} | {
|
|
9
|
+
pmcId: string;
|
|
10
|
+
available: true;
|
|
11
|
+
fullText: string;
|
|
12
|
+
sections: ArticleSection[];
|
|
13
|
+
};
|
|
14
|
+
export declare function createGetArticleFullTextTool(deps: {
|
|
15
|
+
ncbiApiKey?: string;
|
|
16
|
+
}): import("../define-tool.js").Tool<{
|
|
17
|
+
pmcId: string;
|
|
18
|
+
}, FullTextResult>;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* getArticleFullText — fetch full text of open-access articles from PMC.
|
|
3
|
+
*/
|
|
4
|
+
import { ok } from "neverthrow";
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { defineTool } from "../define-tool.js";
|
|
7
|
+
import { getArticleFullText } from "../lib/pubmed-client.js";
|
|
8
|
+
export function createGetArticleFullTextTool(deps) {
|
|
9
|
+
return defineTool({
|
|
10
|
+
id: "get_article_full_text",
|
|
11
|
+
description: "Fetch the full text of an open-access article from PubMed Central (PMC). " +
|
|
12
|
+
"Accepts a PMC ID (e.g., 'PMC1234567') as returned by getArticleDetails. " +
|
|
13
|
+
"Returns the article body as plain text with section headers preserved. " +
|
|
14
|
+
"Only works for open-access articles available in PMC — check the pmcId " +
|
|
15
|
+
"field from getArticleDetails before calling this tool.",
|
|
16
|
+
inputSchema: z.object({
|
|
17
|
+
pmcId: z.string().describe('PubMed Central ID (e.g., "PMC1234567")'),
|
|
18
|
+
}),
|
|
19
|
+
execute: async ({ pmcId }) => {
|
|
20
|
+
const parsed = await getArticleFullText(deps.ncbiApiKey, pmcId);
|
|
21
|
+
// "Not open-access" is an expected outcome — a data variant, not an error.
|
|
22
|
+
if (!parsed)
|
|
23
|
+
return ok({ pmcId, available: false });
|
|
24
|
+
return ok({
|
|
25
|
+
pmcId,
|
|
26
|
+
available: true,
|
|
27
|
+
fullText: parsed.fullText,
|
|
28
|
+
sections: parsed.sections,
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* getBioactivity tool — retrieve bioactivity data (IC50, EC50, Ki) from ChEMBL.
|
|
3
|
+
*/
|
|
4
|
+
export declare const getBioactivityTool: import("../define-tool.js").Tool<{
|
|
5
|
+
chemblId: string;
|
|
6
|
+
type: "target" | "compound";
|
|
7
|
+
limit: number;
|
|
8
|
+
activityType?: string | undefined;
|
|
9
|
+
}, {
|
|
10
|
+
activities: import("../lib/chembl-client.js").ChemblActivity[];
|
|
11
|
+
}>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* getBioactivity tool — retrieve bioactivity data (IC50, EC50, Ki) from ChEMBL.
|
|
3
|
+
*/
|
|
4
|
+
import { ok } from "neverthrow";
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { defineTool } from "../define-tool.js";
|
|
7
|
+
import { getBioactivity } from "../lib/chembl-client.js";
|
|
8
|
+
export const getBioactivityTool = defineTool({
|
|
9
|
+
id: "get_bioactivity",
|
|
10
|
+
description: "Get bioactivity data (IC50, EC50, Ki, etc.) from ChEMBL for a compound or target. " +
|
|
11
|
+
"Returns activity values, assay information, and pChEMBL values. " +
|
|
12
|
+
"Optionally filter by activity type (e.g. 'IC50', 'EC50', 'Ki').",
|
|
13
|
+
inputSchema: z.object({
|
|
14
|
+
chemblId: z.string().min(1).describe("ChEMBL ID (e.g. 'CHEMBL25' for aspirin, 'CHEMBL203' for EGFR target)"),
|
|
15
|
+
type: z.enum(["compound", "target"]).describe("Whether the ChEMBL ID refers to a compound or a target"),
|
|
16
|
+
activityType: z.string().optional().describe("Filter by standard_type (e.g. 'IC50', 'EC50', 'Ki')"),
|
|
17
|
+
limit: z.number().int().min(1).max(500).default(500).describe("Maximum number of activity records to return"),
|
|
18
|
+
}),
|
|
19
|
+
execute: async ({ chemblId, type, activityType, limit }) => {
|
|
20
|
+
const activities = await getBioactivity(chemblId, type, { activityType, limit });
|
|
21
|
+
return ok({ activities });
|
|
22
|
+
},
|
|
23
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* getDrugInfo tool — search ChEMBL for approved drugs by indication or name.
|
|
3
|
+
*/
|
|
4
|
+
export declare const getDrugInfoTool: import("../define-tool.js").Tool<{
|
|
5
|
+
query: string;
|
|
6
|
+
limit: number;
|
|
7
|
+
}, {
|
|
8
|
+
drugs: import("../lib/chembl-client.js").ChemblDrug[];
|
|
9
|
+
}>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* getDrugInfo tool — search ChEMBL for approved drugs by indication or name.
|
|
3
|
+
*/
|
|
4
|
+
import { ok } from "neverthrow";
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { defineTool } from "../define-tool.js";
|
|
7
|
+
import { getDrugInfo } from "../lib/chembl-client.js";
|
|
8
|
+
export const getDrugInfoTool = defineTool({
|
|
9
|
+
id: "get_drug_info",
|
|
10
|
+
description: "Search ChEMBL for approved drugs by indication or drug name. " +
|
|
11
|
+
"Returns drug metadata including approval phase, molecule type, " +
|
|
12
|
+
"first approval year, and indications. Falls back to molecule search " +
|
|
13
|
+
"filtered by max_phase >= 4 if the drug endpoint yields no results.",
|
|
14
|
+
inputSchema: z.object({
|
|
15
|
+
query: z.string().min(1).describe("Drug name or indication to search for (e.g. 'imatinib', 'breast cancer')"),
|
|
16
|
+
limit: z.number().int().min(1).max(25).default(25).describe("Maximum number of results to return"),
|
|
17
|
+
}),
|
|
18
|
+
execute: async ({ query, limit }) => {
|
|
19
|
+
const drugs = await getDrugInfo(query, limit);
|
|
20
|
+
return ok({ drugs });
|
|
21
|
+
},
|
|
22
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* getImpcKoProfile tool — mouse knockout phenotype profile via IMPC Solr.
|
|
3
|
+
*/
|
|
4
|
+
import { buildViabilityCalls, derivedViability, parsePhenotypeResponse } from "../lib/impc-client.js";
|
|
5
|
+
export type { PhenotypeProfile, ViabilityCall, ViabilityCategory } from "../lib/impc-client.js";
|
|
6
|
+
export { buildViabilityCalls, derivedViability, parsePhenotypeResponse };
|
|
7
|
+
export declare const getImpcKoProfileTool: import("../define-tool.js").Tool<{
|
|
8
|
+
geneSymbol: string;
|
|
9
|
+
}, import("../lib/impc-client.js").KoPhenotypeProfile>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* getImpcKoProfile tool — mouse knockout phenotype profile via IMPC Solr.
|
|
3
|
+
*/
|
|
4
|
+
import { ok } from "neverthrow";
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { defineTool } from "../define-tool.js";
|
|
7
|
+
import { buildViabilityCalls, derivedViability, getKoPhenotypeProfile, parsePhenotypeResponse } from "../lib/impc-client.js";
|
|
8
|
+
export { buildViabilityCalls, derivedViability, parsePhenotypeResponse };
|
|
9
|
+
export const getImpcKoProfileTool = defineTool({
|
|
10
|
+
id: "get_impc_ko_profile",
|
|
11
|
+
description: "Get mouse knockout phenotype profile from IMPC: significant phenotype terms, " +
|
|
12
|
+
"affected organ systems, sex-dimorphism, and pre-weaning viability " +
|
|
13
|
+
"(lethal / subviable / viable, with per-zygosity breakdown). " +
|
|
14
|
+
"Use to assess loss-of-function consequences and target tractability. " +
|
|
15
|
+
"Single human gene symbol per call.",
|
|
16
|
+
inputSchema: z.object({
|
|
17
|
+
geneSymbol: z.string().min(1).describe("Human gene symbol, e.g. 'BRCA1'."),
|
|
18
|
+
}),
|
|
19
|
+
execute: async ({ geneSymbol }) => ok(await getKoPhenotypeProfile(geneSymbol)),
|
|
20
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* getMechanism tool — retrieve mechanism of action data from ChEMBL.
|
|
3
|
+
*/
|
|
4
|
+
import { ok } from "neverthrow";
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { defineTool } from "../define-tool.js";
|
|
7
|
+
import { getMechanism } from "../lib/chembl-client.js";
|
|
8
|
+
export const getMechanismTool = defineTool({
|
|
9
|
+
id: "get_mechanism",
|
|
10
|
+
description: "Get mechanism of action for a compound from ChEMBL. " + "Returns mechanism descriptions, action types, and associated target information.",
|
|
11
|
+
inputSchema: z.object({
|
|
12
|
+
chemblId: z.string().min(1).describe("Compound ChEMBL ID (e.g. 'CHEMBL25' for aspirin)"),
|
|
13
|
+
}),
|
|
14
|
+
execute: async ({ chemblId }) => {
|
|
15
|
+
const mechanisms = await getMechanism(chemblId);
|
|
16
|
+
return ok({ mechanisms });
|
|
17
|
+
},
|
|
18
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* getPubchemAssays tool — retrieve bioassay screening summaries for a PubChem CID.
|
|
3
|
+
*
|
|
4
|
+
* Returns per-assay activity outcomes (active/inactive/inconclusive),
|
|
5
|
+
* target names, and assay descriptions. Broader coverage than ChEMBL's
|
|
6
|
+
* curated bioactivity data.
|
|
7
|
+
*/
|
|
8
|
+
interface Assay {
|
|
9
|
+
aid: number;
|
|
10
|
+
assayName: string | null;
|
|
11
|
+
targetName: string | null;
|
|
12
|
+
activityOutcome: string | null;
|
|
13
|
+
activityValue: number | null;
|
|
14
|
+
}
|
|
15
|
+
export declare const getPubchemAssaysTool: import("../define-tool.js").Tool<{
|
|
16
|
+
cid: number;
|
|
17
|
+
activeOnly: boolean;
|
|
18
|
+
limit: number;
|
|
19
|
+
}, {
|
|
20
|
+
assays: Assay[];
|
|
21
|
+
}>;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* getPubchemAssays tool — retrieve bioassay screening summaries for a PubChem CID.
|
|
3
|
+
*
|
|
4
|
+
* Returns per-assay activity outcomes (active/inactive/inconclusive),
|
|
5
|
+
* target names, and assay descriptions. Broader coverage than ChEMBL's
|
|
6
|
+
* curated bioactivity data.
|
|
7
|
+
*/
|
|
8
|
+
import { ok } from "neverthrow";
|
|
9
|
+
import { z } from "zod";
|
|
10
|
+
import { defineTool } from "../define-tool.js";
|
|
11
|
+
import { apiFetchValidated, describeApiError } from "../lib/api-utils.js";
|
|
12
|
+
import { PUBCHEM_HEADERS as HEADERS, PUBCHEM_BASE } from "../lib/pubchem-config.js";
|
|
13
|
+
// The PUG-REST assay-summary wire shape (a table of columns + rows), validated
|
|
14
|
+
// at the fetch boundary; `parseAssaySummary` maps the heading-indexed cells into
|
|
15
|
+
// `Assay` records. Every field is optional — PubChem omits absent values.
|
|
16
|
+
const PugAssaySummarySchema = z.object({
|
|
17
|
+
Table: z
|
|
18
|
+
.object({
|
|
19
|
+
Columns: z
|
|
20
|
+
.object({
|
|
21
|
+
Column: z.array(z.object({ Heading: z.string().optional() })).optional(),
|
|
22
|
+
})
|
|
23
|
+
.optional(),
|
|
24
|
+
Row: z
|
|
25
|
+
.array(z.object({
|
|
26
|
+
Cell: z
|
|
27
|
+
.array(z.object({
|
|
28
|
+
intval: z.number().optional(),
|
|
29
|
+
fval: z.number().optional(),
|
|
30
|
+
sval: z.string().optional(),
|
|
31
|
+
}))
|
|
32
|
+
.optional(),
|
|
33
|
+
}))
|
|
34
|
+
.optional(),
|
|
35
|
+
})
|
|
36
|
+
.optional(),
|
|
37
|
+
});
|
|
38
|
+
function parseAssaySummary(data) {
|
|
39
|
+
const columns = data.Table?.Columns?.Column ?? [];
|
|
40
|
+
const rows = data.Table?.Row ?? [];
|
|
41
|
+
// Find column indices by heading
|
|
42
|
+
const headingIndex = new Map();
|
|
43
|
+
for (let i = 0; i < columns.length; i++) {
|
|
44
|
+
if (columns[i].Heading) {
|
|
45
|
+
headingIndex.set(columns[i].Heading, i);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const aidIdx = headingIndex.get("AID");
|
|
49
|
+
const nameIdx = headingIndex.get("AssayName");
|
|
50
|
+
const targetIdx = headingIndex.get("TargetName");
|
|
51
|
+
const outcomeIdx = headingIndex.get("ActivityOutcome");
|
|
52
|
+
const valueIdx = headingIndex.get("ActivityValue");
|
|
53
|
+
const results = [];
|
|
54
|
+
for (const row of rows) {
|
|
55
|
+
const cells = row.Cell ?? [];
|
|
56
|
+
const getCellStr = (idx) => {
|
|
57
|
+
if (idx === undefined || idx >= cells.length)
|
|
58
|
+
return null;
|
|
59
|
+
return cells[idx]?.sval ?? null;
|
|
60
|
+
};
|
|
61
|
+
const getCellNum = (idx) => {
|
|
62
|
+
if (idx === undefined || idx >= cells.length)
|
|
63
|
+
return null;
|
|
64
|
+
const cell = cells[idx];
|
|
65
|
+
if (cell?.fval !== undefined)
|
|
66
|
+
return cell.fval;
|
|
67
|
+
if (cell?.intval !== undefined)
|
|
68
|
+
return cell.intval;
|
|
69
|
+
return null;
|
|
70
|
+
};
|
|
71
|
+
results.push({
|
|
72
|
+
aid: getCellNum(aidIdx) ?? 0,
|
|
73
|
+
assayName: getCellStr(nameIdx),
|
|
74
|
+
targetName: getCellStr(targetIdx),
|
|
75
|
+
activityOutcome: getCellStr(outcomeIdx),
|
|
76
|
+
activityValue: getCellNum(valueIdx),
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
return results;
|
|
80
|
+
}
|
|
81
|
+
export const getPubchemAssaysTool = defineTool({
|
|
82
|
+
id: "get_pubchem_assays",
|
|
83
|
+
description: "Get bioassay screening summaries for a PubChem CID. " +
|
|
84
|
+
"Returns per-assay activity outcomes (Active/Inactive/Inconclusive), target names, " +
|
|
85
|
+
"and activity values. Covers HTS screening data beyond ChEMBL's curated bioactivity. " +
|
|
86
|
+
"Use activeOnly=true to filter for active results only.",
|
|
87
|
+
inputSchema: z.object({
|
|
88
|
+
cid: z.number().int().positive().describe("PubChem Compound ID (CID)"),
|
|
89
|
+
activeOnly: z.boolean().default(false).describe("If true, return only assays where the compound was active"),
|
|
90
|
+
limit: z.number().int().min(1).max(500).default(50).describe("Maximum number of assay records to return"),
|
|
91
|
+
}),
|
|
92
|
+
execute: async ({ cid, activeOnly = false, limit = 50 }) => {
|
|
93
|
+
const url = `${PUBCHEM_BASE}/compound/cid/${cid}/assaysummary/JSON`;
|
|
94
|
+
const res = await apiFetchValidated(url, PugAssaySummarySchema, { headers: HEADERS });
|
|
95
|
+
if (res.isErr()) {
|
|
96
|
+
// PubChem returns 404 when the CID has no assay data — expected.
|
|
97
|
+
if (res.error.type === "http_status" && res.error.status === 404)
|
|
98
|
+
return ok({ assays: [] });
|
|
99
|
+
throw new Error(describeApiError(res.error));
|
|
100
|
+
}
|
|
101
|
+
let assays = parseAssaySummary(res.value);
|
|
102
|
+
if (activeOnly) {
|
|
103
|
+
assays = assays.filter((a) => a.activityOutcome?.toLowerCase() === "active");
|
|
104
|
+
}
|
|
105
|
+
return ok({ assays: assays.slice(0, limit) });
|
|
106
|
+
},
|
|
107
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* getPubchemCrossRefs tool — retrieve external database identifiers for a PubChem CID.
|
|
3
|
+
*
|
|
4
|
+
* Bridges PubChem compounds to ChEMBL, DrugBank, KEGG, PDB, and other registries.
|
|
5
|
+
*/
|
|
6
|
+
interface CrossRefEntry {
|
|
7
|
+
source: string;
|
|
8
|
+
id: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const getPubchemCrossRefsTool: import("../define-tool.js").Tool<{
|
|
11
|
+
cid: number;
|
|
12
|
+
}, {
|
|
13
|
+
crossRefs: CrossRefEntry[];
|
|
14
|
+
}>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* getPubchemCrossRefs tool — retrieve external database identifiers for a PubChem CID.
|
|
3
|
+
*
|
|
4
|
+
* Bridges PubChem compounds to ChEMBL, DrugBank, KEGG, PDB, and other registries.
|
|
5
|
+
*/
|
|
6
|
+
import { ok } from "neverthrow";
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
import { defineTool } from "../define-tool.js";
|
|
9
|
+
import { apiFetchValidated, describeApiError } from "../lib/api-utils.js";
|
|
10
|
+
import { PUBCHEM_HEADERS as HEADERS, PUBCHEM_BASE } from "../lib/pubchem-config.js";
|
|
11
|
+
// The PUG-REST xrefs wire shape, validated at the fetch boundary: one
|
|
12
|
+
// `Information` entry per CID with parallel `RegistryID[]` / `SourceName[]`
|
|
13
|
+
// arrays. Every field is optional — PubChem omits absent values.
|
|
14
|
+
const PubChemXrefResponseSchema = z.object({
|
|
15
|
+
InformationList: z
|
|
16
|
+
.object({
|
|
17
|
+
Information: z
|
|
18
|
+
.array(z.object({
|
|
19
|
+
CID: z.number().optional(),
|
|
20
|
+
RegistryID: z.array(z.string()).optional(),
|
|
21
|
+
SourceName: z.array(z.string()).optional(),
|
|
22
|
+
}))
|
|
23
|
+
.optional(),
|
|
24
|
+
})
|
|
25
|
+
.optional(),
|
|
26
|
+
});
|
|
27
|
+
function mapCrossRef(raw) {
|
|
28
|
+
return {
|
|
29
|
+
source: raw.SourceName ?? "Unknown",
|
|
30
|
+
id: raw.RegistryID ?? "",
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export const getPubchemCrossRefsTool = defineTool({
|
|
34
|
+
id: "get_pubchem_cross_refs",
|
|
35
|
+
description: "Get external database cross-references for a PubChem CID. " +
|
|
36
|
+
"Returns linked identifiers from ChEMBL, DrugBank, KEGG, PDB, and other registries. " +
|
|
37
|
+
"Use this to bridge PubChem compounds to other databases (e.g., get ChEMBL ID to then " +
|
|
38
|
+
"query bioactivity via ChEMBL tools).",
|
|
39
|
+
inputSchema: z.object({
|
|
40
|
+
cid: z.number().int().positive().describe("PubChem Compound ID (CID)"),
|
|
41
|
+
}),
|
|
42
|
+
execute: async ({ cid }) => {
|
|
43
|
+
const url = `${PUBCHEM_BASE}/compound/cid/${cid}/xrefs/RegistryID,SourceName/JSON`;
|
|
44
|
+
const res = await apiFetchValidated(url, PubChemXrefResponseSchema, { headers: HEADERS });
|
|
45
|
+
if (res.isErr()) {
|
|
46
|
+
// PubChem returns 404 when the CID has no cross-references — expected.
|
|
47
|
+
if (res.error.type === "http_status" && res.error.status === 404)
|
|
48
|
+
return ok({ crossRefs: [] });
|
|
49
|
+
throw new Error(describeApiError(res.error));
|
|
50
|
+
}
|
|
51
|
+
// PUG-REST xrefs returns an InformationList with one entry per CID.
|
|
52
|
+
// Each entry has parallel RegistryID[] and SourceName[] arrays.
|
|
53
|
+
const info = res.value.InformationList?.Information?.[0];
|
|
54
|
+
if (!info?.RegistryID?.length) {
|
|
55
|
+
return ok({ crossRefs: [] });
|
|
56
|
+
}
|
|
57
|
+
const crossRefs = [];
|
|
58
|
+
const registryIds = info.RegistryID;
|
|
59
|
+
const sourceNames = info.SourceName ?? [];
|
|
60
|
+
for (let i = 0; i < registryIds.length; i++) {
|
|
61
|
+
crossRefs.push(mapCrossRef({
|
|
62
|
+
RegistryID: registryIds[i],
|
|
63
|
+
SourceName: sourceNames[i],
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
return ok({ crossRefs });
|
|
67
|
+
},
|
|
68
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* getTargetSafety — fetch known safety liabilities for a target from
|
|
3
|
+
* Open Targets.
|
|
4
|
+
*/
|
|
5
|
+
import { getTargetSafetyLiabilities } from "../lib/opentargets-client.js";
|
|
6
|
+
type SafetyLiabilities = NonNullable<Awaited<ReturnType<typeof getTargetSafetyLiabilities>>>["safetyLiabilities"];
|
|
7
|
+
type GetTargetSafetyOutput = {
|
|
8
|
+
found: false;
|
|
9
|
+
ensemblId: string;
|
|
10
|
+
} | {
|
|
11
|
+
found: true;
|
|
12
|
+
targetSymbol: string;
|
|
13
|
+
safetyLiabilities: SafetyLiabilities;
|
|
14
|
+
};
|
|
15
|
+
export declare const getTargetSafetyTool: import("../define-tool.js").Tool<{
|
|
16
|
+
ensemblId: string;
|
|
17
|
+
}, GetTargetSafetyOutput>;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* getTargetSafety — fetch known safety liabilities for a target from
|
|
3
|
+
* Open Targets.
|
|
4
|
+
*/
|
|
5
|
+
import { ok } from "neverthrow";
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import { defineTool } from "../define-tool.js";
|
|
8
|
+
import { getTargetSafetyLiabilities } from "../lib/opentargets-client.js";
|
|
9
|
+
export const getTargetSafetyTool = defineTool({
|
|
10
|
+
id: "get_target_safety",
|
|
11
|
+
description: "Get known safety liabilities for a target from Open Targets. Returns organ-specific toxicity signals, adverse events, and safety-related phenotypes linked to the target.",
|
|
12
|
+
inputSchema: z.object({
|
|
13
|
+
ensemblId: z.string().describe("Ensembl gene ID (e.g. ENSG00000141510)"),
|
|
14
|
+
}),
|
|
15
|
+
execute: async ({ ensemblId }) => {
|
|
16
|
+
const result = await getTargetSafetyLiabilities(ensemblId);
|
|
17
|
+
// "Target not found" is an expected outcome — a data variant, not an error.
|
|
18
|
+
if (!result)
|
|
19
|
+
return ok({ found: false, ensemblId });
|
|
20
|
+
return ok({
|
|
21
|
+
found: true,
|
|
22
|
+
targetSymbol: result.targetSymbol,
|
|
23
|
+
safetyLiabilities: result.safetyLiabilities,
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bio barrel — pure external-API bioinformatics & cheminformatics lookups.
|
|
3
|
+
*
|
|
4
|
+
* Leaf tools with no harness dependencies: each wraps an external data source
|
|
5
|
+
* (Ensembl, ChEMBL, PubChem, Open Targets, PubMed, EPA CompTox, …) behind a
|
|
6
|
+
* `defineTool`. Grouped here so the conversation agent imports one barrel
|
|
7
|
+
* rather than ~30 individual files.
|
|
8
|
+
*/
|
|
9
|
+
export * from "./search-gene.js";
|
|
10
|
+
export * from "./search-pathway.js";
|
|
11
|
+
export * from "./lookup-go-term.js";
|
|
12
|
+
export * from "./search-interactions.js";
|
|
13
|
+
export * from "./search-pubmed.js";
|
|
14
|
+
export * from "./get-article-details.js";
|
|
15
|
+
export * from "./get-article-full-text.js";
|
|
16
|
+
export * from "./search-compounds.js";
|
|
17
|
+
export * from "./get-bioactivity.js";
|
|
18
|
+
export * from "./search-targets.js";
|
|
19
|
+
export * from "./get-mechanism.js";
|
|
20
|
+
export * from "./get-drug-info.js";
|
|
21
|
+
export * from "./search-pubchem-compound.js";
|
|
22
|
+
export * from "./get-pubchem-cross-refs.js";
|
|
23
|
+
export * from "./get-pubchem-assays.js";
|
|
24
|
+
export * from "./search-opentargets.js";
|
|
25
|
+
export * from "./get-target-safety.js";
|
|
26
|
+
export * from "./search-pharmgkb.js";
|
|
27
|
+
export * from "./search-faers.js";
|
|
28
|
+
export * from "./search-clinical-trials.js";
|
|
29
|
+
export * from "./search-geo-datasets.js";
|
|
30
|
+
export * from "./search-dgidb.js";
|
|
31
|
+
export * from "./search-clinvar.js";
|
|
32
|
+
export * from "./search-disgenet.js";
|
|
33
|
+
export * from "./search-drugbank.js";
|
|
34
|
+
export * from "./search-gwas-catalog.js";
|
|
35
|
+
export * from "./search-bgee-expression.js";
|
|
36
|
+
export * from "./get-impc-ko-profile.js";
|
|
37
|
+
export * from "./check-safety-panel.js";
|
|
38
|
+
export * from "./search-toxcast.js";
|
|
39
|
+
export * from "./search-ctx-hazard.js";
|
|
40
|
+
export * from "./search-ctx-chemical.js";
|
|
41
|
+
export * from "./search-ctx-exposure.js";
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bio barrel — pure external-API bioinformatics & cheminformatics lookups.
|
|
3
|
+
*
|
|
4
|
+
* Leaf tools with no harness dependencies: each wraps an external data source
|
|
5
|
+
* (Ensembl, ChEMBL, PubChem, Open Targets, PubMed, EPA CompTox, …) behind a
|
|
6
|
+
* `defineTool`. Grouped here so the conversation agent imports one barrel
|
|
7
|
+
* rather than ~30 individual files.
|
|
8
|
+
*/
|
|
9
|
+
// Genomics / pathways / ontology
|
|
10
|
+
export * from "./search-gene.js";
|
|
11
|
+
export * from "./search-pathway.js";
|
|
12
|
+
export * from "./lookup-go-term.js";
|
|
13
|
+
export * from "./search-interactions.js";
|
|
14
|
+
// Literature
|
|
15
|
+
export * from "./search-pubmed.js";
|
|
16
|
+
export * from "./get-article-details.js";
|
|
17
|
+
export * from "./get-article-full-text.js";
|
|
18
|
+
// ChEMBL
|
|
19
|
+
export * from "./search-compounds.js";
|
|
20
|
+
export * from "./get-bioactivity.js";
|
|
21
|
+
export * from "./search-targets.js";
|
|
22
|
+
export * from "./get-mechanism.js";
|
|
23
|
+
export * from "./get-drug-info.js";
|
|
24
|
+
// PubChem
|
|
25
|
+
export * from "./search-pubchem-compound.js";
|
|
26
|
+
export * from "./get-pubchem-cross-refs.js";
|
|
27
|
+
export * from "./get-pubchem-assays.js";
|
|
28
|
+
// Translational medicine
|
|
29
|
+
export * from "./search-opentargets.js";
|
|
30
|
+
export * from "./get-target-safety.js";
|
|
31
|
+
export * from "./search-pharmgkb.js";
|
|
32
|
+
export * from "./search-faers.js";
|
|
33
|
+
export * from "./search-clinical-trials.js";
|
|
34
|
+
export * from "./search-geo-datasets.js";
|
|
35
|
+
export * from "./search-dgidb.js";
|
|
36
|
+
export * from "./search-clinvar.js";
|
|
37
|
+
export * from "./search-disgenet.js";
|
|
38
|
+
export * from "./search-drugbank.js";
|
|
39
|
+
export * from "./search-gwas-catalog.js";
|
|
40
|
+
// Preclinical
|
|
41
|
+
export * from "./search-bgee-expression.js";
|
|
42
|
+
export * from "./get-impc-ko-profile.js";
|
|
43
|
+
// Off-target liability / EPA CompTox
|
|
44
|
+
export * from "./check-safety-panel.js";
|
|
45
|
+
export * from "./search-toxcast.js";
|
|
46
|
+
export * from "./search-ctx-hazard.js";
|
|
47
|
+
export * from "./search-ctx-chemical.js";
|
|
48
|
+
export * from "./search-ctx-exposure.js";
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Tool } from "../define-tool.js";
|
|
2
|
+
/**
|
|
3
|
+
* API keys for the external bio/chem data sources. Threaded from the
|
|
4
|
+
* composition root to every place that assembles bio tools (conversation
|
|
5
|
+
* agent, sandbox agents, literature reviewer, analogy reporter). Each key
|
|
6
|
+
* may be empty when its source is unconfigured — the tool surfaces the
|
|
7
|
+
* resulting auth failure as a normal tool error.
|
|
8
|
+
*/
|
|
9
|
+
export interface BioToolKeys {
|
|
10
|
+
readonly drugbank: string;
|
|
11
|
+
readonly disgenet: string;
|
|
12
|
+
readonly epaCcte: string;
|
|
13
|
+
readonly ncbi?: string;
|
|
14
|
+
readonly github?: string;
|
|
15
|
+
}
|
|
16
|
+
/** The NCBI-backed literature tools, built from the shared key slice. */
|
|
17
|
+
export declare function createNcbiTools(keys: BioToolKeys): {
|
|
18
|
+
searchPubMed: Tool;
|
|
19
|
+
getArticleDetails: Tool;
|
|
20
|
+
getArticleFullText: Tool;
|
|
21
|
+
searchClinvar: Tool;
|
|
22
|
+
};
|
|
23
|
+
/** The DrugBank / DisGeNET / EPA CompTox tools, built from the key slice. */
|
|
24
|
+
export declare function createChemDbTools(keys: BioToolKeys): {
|
|
25
|
+
searchDrugbank: Tool;
|
|
26
|
+
searchDisgenet: Tool;
|
|
27
|
+
searchToxcast: Tool;
|
|
28
|
+
searchCtxHazard: Tool;
|
|
29
|
+
searchCtxChemical: Tool;
|
|
30
|
+
searchCtxExposure: Tool;
|
|
31
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createSearchPubMedTool } from "./search-pubmed.js";
|
|
2
|
+
import { createGetArticleDetailsTool } from "./get-article-details.js";
|
|
3
|
+
import { createGetArticleFullTextTool } from "./get-article-full-text.js";
|
|
4
|
+
import { createSearchClinvarTool } from "./search-clinvar.js";
|
|
5
|
+
import { createSearchDrugbankTool } from "./search-drugbank.js";
|
|
6
|
+
import { createSearchDisgenetTool } from "./search-disgenet.js";
|
|
7
|
+
import { createSearchToxcastTool } from "./search-toxcast.js";
|
|
8
|
+
import { createSearchCtxHazardTool } from "./search-ctx-hazard.js";
|
|
9
|
+
import { createSearchCtxChemicalTool } from "./search-ctx-chemical.js";
|
|
10
|
+
import { createSearchCtxExposureTool } from "./search-ctx-exposure.js";
|
|
11
|
+
/** The NCBI-backed literature tools, built from the shared key slice. */
|
|
12
|
+
export function createNcbiTools(keys) {
|
|
13
|
+
return {
|
|
14
|
+
searchPubMed: createSearchPubMedTool({ ncbiApiKey: keys.ncbi }),
|
|
15
|
+
getArticleDetails: createGetArticleDetailsTool({ ncbiApiKey: keys.ncbi }),
|
|
16
|
+
getArticleFullText: createGetArticleFullTextTool({ ncbiApiKey: keys.ncbi }),
|
|
17
|
+
searchClinvar: createSearchClinvarTool({ ncbiApiKey: keys.ncbi }),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/** The DrugBank / DisGeNET / EPA CompTox tools, built from the key slice. */
|
|
21
|
+
export function createChemDbTools(keys) {
|
|
22
|
+
return {
|
|
23
|
+
searchDrugbank: createSearchDrugbankTool({ apiKey: keys.drugbank }),
|
|
24
|
+
searchDisgenet: createSearchDisgenetTool({ apiKey: keys.disgenet }),
|
|
25
|
+
searchToxcast: createSearchToxcastTool({ apiKey: keys.epaCcte }),
|
|
26
|
+
searchCtxHazard: createSearchCtxHazardTool({ apiKey: keys.epaCcte }),
|
|
27
|
+
searchCtxChemical: createSearchCtxChemicalTool({ apiKey: keys.epaCcte }),
|
|
28
|
+
searchCtxExposure: createSearchCtxExposureTool({ apiKey: keys.epaCcte }),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* lookupGoTerm — look up Gene Ontology terms via the QuickGO API (EBI).
|
|
3
|
+
*
|
|
4
|
+
* Supports direct ID lookup, keyword search, and gene annotation retrieval.
|
|
5
|
+
* Multiple modes can be combined in a single call.
|
|
6
|
+
*/
|
|
7
|
+
interface GoTerm {
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
definition?: string;
|
|
11
|
+
aspect?: string;
|
|
12
|
+
}
|
|
13
|
+
interface GoAnnotation {
|
|
14
|
+
geneProductId: string;
|
|
15
|
+
goId: string;
|
|
16
|
+
goName: string;
|
|
17
|
+
aspect?: string;
|
|
18
|
+
evidenceCode?: string;
|
|
19
|
+
qualifier?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare const lookupGoTermTool: import("../define-tool.js").Tool<{
|
|
22
|
+
limit: number;
|
|
23
|
+
goId?: string | undefined;
|
|
24
|
+
query?: string | undefined;
|
|
25
|
+
geneProductId?: string | undefined;
|
|
26
|
+
taxonId?: number | undefined;
|
|
27
|
+
}, {
|
|
28
|
+
terms: GoTerm[] | undefined;
|
|
29
|
+
annotations: GoAnnotation[] | undefined;
|
|
30
|
+
}>;
|
|
31
|
+
export {};
|