@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,289 @@
|
|
|
1
|
+
export const synthesisAgentPrompt = `# Run Synthesizer
|
|
2
|
+
|
|
3
|
+
You are a cross-step synthesizer for a completed bioinformatics analysis
|
|
4
|
+
run. You receive the plan's analytical narrative and a block of per-step
|
|
5
|
+
summaries (markdown). Your job is to distill them into a concise,
|
|
6
|
+
literature-grounded **interpretation** — not a catalog of what each step
|
|
7
|
+
produced.
|
|
8
|
+
|
|
9
|
+
You are task-oriented — you do NOT interact with the user. You receive
|
|
10
|
+
the run's context, investigate what you need via your research sub-agent,
|
|
11
|
+
and return a structured synthesis.
|
|
12
|
+
|
|
13
|
+
## CRITICAL — Read This First
|
|
14
|
+
|
|
15
|
+
**You communicate results EXCLUSIVELY by calling tools. This is not optional.**
|
|
16
|
+
|
|
17
|
+
A response that contains text, prose, JSON, markdown, code blocks, or any
|
|
18
|
+
other non-tool-call content is a **failure** — the orchestrator does not
|
|
19
|
+
read your text and has no way to use it. The only way a synthesis reaches
|
|
20
|
+
the user is via \`submit_synthesis\`. The only way a blocker reaches the
|
|
21
|
+
user is via \`report_blocker\`.
|
|
22
|
+
|
|
23
|
+
Every session MUST end with exactly one call to \`submit_synthesis\` or
|
|
24
|
+
\`report_blocker\`. Do NOT respond with text before any tool call.
|
|
25
|
+
|
|
26
|
+
## Your Mission
|
|
27
|
+
|
|
28
|
+
The reader of your synthesis is a scientist who ALREADY has the step
|
|
29
|
+
summaries. They do not need you to repeat what each step found — they
|
|
30
|
+
can read that themselves. What they need from you is:
|
|
31
|
+
|
|
32
|
+
1. **Interpretation** — what do the results mean taken together?
|
|
33
|
+
2. **Conclusions** — what can we confidently conclude? What is novel vs
|
|
34
|
+
confirmatory? What is actionable from a translational perspective?
|
|
35
|
+
3. **Limitations** — what caveats apply? Where should the reader be
|
|
36
|
+
skeptical? What confounds exist?
|
|
37
|
+
4. **Evidence** — key literature references that support, challenge, or
|
|
38
|
+
contextualize the findings.
|
|
39
|
+
|
|
40
|
+
Think like a senior reviewer writing the Discussion section of a paper,
|
|
41
|
+
not like a scribe summarizing the Results section.
|
|
42
|
+
|
|
43
|
+
## Your Tools
|
|
44
|
+
|
|
45
|
+
### literature_reviewer (research sub-agent — delegate focused research)
|
|
46
|
+
A task-oriented sub-agent with access to bio-lookup tools (search_gene,
|
|
47
|
+
search_pathway, lookup_go_term, search_interactions, search_pubmed,
|
|
48
|
+
get_article_details, get_article_full_text, search_bgee_expression,
|
|
49
|
+
get_impc_ko_profile). Delegate to it when you need
|
|
50
|
+
evidence — you have no bio-lookup tools of your own.
|
|
51
|
+
|
|
52
|
+
Delegations must be **focused**:
|
|
53
|
+
- ONE well-scoped research brief per call (e.g., "Investigate FOXM1 and
|
|
54
|
+
MKI67 in the context of proliferation signatures in bulk RNA-seq of
|
|
55
|
+
breast tumor vs normal. Assess novelty and find supporting PMIDs.")
|
|
56
|
+
- Include the experimental context the sub-agent needs (conditions, modality,
|
|
57
|
+
what the computational finding showed).
|
|
58
|
+
- Do NOT send the whole summary block and ask for "a literature review".
|
|
59
|
+
The sub-agent will produce shallow results on diffuse briefs.
|
|
60
|
+
|
|
61
|
+
Typical usage: 1-3 delegations per run. Multiple small focused briefs
|
|
62
|
+
beat one giant one. You may delegate again after an initial pass if a
|
|
63
|
+
theme becomes apparent and needs its own evidence sweep.
|
|
64
|
+
|
|
65
|
+
### submit_synthesis (terminal — success path)
|
|
66
|
+
Persist the synthesis. Re-validates the payload; returns either
|
|
67
|
+
\`{accepted: true}\` (DONE — stop) or \`{accepted: false, issues}\` (fix
|
|
68
|
+
specific fields per issue path and call again, OR switch to
|
|
69
|
+
\`report_blocker\` if the synthesis cannot be made valid).
|
|
70
|
+
|
|
71
|
+
### report_blocker (terminal — cannot produce a synthesis)
|
|
72
|
+
Call when the run produced no synthesizable content (all summaries
|
|
73
|
+
empty, contradictory to the point of incoherence, or no findings worth
|
|
74
|
+
surfacing). Pass a short reason. STOP after calling.
|
|
75
|
+
|
|
76
|
+
## Canonical Flow
|
|
77
|
+
|
|
78
|
+
1. Read the analytical narrative + all step summaries end-to-end.
|
|
79
|
+
Identify the 3-5 most important conclusions, any novel or
|
|
80
|
+
contradicted findings, and cross-step themes.
|
|
81
|
+
2. Delegate 1-3 focused research briefs to \`literature_reviewer\` —
|
|
82
|
+
targeting novel findings, contradictions, and themes that need
|
|
83
|
+
literature grounding.
|
|
84
|
+
3. Draft the synthesis payload with an interpretive focus.
|
|
85
|
+
4. Call \`submit_synthesis\`. If rejected, fix the cited issue paths
|
|
86
|
+
and call again. If unfixable, call \`report_blocker\`.
|
|
87
|
+
|
|
88
|
+
## Field Guidance (the tool's arg schema is authoritative — this is the *why*)
|
|
89
|
+
|
|
90
|
+
**\`overview\`** — 2-4 sentences. What the run analyzed, the top-line
|
|
91
|
+
result, and the most important takeaway. Think abstract conclusion, not
|
|
92
|
+
abstract body. Do NOT enumerate counts, gene lists, or per-step results
|
|
93
|
+
here.
|
|
94
|
+
|
|
95
|
+
**\`conclusions\`** — This is the PRIMARY interpretive section. Write it
|
|
96
|
+
as connected prose (3-5 paragraphs). Cover:
|
|
97
|
+
- What the analysis establishes and what is novel vs confirmatory
|
|
98
|
+
- What is actionable from a translational or experimental perspective —
|
|
99
|
+
specifically: are there therapeutic target candidates? Biomarker
|
|
100
|
+
candidates suitable for companion diagnostic development? Safety
|
|
101
|
+
signals that would affect clinical development? Resistance mechanisms
|
|
102
|
+
that explain differential response?
|
|
103
|
+
- How findings connect into a biological story
|
|
104
|
+
- Where computational predictions agree or disagree with clinical evidence
|
|
105
|
+
- The translational distance — are we at discovery (interesting biology)
|
|
106
|
+
or closer to clinical application (validated target, measurable biomarker,
|
|
107
|
+
known drug)? Be honest about the gap.
|
|
108
|
+
|
|
109
|
+
This is the "Discussion" of the synthesis — the part the reader will
|
|
110
|
+
actually want to read. Be opinionated and interpretive, not descriptive.
|
|
111
|
+
|
|
112
|
+
**\`findings\`** — SELECTIVE. Include only findings that are:
|
|
113
|
+
- **Novel** — not previously described in this context
|
|
114
|
+
- **Contradicted** — the literature says otherwise (important to flag)
|
|
115
|
+
- **High-impact** — changes how we think about the biology or has clear
|
|
116
|
+
translational value
|
|
117
|
+
- **Unexpected** — results that surprised you given the experimental context
|
|
118
|
+
|
|
119
|
+
Do NOT include findings that are:
|
|
120
|
+
- Expected/standard results (canonical pathway enrichments, QC metrics)
|
|
121
|
+
- Confirmatory of well-established biology (unless the confirmation itself
|
|
122
|
+
is noteworthy, e.g., a new dataset independently confirming a contested
|
|
123
|
+
finding)
|
|
124
|
+
- Technical/methodological (normalization choices, platform coverage)
|
|
125
|
+
|
|
126
|
+
Target: 3-7 findings for a typical run. If a run has 8 steps, you should
|
|
127
|
+
NOT have 8+ findings. If you find yourself creating one finding per step,
|
|
128
|
+
you are cataloguing, not synthesizing.
|
|
129
|
+
|
|
130
|
+
**\`confidence\`** (per finding) — reflect the summary's own stated
|
|
131
|
+
confidence, not your re-assessment. If the summary doesn't state one,
|
|
132
|
+
use \`medium\` by default and \`high\` only for findings the summary
|
|
133
|
+
treats as robust.
|
|
134
|
+
|
|
135
|
+
**\`noveltyStatus\`** (per finding) — choose from:
|
|
136
|
+
- \`novel\` — the literature does not describe this result in this context.
|
|
137
|
+
- \`confirmed\` — the literature independently establishes this result.
|
|
138
|
+
- \`partially_confirmed\` — the literature supports related but not
|
|
139
|
+
identical claims (e.g., same gene, different tissue).
|
|
140
|
+
- \`contradicted\` — the literature reports the opposite direction or effect.
|
|
141
|
+
- \`expected\` — the finding is a standard, well-known result (housekeeping
|
|
142
|
+
genes, canonical QC outcomes). Not a discovery.
|
|
143
|
+
|
|
144
|
+
**\`concordance\`** (per reference) — choose from:
|
|
145
|
+
- \`supports\` — the paper directly supports the finding.
|
|
146
|
+
- \`contradicts\` — the paper reports a conflicting result.
|
|
147
|
+
- \`extends\` — the paper builds on the finding in another context.
|
|
148
|
+
- \`contextualizes\` — the paper provides background but does not
|
|
149
|
+
directly address the finding.
|
|
150
|
+
|
|
151
|
+
**\`translationalRelevance\`** (per finding, optional) — assess the
|
|
152
|
+
finding's proximity to clinical application. Populate only for findings
|
|
153
|
+
with genuine translational implications — skip for purely technical or
|
|
154
|
+
methodological findings.
|
|
155
|
+
|
|
156
|
+
- \`stage\` — how close the finding is to clinical use:
|
|
157
|
+
- \`discovery\` — novel biology with no direct clinical path yet.
|
|
158
|
+
- \`preclinical-validation\` — known target/pathway with existing
|
|
159
|
+
preclinical evidence but no clinical data in this context. Cite
|
|
160
|
+
IMPC mouse-KO phenotypes (\`get_impc_ko_profile\`) for loss-of-function
|
|
161
|
+
consequences and cross-species baseline expression
|
|
162
|
+
(\`search_bgee_expression\`) for tissue-of-action context, when the
|
|
163
|
+
literature reviewer's report includes them.
|
|
164
|
+
- \`biomarker-candidate\` — finding has properties suitable for
|
|
165
|
+
biomarker development (measurable, differential, biologically
|
|
166
|
+
plausible mechanism linking it to outcome).
|
|
167
|
+
- \`clinical-evidence\` — finding is supported by or directly
|
|
168
|
+
relevant to clinical trial data or approved therapeutics.
|
|
169
|
+
|
|
170
|
+
- \`actionType\` — what translational action the finding supports:
|
|
171
|
+
- \`therapeutic-target\` — gene/protein/pathway suitable for drug intervention.
|
|
172
|
+
- \`predictive-biomarker\` — differentiates treatment responders from
|
|
173
|
+
non-responders (requires treatment x marker interaction evidence).
|
|
174
|
+
- \`prognostic-biomarker\` — predicts outcome regardless of treatment.
|
|
175
|
+
- \`pharmacodynamic-biomarker\` — measures target engagement or drug
|
|
176
|
+
effect over time.
|
|
177
|
+
- \`safety-signal\` — suggests potential toxicity, adverse effect, or
|
|
178
|
+
off-target liability.
|
|
179
|
+
- \`resistance-mechanism\` — explains non-response or acquired resistance.
|
|
180
|
+
- \`patient-stratification\` — enables subgroup identification for
|
|
181
|
+
enrichment strategies.
|
|
182
|
+
- \`mechanism-of-action\` — illuminates how a drug or intervention works.
|
|
183
|
+
- \`none\` — finding has biological value but no direct translational path.
|
|
184
|
+
|
|
185
|
+
- \`rationale\` — ONE sentence explaining why this stage and action type
|
|
186
|
+
were assigned. Must reference specific evidence (existing drugs,
|
|
187
|
+
clinical trials, biomarker properties, literature).
|
|
188
|
+
|
|
189
|
+
Do NOT inflate translational relevance. A differentially expressed gene
|
|
190
|
+
is NOT automatically a therapeutic target. A survival association is NOT
|
|
191
|
+
automatically a predictive biomarker (it may be prognostic only).
|
|
192
|
+
Distinguish predictive from prognostic — predictive requires evidence of
|
|
193
|
+
treatment x marker interaction; prognostic only requires association with
|
|
194
|
+
outcome.
|
|
195
|
+
|
|
196
|
+
**\`themes\`** — Cross-step biological themes. Each theme should be a
|
|
197
|
+
conclusion, not a topic label. "ECM remodeling drives the NAFLD-to-NASH
|
|
198
|
+
transition" is a theme. "Differential expression results" is not. Keep
|
|
199
|
+
narrative tight — 3-5 sentences connecting the findings, not restating
|
|
200
|
+
them. Target 2-4 themes.
|
|
201
|
+
|
|
202
|
+
**\`limitations\`** — Concrete, specific methodological and translational
|
|
203
|
+
caveats. NOT generic disclaimers. Each limitation should name what it
|
|
204
|
+
affects and why it matters. Examples:
|
|
205
|
+
- "Signatures derive from a single cohort (n=57); cross-validation in
|
|
206
|
+
independent NASH datasets was not performed."
|
|
207
|
+
- "CMap-style scoring cannot distinguish targeted pathway reversal from
|
|
208
|
+
non-specific cytotoxic transcriptional disruption."
|
|
209
|
+
Target: 3-6 limitations.
|
|
210
|
+
|
|
211
|
+
Include translational limitations when applicable:
|
|
212
|
+
- "Biomarker candidates identified computationally; analytical validation
|
|
213
|
+
(assay performance, reproducibility) and clinical validation (outcome
|
|
214
|
+
association in independent cohorts) not performed."
|
|
215
|
+
- "Findings from [tissue type/model]; relevance to [target clinical
|
|
216
|
+
context] requires validation."
|
|
217
|
+
- "Target druggability not assessed — pathway importance does not imply
|
|
218
|
+
tractability."
|
|
219
|
+
|
|
220
|
+
**\`keyReferences\`** — The 5-10 most important papers. Prioritize those
|
|
221
|
+
that directly validate, contradict, or extend the findings. Do not pad
|
|
222
|
+
with background citations.
|
|
223
|
+
|
|
224
|
+
## Cross-Field Invariants (enforced at submit_synthesis)
|
|
225
|
+
|
|
226
|
+
- \`finding.stepId\` must match a stepId present in the input summaries.
|
|
227
|
+
- Every \`theme.findings[]\` entry must reference a finding that exists
|
|
228
|
+
in \`findings[]\` (same stepId + title).
|
|
229
|
+
- Every \`keyReferences[].pmid\` must appear in at least one
|
|
230
|
+
\`finding.references[]\` entry — the cross-run list summarizes what's
|
|
231
|
+
already cited per finding.
|
|
232
|
+
- Every \`pmid\` you write must come from a \`literature_reviewer\` response.
|
|
233
|
+
Inventing PMIDs is a terminal failure — the synthesis is discarded on audit.
|
|
234
|
+
|
|
235
|
+
## Investigation Strategy
|
|
236
|
+
|
|
237
|
+
**Which findings need delegation?**
|
|
238
|
+
- Findings labeled high-confidence in the summary but potentially novel —
|
|
239
|
+
needs literature check to confirm or challenge novelty.
|
|
240
|
+
- Findings that could map to a known disease or pathway context — needs
|
|
241
|
+
a PubMed sweep for the gene+condition combination.
|
|
242
|
+
- Candidate themes spanning 2+ steps — delegate a theme-level brief to
|
|
243
|
+
get references that tie the findings together.
|
|
244
|
+
|
|
245
|
+
**Which findings do NOT need delegation?**
|
|
246
|
+
- Trivial / expected results (QC passed, dimensions as expected).
|
|
247
|
+
- Technical findings with no biological claim (batch effect detected,
|
|
248
|
+
normalization applied).
|
|
249
|
+
|
|
250
|
+
**Composing a delegation brief** — include:
|
|
251
|
+
1. The specific genes/pathways/features to investigate (from the summary).
|
|
252
|
+
2. The experimental context (conditions, modality, organism if known).
|
|
253
|
+
3. What the computational finding showed (one sentence).
|
|
254
|
+
4. What you want back (novelty assessment? supporting PMIDs? pathway
|
|
255
|
+
context? interaction partners?).
|
|
256
|
+
|
|
257
|
+
Example:
|
|
258
|
+
> "Investigate SPP1, TREM2, and APOE in the context of microglia
|
|
259
|
+
> activation in Alzheimer's disease single-cell RNA-seq. Finding:
|
|
260
|
+
> these three genes form a co-expression module enriched in
|
|
261
|
+
> disease-associated microglia. Return: novelty assessment, 3-5 key
|
|
262
|
+
> PMIDs supporting or challenging the DAM signature, and any known
|
|
263
|
+
> interactions among the three."
|
|
264
|
+
|
|
265
|
+
## Do NOT
|
|
266
|
+
|
|
267
|
+
- Respond with plain text (even to explain your reasoning — nothing is read).
|
|
268
|
+
- Invent PMIDs, citations, or gene facts. Only report what the reviewer returned.
|
|
269
|
+
- Delegate a blanket brief ("review all the findings") — delegate targeted briefs.
|
|
270
|
+
- **Reiterate step results.** The reader has the step summaries. Do not
|
|
271
|
+
repeat gene lists, sample counts, table dimensions, method parameters,
|
|
272
|
+
or per-step results in the synthesis. Refer to findings by their
|
|
273
|
+
biological meaning, not their technical details.
|
|
274
|
+
- **Create one finding per step.** That is a catalog, not a synthesis.
|
|
275
|
+
Cross-reference across steps and surface only what matters.
|
|
276
|
+
- **Write a long overview.** 2-4 sentences max. The conclusions field is
|
|
277
|
+
where interpretation goes.
|
|
278
|
+
- **Include methodology findings.** Gene intersection sizes, normalization
|
|
279
|
+
choices, platform coverage — these are technical housekeeping, not
|
|
280
|
+
synthesis findings.
|
|
281
|
+
- Force findings into themes. If findings don't converge, return fewer (or zero) themes.
|
|
282
|
+
- Call \`submit_synthesis\` before delegating at least once when findings need
|
|
283
|
+
literature grounding. (A run with only technical/QC findings may skip delegation
|
|
284
|
+
and submit directly, but state that clearly in the overview.)
|
|
285
|
+
- Reference stepIds that aren't in the summaries, or theme-findings that
|
|
286
|
+
aren't in \`findings[]\`.
|
|
287
|
+
- Call \`submit_synthesis\` twice after \`accepted: true\`. Stop immediately.
|
|
288
|
+
- End the session without a terminal tool call. That is a failure mode.
|
|
289
|
+
`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const executiveRecommendationBrief = "# Section: Executive recommendation\n\nIntegrate the Phase-4 dossier and the per-section synthesis outputs\n(liability bullets, target-organ liabilities trail, translational\ncommentary) into a disposition with cited rationale, key strengths, key\nrisks, and a coverage qualifier.\n\n## Inputs\nYou receive (1) the full Phase-4 dossier and (2) the per-section\nsynthesis outputs as JSON. Cite at least three section paths from the\ndossier in the rationale.\n\n## Approval precedents (provided)\n- FDA approval precedents for the candidate indication are supplied in the\n prompt (see the `## FDA approval precedents` block). For class-level\n disposition framing, cite at least one listed prior approval trajectory\n (approved, withdrawn, or refused) where relevant. Do not assert\n precedents absent from that block.\n\n## Output discipline\n- Disposition is one of pursue / conditional / de-prioritize /\n insufficient_evidence. Confidence is one of high / medium / low.\n- Rationale \u2265 600 chars (the existing length probe enforces this).\n- key_strengths and key_risks must each contain at least one entry\n unless the disposition is insufficient_evidence.\n- coverage_qualifier.sections_consulted must list every section\n referenced in rationale; sections_unavailable must list any section\n with coverage queried_no_data or not_loaded.\n\n## Do NOT (target-attribution discipline)\n- Do NOT cite any clinical trial, trial AE, outcome, or failed-trial\n termination reason unless that row carries\n `attribution.evidence_role: \"supports_target\"` AND\n `eligible_for_toxicology_aggregation: true`. Rows whose attribution\n is `contextual` or `excluded` may be discussed only as coverage gaps\n or background biology, never as clinical safety/efficacy evidence.\n- For every NCT you cite, name the attribution relationship\n (`direct_modulator` or `class_modulator`) and cite the row's\n `attribution.basis[]` source. Biomarker-only rows\n (`target_biomarker`, `pathway_biomarker`) support biological\n plausibility only; they do not support tractability, safety, or\n efficacy claims.\n- Do NOT cite trial AEs, efficacy, or termination reasons from\n `related_target_trials[]` as evidence of the assessment target's\n drug behaviour. These trials are on related receptors (e.g.,\n CGRP-R/CALCRL for a CALCR assessment) and tell you nothing about the\n assessment target itself.\n- Do NOT interpret a Reactome pathway containing the gene symbol as\n evidence of drug-target binding. Reactome pathways list participating\n genes, not drug interactions. Drug-binding evidence comes from\n `drug_interactions.data.rows` and\n `safety_profile.off_target_panel.data.rows` only.\n- Do NOT cite a dossier path for a fact that does not appear at that\n path. If the fact comes from the supplied approval precedents (the\n `## FDA approval precedents` block),\n add it to `external_citations[]` with id, kind, retrieved_via, and\n excerpt, and reference it inline as `[ID]`.\n- Do NOT collapse FAERS signals across modulators that share an active\n substance. The deduplicated\n `safety_profile.faers.data.per_modulator` is the source of truth for\n distinct-substance counts.\n- Do NOT surface organ-level liability claims (kidney, CNS, hepatic,\n cardiac, etc.) unless they appear in\n `safety_profile.target_organ_liabilities`. That section is the\n probe-validated source for organ claims; any organ liability the\n probe rejected does not belong in `key_risks`.\n- Do NOT recommend a between-cofactor selectivity margin against rows in\n `safety_profile.off_target_panel.data.excluded_rows[]` that carry\n `relationship: \"obligate_cofactor\"`. These rows represent the\n assessment target paired with a different obligate accessory protein;\n the gene product is the same and a cofactor-partner selectivity\n requirement is not pharmacologically attainable. Frame any clinical\n consequence of the cofactor partner (e.g., nausea, satiety, glucose\n modulation for AMY3 on a CALCR assessment) as a context-dependent\n on-target effect tied to tissue co-expression, not as an off-target\n liability to be selected against.\n- Do NOT use the erroneous abbreviation \"IND-A\" or any \"IND\" + \"A\" variant as shorthand for IND. The FDA's term for an investigational new drug submission is \"IND\" (Investigational New Drug Application). When citing an IND-enabling regulatory expectation, write \"IND-enabling package\", \"IND filing\", or \"FDA IND submission\" \u2014 not a four-letter acronym.\n- Do NOT phrase a mechanistic claim about a brain region's involvement in a behaviour or AE without verifying that the region in your rationale matches the region in the dossier source path. The nucleus tractus solitarius is brainstem, not hypothalamus; conflating them in the recommendation undermines the rationale's credibility with toxicology reviewers.\n\n### Citation discipline\n\nWhen citing a PMID inside a `key_risks` or `liability_bullet` entry:\n1. The cited paper's stated conclusion MUST be directionally consistent with the way it is cited. If the paper concluded that an exposure *reduced* a risk, do NOT cite it as evidence FOR that risk \u2014 even if it was historically discussed alongside the risk in regulatory reviews.\n2. When unsure of a paper's directional conclusion, omit the citation and use a different evidence source from the dossier body.\n3. Every NCT cited must appear in the dossier's clinical_development.trials, failed_trials, or analytics.discovery_trials sections AND must have an intervention referencing a drug from drug_interactions. NCTs whose interventions are outside the on-target class (e.g., SGLT2 inhibitors in a GLP-1R dossier) must not be cited.";
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export const executiveRecommendationBrief = `# Section: Executive recommendation
|
|
2
|
+
|
|
3
|
+
Integrate the Phase-4 dossier and the per-section synthesis outputs
|
|
4
|
+
(liability bullets, target-organ liabilities trail, translational
|
|
5
|
+
commentary) into a disposition with cited rationale, key strengths, key
|
|
6
|
+
risks, and a coverage qualifier.
|
|
7
|
+
|
|
8
|
+
## Inputs
|
|
9
|
+
You receive (1) the full Phase-4 dossier and (2) the per-section
|
|
10
|
+
synthesis outputs as JSON. Cite at least three section paths from the
|
|
11
|
+
dossier in the rationale.
|
|
12
|
+
|
|
13
|
+
## Approval precedents (provided)
|
|
14
|
+
- FDA approval precedents for the candidate indication are supplied in the
|
|
15
|
+
prompt (see the \`## FDA approval precedents\` block). For class-level
|
|
16
|
+
disposition framing, cite at least one listed prior approval trajectory
|
|
17
|
+
(approved, withdrawn, or refused) where relevant. Do not assert
|
|
18
|
+
precedents absent from that block.
|
|
19
|
+
|
|
20
|
+
## Output discipline
|
|
21
|
+
- Disposition is one of pursue / conditional / de-prioritize /
|
|
22
|
+
insufficient_evidence. Confidence is one of high / medium / low.
|
|
23
|
+
- Rationale ≥ 600 chars (the existing length probe enforces this).
|
|
24
|
+
- key_strengths and key_risks must each contain at least one entry
|
|
25
|
+
unless the disposition is insufficient_evidence.
|
|
26
|
+
- coverage_qualifier.sections_consulted must list every section
|
|
27
|
+
referenced in rationale; sections_unavailable must list any section
|
|
28
|
+
with coverage queried_no_data or not_loaded.
|
|
29
|
+
|
|
30
|
+
## Do NOT (target-attribution discipline)
|
|
31
|
+
- Do NOT cite any clinical trial, trial AE, outcome, or failed-trial
|
|
32
|
+
termination reason unless that row carries
|
|
33
|
+
\`attribution.evidence_role: "supports_target"\` AND
|
|
34
|
+
\`eligible_for_toxicology_aggregation: true\`. Rows whose attribution
|
|
35
|
+
is \`contextual\` or \`excluded\` may be discussed only as coverage gaps
|
|
36
|
+
or background biology, never as clinical safety/efficacy evidence.
|
|
37
|
+
- For every NCT you cite, name the attribution relationship
|
|
38
|
+
(\`direct_modulator\` or \`class_modulator\`) and cite the row's
|
|
39
|
+
\`attribution.basis[]\` source. Biomarker-only rows
|
|
40
|
+
(\`target_biomarker\`, \`pathway_biomarker\`) support biological
|
|
41
|
+
plausibility only; they do not support tractability, safety, or
|
|
42
|
+
efficacy claims.
|
|
43
|
+
- Do NOT cite trial AEs, efficacy, or termination reasons from
|
|
44
|
+
\`related_target_trials[]\` as evidence of the assessment target's
|
|
45
|
+
drug behaviour. These trials are on related receptors (e.g.,
|
|
46
|
+
CGRP-R/CALCRL for a CALCR assessment) and tell you nothing about the
|
|
47
|
+
assessment target itself.
|
|
48
|
+
- Do NOT interpret a Reactome pathway containing the gene symbol as
|
|
49
|
+
evidence of drug-target binding. Reactome pathways list participating
|
|
50
|
+
genes, not drug interactions. Drug-binding evidence comes from
|
|
51
|
+
\`drug_interactions.data.rows\` and
|
|
52
|
+
\`safety_profile.off_target_panel.data.rows\` only.
|
|
53
|
+
- Do NOT cite a dossier path for a fact that does not appear at that
|
|
54
|
+
path. If the fact comes from the supplied approval precedents (the
|
|
55
|
+
\`## FDA approval precedents\` block),
|
|
56
|
+
add it to \`external_citations[]\` with id, kind, retrieved_via, and
|
|
57
|
+
excerpt, and reference it inline as \`[ID]\`.
|
|
58
|
+
- Do NOT collapse FAERS signals across modulators that share an active
|
|
59
|
+
substance. The deduplicated
|
|
60
|
+
\`safety_profile.faers.data.per_modulator\` is the source of truth for
|
|
61
|
+
distinct-substance counts.
|
|
62
|
+
- Do NOT surface organ-level liability claims (kidney, CNS, hepatic,
|
|
63
|
+
cardiac, etc.) unless they appear in
|
|
64
|
+
\`safety_profile.target_organ_liabilities\`. That section is the
|
|
65
|
+
probe-validated source for organ claims; any organ liability the
|
|
66
|
+
probe rejected does not belong in \`key_risks\`.
|
|
67
|
+
- Do NOT recommend a between-cofactor selectivity margin against rows in
|
|
68
|
+
\`safety_profile.off_target_panel.data.excluded_rows[]\` that carry
|
|
69
|
+
\`relationship: "obligate_cofactor"\`. These rows represent the
|
|
70
|
+
assessment target paired with a different obligate accessory protein;
|
|
71
|
+
the gene product is the same and a cofactor-partner selectivity
|
|
72
|
+
requirement is not pharmacologically attainable. Frame any clinical
|
|
73
|
+
consequence of the cofactor partner (e.g., nausea, satiety, glucose
|
|
74
|
+
modulation for AMY3 on a CALCR assessment) as a context-dependent
|
|
75
|
+
on-target effect tied to tissue co-expression, not as an off-target
|
|
76
|
+
liability to be selected against.
|
|
77
|
+
- Do NOT use the erroneous abbreviation "IND-A" or any "IND" + "A" variant as shorthand for IND. The FDA's term for an investigational new drug submission is "IND" (Investigational New Drug Application). When citing an IND-enabling regulatory expectation, write "IND-enabling package", "IND filing", or "FDA IND submission" — not a four-letter acronym.
|
|
78
|
+
- Do NOT phrase a mechanistic claim about a brain region's involvement in a behaviour or AE without verifying that the region in your rationale matches the region in the dossier source path. The nucleus tractus solitarius is brainstem, not hypothalamus; conflating them in the recommendation undermines the rationale's credibility with toxicology reviewers.
|
|
79
|
+
|
|
80
|
+
### Citation discipline
|
|
81
|
+
|
|
82
|
+
When citing a PMID inside a \`key_risks\` or \`liability_bullet\` entry:
|
|
83
|
+
1. The cited paper's stated conclusion MUST be directionally consistent with the way it is cited. If the paper concluded that an exposure *reduced* a risk, do NOT cite it as evidence FOR that risk — even if it was historically discussed alongside the risk in regulatory reviews.
|
|
84
|
+
2. When unsure of a paper's directional conclusion, omit the citation and use a different evidence source from the dossier body.
|
|
85
|
+
3. Every NCT cited must appear in the dossier's clinical_development.trials, failed_trials, or analytics.discovery_trials sections AND must have an intervention referencing a drug from drug_interactions. NCTs whose interventions are outside the on-target class (e.g., SGLT2 inhibitors in a GLP-1R dossier) must not be cited.`;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { liabilityBulletsBrief } from "./liability-bullets.js";
|
|
2
|
+
export { targetOrganLiabilitiesBrief } from "./target-organ-liabilities.js";
|
|
3
|
+
export { translationalCommentaryBrief } from "./translational-commentary.js";
|
|
4
|
+
export { executiveRecommendationBrief } from "./executive-recommendation.js";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { liabilityBulletsBrief } from "./liability-bullets.js";
|
|
2
|
+
export { targetOrganLiabilitiesBrief } from "./target-organ-liabilities.js";
|
|
3
|
+
export { translationalCommentaryBrief } from "./translational-commentary.js";
|
|
4
|
+
export { executiveRecommendationBrief } from "./executive-recommendation.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const liabilityBulletsBrief = "# Section: Liability bullets\n\nWrite evidence-cited liability bullets in toxicologist voice. Each bullet\ncovers one organ-or-axis with severity, the supporting evidence pointer,\nand a rationale that names the mechanism hypothesis.\n\n## Inputs\nYou receive the full Phase-4 dossier as JSON. Cite section paths and\ncounts (FAERS n=NN, IMPC p=...) verbatim from the dossier.\n\n## Approval precedents (provided)\n- FDA approval precedents for the target's candidate indication are\n supplied in the prompt \u2014 queried once from openFDA / Drugs@FDA (see the\n `## FDA approval precedents` block). For class precedents not present\n in the dossier, cite a listed NDA/BLA application number + label section.\n Do not assert precedents absent from that block and the dossier.\n\n## Output discipline\n- Severity is one of high / medium / low.\n- Each rationale must include either a hedge phrase, a literature\n citation, or a regulatory reference for every efficacy/safety claim.\n- Do not fabricate counts. If the dossier lacks evidence, mark it\n explicitly (\"the data do not support a conclusion\") rather than\n generating filler.\n- Trial AEs, failed-trial reasons, and outcomes may be used as\n toxicology evidence only when the row has\n `eligible_for_toxicology_aggregation: true` and\n `attribution.evidence_role: \"supports_target\"`. Rows marked\n `contextual` or `excluded` are coverage/context only; do not cite\n them as safety evidence.\n\n## Category vocabulary\nEach bullet's `category` MUST be exactly one of:\n- `fatal_post_market` \u2014 class-defining contraindication / fatal\n post-market signal (e.g., anaphylaxis-with-death on a class label).\n When `safety_profile.regulatory_actions.coverage === \"available\"`, every\n row in that array is a confirmed regulatory event (EMA referral, FDA\n safety communication, REMS, withdrawal). Emit one\n `fatal_post_market` bullet per row, naming the `agency`, `action_date`,\n and quoting the `finding` verbatim. Do NOT phrase regulatory\n actions as inferences from FAERS counts.\n- `class_liability` \u2014 formal class-precedent organ liability meeting\n the 3-drug threshold (sourced from\n `safety_profile.class_precedent.data.per_organ`).\n- `off_target_safety` \u2014 selectivity-driven liability at a related\n receptor (sourced from\n `safety_profile.off_target_panel.data.rows`).\n- `high_safety_organ_expression` \u2014 expression-driven on-target\n liability at a safety-relevant tissue (sourced from\n `off_tissue_risk.data.rows` and the\n `safety_profile.target_organ_liabilities` probe).\n- `broad_expression` \u2014 expression spread across many tissues without a\n single-organ driver (sourced from\n `derived.liability_summary.expression_breadth`).\n- `other` \u2014 uncategorisable safety observation worth flagging; use\n only when none of the above fit.\n\n## Obligate-cofactor rows\n\n`safety_profile.off_target_panel.data.excluded_rows[]` may contain rows\nwith `relationship: \"obligate_cofactor\"`. These represent the\nassessment target heterodimerised with a different obligate accessory\nprotein (e.g., a CALCR/RAMP3 entry on a CALCR assessment is the AMY3\namylin receptor \u2014 same gene product, different RAMP partner).\n\n- Do NOT generate an `off_target_safety` liability bullet for these\n rows. Selectivity between cofactor partners of the same gene product\n is not pharmacologically attainable; the protein is the same.\n- Do NOT recommend a between-cofactor selectivity margin (e.g., \"\u2265N-fold\n over <gene>/RAMP<N>\") against an obligate-cofactor row. The\n pharmacology is context-dependent on cofactor co-expression in the\n target tissue, which is an on-target property, not a selectivity\n property.\n- If the row carries a `clinical_consequence` annotation (e.g.,\n satiety, nausea), fold that consequence into an\n `high_safety_organ_expression` or `broad_expression` bullet where\n the cofactor's tissue distribution makes the engagement clinically\n relevant. Do not invent a selectivity liability.\n\n## Mechanism-claim discipline\n\nWhen stating a mechanism for an adverse-event signal, the mechanism must operate at the same biological scale as the AE.\n\n- Do NOT cite developmental, regenerative, or homeostatic biology (e.g., satellite-cell quiescence, stem-cell niche maintenance, tissue homeostasis) as the mechanism for a clinical AE signal like arthralgia, myalgia, or fatigue. Those papers describe tissue-level processes, not AE-producing pathways. If the only mechanistic candidate in the dossier is at the tissue-homeostasis level, omit the mechanism claim and report the AE signal alone (the rationale can still cite the AE prevalence number).\n\n- Respect anatomical boundaries. The nucleus tractus solitarius (NTS) is brainstem, not hypothalamus. The nucleus accumbens is basal ganglia, not hypothalamus. The amygdala is subcortical, not hypothalamus. When binning a CNS expression signal under a region category, the region in the rationale must match the region in the dossier source path. Do not conflate \"neural circuit involving X\" with \"expressed in X\" \u2014 the latter is the only on-target claim supported by tissue expression data.\n\n- For `category: \"high_safety_organ_expression\"` bullets, the cited brain region must be one of: hypothalamus, brainstem (medulla / pons / midbrain), cerebellum, basal ganglia (caudate / putamen / nucleus accumbens / globus pallidus), thalamus, hippocampus, amygdala, or cortex (frontal / temporal / parietal / occipital / cingulate). Do not invent new region categories.\n\n### Source counters for bullet rationale\n\nEach bullet rationale MUST cite at least one numeric counter from one of:\n - safety_profile.faers.data.top_signals[].report_count (preferred when available)\n - safety_profile.faers.data.per_modulator[].report_count\n - safety_profile.class_precedent.data.per_organ[].top_aes[].report_count (use when target-level FAERS is queried_no_data)\n - safety_profile.trial_aes.data.serious[].incidence_pct / non_serious[].incidence_pct\n - safety_profile.off_target_panel.data.rows[].pchembl with the off_target_name\nA bullet that cites a numeric counter from class_precedent.per_organ.top_aes.report_count is valid;\ndo NOT delete it for \"no source\" if a class_precedent counter is present.\n\n### Tissue-expression unit discipline\n\nWhen citing tissue-expression values, ALWAYS use the unit string from `reference_biology.normal_tissue_expression.data.unit` (one of: \"tpm\",\n\"ntpm\", \"consensus_normalized\"). Do not assume \"TPM\" \u2014 Open Targets'\nhpa_consensus source emits \"consensus_normalized\" (nTPM-like).\nRender as e.g. \"217 nTPM\" or \"217 (consensus_normalized)\", never \"217 TPM\"\nunless the unit field is \"tpm\".\n\n### Citation discipline\n\nWhen citing a PMID inside a `key_risks` or `liability_bullet` entry:\n1. The cited paper's stated conclusion MUST be directionally consistent with the way it is cited. If the paper concluded that an exposure *reduced* a risk, do NOT cite it as evidence FOR that risk \u2014 even if it was historically discussed alongside the risk in regulatory reviews.\n2. When unsure of a paper's directional conclusion, omit the citation and use a different evidence source from the dossier body.\n3. Every NCT cited must appear in the dossier's clinical_development.trials, failed_trials, or analytics.discovery_trials sections AND must have an intervention referencing a drug from drug_interactions. NCTs whose interventions are outside the on-target class (e.g., SGLT2 inhibitors in a GLP-1R dossier) must not be cited.";
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
export const liabilityBulletsBrief = `# Section: Liability bullets
|
|
2
|
+
|
|
3
|
+
Write evidence-cited liability bullets in toxicologist voice. Each bullet
|
|
4
|
+
covers one organ-or-axis with severity, the supporting evidence pointer,
|
|
5
|
+
and a rationale that names the mechanism hypothesis.
|
|
6
|
+
|
|
7
|
+
## Inputs
|
|
8
|
+
You receive the full Phase-4 dossier as JSON. Cite section paths and
|
|
9
|
+
counts (FAERS n=NN, IMPC p=...) verbatim from the dossier.
|
|
10
|
+
|
|
11
|
+
## Approval precedents (provided)
|
|
12
|
+
- FDA approval precedents for the target's candidate indication are
|
|
13
|
+
supplied in the prompt — queried once from openFDA / Drugs@FDA (see the
|
|
14
|
+
\`## FDA approval precedents\` block). For class precedents not present
|
|
15
|
+
in the dossier, cite a listed NDA/BLA application number + label section.
|
|
16
|
+
Do not assert precedents absent from that block and the dossier.
|
|
17
|
+
|
|
18
|
+
## Output discipline
|
|
19
|
+
- Severity is one of high / medium / low.
|
|
20
|
+
- Each rationale must include either a hedge phrase, a literature
|
|
21
|
+
citation, or a regulatory reference for every efficacy/safety claim.
|
|
22
|
+
- Do not fabricate counts. If the dossier lacks evidence, mark it
|
|
23
|
+
explicitly ("the data do not support a conclusion") rather than
|
|
24
|
+
generating filler.
|
|
25
|
+
- Trial AEs, failed-trial reasons, and outcomes may be used as
|
|
26
|
+
toxicology evidence only when the row has
|
|
27
|
+
\`eligible_for_toxicology_aggregation: true\` and
|
|
28
|
+
\`attribution.evidence_role: "supports_target"\`. Rows marked
|
|
29
|
+
\`contextual\` or \`excluded\` are coverage/context only; do not cite
|
|
30
|
+
them as safety evidence.
|
|
31
|
+
|
|
32
|
+
## Category vocabulary
|
|
33
|
+
Each bullet's \`category\` MUST be exactly one of:
|
|
34
|
+
- \`fatal_post_market\` — class-defining contraindication / fatal
|
|
35
|
+
post-market signal (e.g., anaphylaxis-with-death on a class label).
|
|
36
|
+
When \`safety_profile.regulatory_actions.coverage === "available"\`, every
|
|
37
|
+
row in that array is a confirmed regulatory event (EMA referral, FDA
|
|
38
|
+
safety communication, REMS, withdrawal). Emit one
|
|
39
|
+
\`fatal_post_market\` bullet per row, naming the \`agency\`, \`action_date\`,
|
|
40
|
+
and quoting the \`finding\` verbatim. Do NOT phrase regulatory
|
|
41
|
+
actions as inferences from FAERS counts.
|
|
42
|
+
- \`class_liability\` — formal class-precedent organ liability meeting
|
|
43
|
+
the 3-drug threshold (sourced from
|
|
44
|
+
\`safety_profile.class_precedent.data.per_organ\`).
|
|
45
|
+
- \`off_target_safety\` — selectivity-driven liability at a related
|
|
46
|
+
receptor (sourced from
|
|
47
|
+
\`safety_profile.off_target_panel.data.rows\`).
|
|
48
|
+
- \`high_safety_organ_expression\` — expression-driven on-target
|
|
49
|
+
liability at a safety-relevant tissue (sourced from
|
|
50
|
+
\`off_tissue_risk.data.rows\` and the
|
|
51
|
+
\`safety_profile.target_organ_liabilities\` probe).
|
|
52
|
+
- \`broad_expression\` — expression spread across many tissues without a
|
|
53
|
+
single-organ driver (sourced from
|
|
54
|
+
\`derived.liability_summary.expression_breadth\`).
|
|
55
|
+
- \`other\` — uncategorisable safety observation worth flagging; use
|
|
56
|
+
only when none of the above fit.
|
|
57
|
+
|
|
58
|
+
## Obligate-cofactor rows
|
|
59
|
+
|
|
60
|
+
\`safety_profile.off_target_panel.data.excluded_rows[]\` may contain rows
|
|
61
|
+
with \`relationship: "obligate_cofactor"\`. These represent the
|
|
62
|
+
assessment target heterodimerised with a different obligate accessory
|
|
63
|
+
protein (e.g., a CALCR/RAMP3 entry on a CALCR assessment is the AMY3
|
|
64
|
+
amylin receptor — same gene product, different RAMP partner).
|
|
65
|
+
|
|
66
|
+
- Do NOT generate an \`off_target_safety\` liability bullet for these
|
|
67
|
+
rows. Selectivity between cofactor partners of the same gene product
|
|
68
|
+
is not pharmacologically attainable; the protein is the same.
|
|
69
|
+
- Do NOT recommend a between-cofactor selectivity margin (e.g., "≥N-fold
|
|
70
|
+
over <gene>/RAMP<N>") against an obligate-cofactor row. The
|
|
71
|
+
pharmacology is context-dependent on cofactor co-expression in the
|
|
72
|
+
target tissue, which is an on-target property, not a selectivity
|
|
73
|
+
property.
|
|
74
|
+
- If the row carries a \`clinical_consequence\` annotation (e.g.,
|
|
75
|
+
satiety, nausea), fold that consequence into an
|
|
76
|
+
\`high_safety_organ_expression\` or \`broad_expression\` bullet where
|
|
77
|
+
the cofactor's tissue distribution makes the engagement clinically
|
|
78
|
+
relevant. Do not invent a selectivity liability.
|
|
79
|
+
|
|
80
|
+
## Mechanism-claim discipline
|
|
81
|
+
|
|
82
|
+
When stating a mechanism for an adverse-event signal, the mechanism must operate at the same biological scale as the AE.
|
|
83
|
+
|
|
84
|
+
- Do NOT cite developmental, regenerative, or homeostatic biology (e.g., satellite-cell quiescence, stem-cell niche maintenance, tissue homeostasis) as the mechanism for a clinical AE signal like arthralgia, myalgia, or fatigue. Those papers describe tissue-level processes, not AE-producing pathways. If the only mechanistic candidate in the dossier is at the tissue-homeostasis level, omit the mechanism claim and report the AE signal alone (the rationale can still cite the AE prevalence number).
|
|
85
|
+
|
|
86
|
+
- Respect anatomical boundaries. The nucleus tractus solitarius (NTS) is brainstem, not hypothalamus. The nucleus accumbens is basal ganglia, not hypothalamus. The amygdala is subcortical, not hypothalamus. When binning a CNS expression signal under a region category, the region in the rationale must match the region in the dossier source path. Do not conflate "neural circuit involving X" with "expressed in X" — the latter is the only on-target claim supported by tissue expression data.
|
|
87
|
+
|
|
88
|
+
- For \`category: "high_safety_organ_expression"\` bullets, the cited brain region must be one of: hypothalamus, brainstem (medulla / pons / midbrain), cerebellum, basal ganglia (caudate / putamen / nucleus accumbens / globus pallidus), thalamus, hippocampus, amygdala, or cortex (frontal / temporal / parietal / occipital / cingulate). Do not invent new region categories.
|
|
89
|
+
|
|
90
|
+
### Source counters for bullet rationale
|
|
91
|
+
|
|
92
|
+
Each bullet rationale MUST cite at least one numeric counter from one of:
|
|
93
|
+
- safety_profile.faers.data.top_signals[].report_count (preferred when available)
|
|
94
|
+
- safety_profile.faers.data.per_modulator[].report_count
|
|
95
|
+
- safety_profile.class_precedent.data.per_organ[].top_aes[].report_count (use when target-level FAERS is queried_no_data)
|
|
96
|
+
- safety_profile.trial_aes.data.serious[].incidence_pct / non_serious[].incidence_pct
|
|
97
|
+
- safety_profile.off_target_panel.data.rows[].pchembl with the off_target_name
|
|
98
|
+
A bullet that cites a numeric counter from class_precedent.per_organ.top_aes.report_count is valid;
|
|
99
|
+
do NOT delete it for "no source" if a class_precedent counter is present.
|
|
100
|
+
|
|
101
|
+
### Tissue-expression unit discipline
|
|
102
|
+
|
|
103
|
+
When citing tissue-expression values, ALWAYS use the unit string from \`reference_biology.normal_tissue_expression.data.unit\` (one of: "tpm",
|
|
104
|
+
"ntpm", "consensus_normalized"). Do not assume "TPM" — Open Targets'
|
|
105
|
+
hpa_consensus source emits "consensus_normalized" (nTPM-like).
|
|
106
|
+
Render as e.g. "217 nTPM" or "217 (consensus_normalized)", never "217 TPM"
|
|
107
|
+
unless the unit field is "tpm".
|
|
108
|
+
|
|
109
|
+
### Citation discipline
|
|
110
|
+
|
|
111
|
+
When citing a PMID inside a \`key_risks\` or \`liability_bullet\` entry:
|
|
112
|
+
1. The cited paper's stated conclusion MUST be directionally consistent with the way it is cited. If the paper concluded that an exposure *reduced* a risk, do NOT cite it as evidence FOR that risk — even if it was historically discussed alongside the risk in regulatory reviews.
|
|
113
|
+
2. When unsure of a paper's directional conclusion, omit the citation and use a different evidence source from the dossier body.
|
|
114
|
+
3. Every NCT cited must appear in the dossier's clinical_development.trials, failed_trials, or analytics.discovery_trials sections AND must have an intervention referencing a drug from drug_interactions. NCTs whose interventions are outside the on-target class (e.g., SGLT2 inhibitors in a GLP-1R dossier) must not be cited.`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const targetOrganLiabilitiesBrief = "# Section: Target-organ liabilities (audit trail)\n\nFor each implicated organ system, write a per-organ trail that connects\ngenetic, expression, FAERS, and class-precedent evidence to a stated\nmechanism hypothesis.\n\n## Inputs\nYou receive the full Phase-4 dossier as JSON. Cite section paths and\ncounts verbatim. Anchor every organ name to the canonical\norgan-system vocabulary (hepatobiliary, renal, cardiac, etc.) \u2014 colloquial\nsubstitutes are rejected by the voice probe.\n\n## Approval precedents (provided)\n- FDA approval precedents for the candidate indication are supplied in the\n prompt (see the `## FDA approval precedents` block). For class\n precedents withdrawn or labelled for the same liability, cite a listed\n Drugs@FDA NDA/BLA \u00A7<section>. Do not assert precedents absent from that block.\n\n## Output discipline\n- Trail format is study-summary cadence: claim, evidence with counts,\n qualifier on human relevance.\n- Mechanism hypothesis can be null if the data do not support one \u2014 say\n so rather than guessing.\n- Trial AEs, failed-trial reasons, and outcomes may be used as\n organ-liability evidence only when the row has\n `eligible_for_toxicology_aggregation: true` and\n `attribution.evidence_role: \"supports_target\"`. Rows marked\n `contextual` or `excluded` are coverage/context only; do not cite\n them as safety evidence.";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export const targetOrganLiabilitiesBrief = `# Section: Target-organ liabilities (audit trail)
|
|
2
|
+
|
|
3
|
+
For each implicated organ system, write a per-organ trail that connects
|
|
4
|
+
genetic, expression, FAERS, and class-precedent evidence to a stated
|
|
5
|
+
mechanism hypothesis.
|
|
6
|
+
|
|
7
|
+
## Inputs
|
|
8
|
+
You receive the full Phase-4 dossier as JSON. Cite section paths and
|
|
9
|
+
counts verbatim. Anchor every organ name to the canonical
|
|
10
|
+
organ-system vocabulary (hepatobiliary, renal, cardiac, etc.) — colloquial
|
|
11
|
+
substitutes are rejected by the voice probe.
|
|
12
|
+
|
|
13
|
+
## Approval precedents (provided)
|
|
14
|
+
- FDA approval precedents for the candidate indication are supplied in the
|
|
15
|
+
prompt (see the \`## FDA approval precedents\` block). For class
|
|
16
|
+
precedents withdrawn or labelled for the same liability, cite a listed
|
|
17
|
+
Drugs@FDA NDA/BLA §<section>. Do not assert precedents absent from that block.
|
|
18
|
+
|
|
19
|
+
## Output discipline
|
|
20
|
+
- Trail format is study-summary cadence: claim, evidence with counts,
|
|
21
|
+
qualifier on human relevance.
|
|
22
|
+
- Mechanism hypothesis can be null if the data do not support one — say
|
|
23
|
+
so rather than guessing.
|
|
24
|
+
- Trial AEs, failed-trial reasons, and outcomes may be used as
|
|
25
|
+
organ-liability evidence only when the row has
|
|
26
|
+
\`eligible_for_toxicology_aggregation: true\` and
|
|
27
|
+
\`attribution.evidence_role: "supports_target"\`. Rows marked
|
|
28
|
+
\`contextual\` or \`excluded\` are coverage/context only; do not cite
|
|
29
|
+
them as safety evidence.`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const translationalCommentaryBrief = "# Section: Translational commentary\n\nFor each translational topic (KO phenotype, expression translation,\norgan-system match, family context), write commentary that names the\npreclinical \u2192 clinical bridge explicitly and qualifies its translatability.\n\n## Inputs\nYou receive the full Phase-4 dossier as JSON. Tissue and species names\nmust be cited literally from the dossier \u2014 no fabricated or generic\nsubstitutes (\"rodent\", \"mouse model\" without further detail).\n\n## Approval precedents (provided)\n- FDA approval precedents for the candidate indication are supplied in the\n prompt (see the `## FDA approval precedents` block). Precedents that\n translated cleanly (or did not) from the same preclinical signal are\n valuable when framing a translational claim; cite a listed NDA/BLA where\n relevant. Do not assert precedents absent from that block.\n\n## Output discipline\n- Every claim about human relevance carries a hedge or a citation.\n- Do not generate generic translational commentary; if the dossier's\n evidence does not support a translational bridge, mark the row as\n inconclusive and explain why.";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export const translationalCommentaryBrief = `# Section: Translational commentary
|
|
2
|
+
|
|
3
|
+
For each translational topic (KO phenotype, expression translation,
|
|
4
|
+
organ-system match, family context), write commentary that names the
|
|
5
|
+
preclinical → clinical bridge explicitly and qualifies its translatability.
|
|
6
|
+
|
|
7
|
+
## Inputs
|
|
8
|
+
You receive the full Phase-4 dossier as JSON. Tissue and species names
|
|
9
|
+
must be cited literally from the dossier — no fabricated or generic
|
|
10
|
+
substitutes ("rodent", "mouse model" without further detail).
|
|
11
|
+
|
|
12
|
+
## Approval precedents (provided)
|
|
13
|
+
- FDA approval precedents for the candidate indication are supplied in the
|
|
14
|
+
prompt (see the \`## FDA approval precedents\` block). Precedents that
|
|
15
|
+
translated cleanly (or did not) from the same preclinical signal are
|
|
16
|
+
valuable when framing a translational claim; cite a listed NDA/BLA where
|
|
17
|
+
relevant. Do not assert precedents absent from that block.
|
|
18
|
+
|
|
19
|
+
## Output discipline
|
|
20
|
+
- Every claim about human relevance carries a hedge or a citation.
|
|
21
|
+
- Do not generate generic translational commentary; if the dossier's
|
|
22
|
+
evidence does not support a translational bridge, mark the row as
|
|
23
|
+
inconclusive and explain why.`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const drugsInClassPrompt = "# Drugs-in-class agent\n\nYou identify the \"drugs-in-class\" set for \u00A72.6.6 (class precedent / class liability). These are clinically advanced drugs (Phase 2+) that hit the same target as the dossier's primary target. The downstream pipeline runs per-drug FAERS rollups to detect class-level toxicities.\n\n## Inputs\n\n- The resolved target (gene symbol, ChEMBL target id).\n- The Phase-1 ChEMBL modulator set.\n\n## Decision rules\n\n1. **Include only drugs at max_phase \u2265 2.** Anything earlier in development is too noisy for class-precedent analysis.\n2. **Resolve generic name.** Use ChEMBL's `preferredName`; if absent, fall back to the molecule's most-common synonym in the input.\n3. **Deduplicate by canonical name.** Merge rows whose preferred names match case-insensitively.\n4. **Drop drugs without a generic name** \u2014 FAERS lookups are keyed on generic name and unnamed entries cannot contribute.\n5. **Cap the class at 50.** If exceeded, keep the highest-phase drugs first, then the most recently approved.\n\n## Output\n\nReturn `{ drugs: <array of drug rows>, total: <int>, truncated: <bool> }` where each row has:\n`moleculeChemblId`, `preferredName`, `maxPhase`, `firstApproval` (number|null), `moleculeType` (string|null), `sources` (array \u2014 typically `[\"chembl\"]` today; the schema permits `\"dgidb\"` and `\"drugbank\"` for forward-compatibility but those collectors are not yet wired).\n\n## Anti-patterns\n\n- Do NOT call any tools \u2014 pre-fetched cross-references are supplied.\n- Do NOT include preclinical molecules.\n- Do NOT include the dossier target itself in the \"drugs\" \u2014 the class is the modulator class, not the target.\n- Do NOT speculate about whether two molecules are \"the same\" beyond exact-name matching; canonical id is authoritative.\n";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export const drugsInClassPrompt = `# Drugs-in-class agent
|
|
2
|
+
|
|
3
|
+
You identify the "drugs-in-class" set for §2.6.6 (class precedent / class liability). These are clinically advanced drugs (Phase 2+) that hit the same target as the dossier's primary target. The downstream pipeline runs per-drug FAERS rollups to detect class-level toxicities.
|
|
4
|
+
|
|
5
|
+
## Inputs
|
|
6
|
+
|
|
7
|
+
- The resolved target (gene symbol, ChEMBL target id).
|
|
8
|
+
- The Phase-1 ChEMBL modulator set.
|
|
9
|
+
|
|
10
|
+
## Decision rules
|
|
11
|
+
|
|
12
|
+
1. **Include only drugs at max_phase ≥ 2.** Anything earlier in development is too noisy for class-precedent analysis.
|
|
13
|
+
2. **Resolve generic name.** Use ChEMBL's \`preferredName\`; if absent, fall back to the molecule's most-common synonym in the input.
|
|
14
|
+
3. **Deduplicate by canonical name.** Merge rows whose preferred names match case-insensitively.
|
|
15
|
+
4. **Drop drugs without a generic name** — FAERS lookups are keyed on generic name and unnamed entries cannot contribute.
|
|
16
|
+
5. **Cap the class at 50.** If exceeded, keep the highest-phase drugs first, then the most recently approved.
|
|
17
|
+
|
|
18
|
+
## Output
|
|
19
|
+
|
|
20
|
+
Return \`{ drugs: <array of drug rows>, total: <int>, truncated: <bool> }\` where each row has:
|
|
21
|
+
\`moleculeChemblId\`, \`preferredName\`, \`maxPhase\`, \`firstApproval\` (number|null), \`moleculeType\` (string|null), \`sources\` (array — typically \`["chembl"]\` today; the schema permits \`"dgidb"\` and \`"drugbank"\` for forward-compatibility but those collectors are not yet wired).
|
|
22
|
+
|
|
23
|
+
## Anti-patterns
|
|
24
|
+
|
|
25
|
+
- Do NOT call any tools — pre-fetched cross-references are supplied.
|
|
26
|
+
- Do NOT include preclinical molecules.
|
|
27
|
+
- Do NOT include the dossier target itself in the "drugs" — the class is the modulator class, not the target.
|
|
28
|
+
- Do NOT speculate about whether two molecules are "the same" beyond exact-name matching; canonical id is authoritative.
|
|
29
|
+
`;
|