@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,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-step interpretive markdown summary — a focused `runAgent` tool-loop on
|
|
3
|
+
* the harness `ChatProvider` that consumes the step's in-memory transcript
|
|
4
|
+
* (the `runAgent` `messages` array the workflow body already holds) AND a
|
|
5
|
+
* scoped `read_file` so it grounds every quantitative claim in the persisted
|
|
6
|
+
* output files rather than confabulating from `execute_command` stdout.
|
|
7
|
+
*
|
|
8
|
+
* Contract:
|
|
9
|
+
* - `runAgent` loop with a single `read_file` tool scoped to the step's
|
|
10
|
+
* writable output tree (via `createReadFileTool(workspaceFs, workingDir)`).
|
|
11
|
+
* The summarizer reads any output file it needs, then emits the markdown
|
|
12
|
+
* summary as its final assistant text.
|
|
13
|
+
* - Returns `{ stepId, agentId, markdown }` on non-empty final text;
|
|
14
|
+
* `undefined` on empty/empty-after-trim, on a loop throw, or on no
|
|
15
|
+
* text in the final assistant turn. Non-fatal — the workflow body decides
|
|
16
|
+
* whether to write `output/summary.md`.
|
|
17
|
+
* - `Session` is taken explicitly (see the harness-durable-runtime spec).
|
|
18
|
+
*
|
|
19
|
+
* Honest empty: with no output artifacts the prompt directs the model to
|
|
20
|
+
* state plainly that the step produced no output files — no synthesized
|
|
21
|
+
* results. Blocked steps skip this producer entirely (handled upstream).
|
|
22
|
+
*
|
|
23
|
+
* Transcript-from-memory: per the harness-thread-store spec, workflow loops have no `messages`
|
|
24
|
+
* table; reconstruction from `operation_outputs` is read-side only. At
|
|
25
|
+
* step time the workflow body already holds the array — pass it in.
|
|
26
|
+
*/
|
|
27
|
+
import type { AgentSession } from "../auth/types.js";
|
|
28
|
+
import type { LoopMessage } from "../loop/types.js";
|
|
29
|
+
import type { AgentChat } from "../providers/types.js";
|
|
30
|
+
import type { WorkspaceFilesystem } from "../workspace/filesystem.js";
|
|
31
|
+
import { type StepSummary } from "../schemas/step-summary.js";
|
|
32
|
+
export interface GenerateStepSummaryOptions {
|
|
33
|
+
readonly provider: AgentChat;
|
|
34
|
+
readonly session: AgentSession;
|
|
35
|
+
readonly modelId: string;
|
|
36
|
+
/** In-memory transcript from `runAgent` — assistant + tool-result rounds. */
|
|
37
|
+
readonly messages: readonly LoopMessage[];
|
|
38
|
+
readonly artifactPaths: readonly string[];
|
|
39
|
+
/** Workspace read seam — backs the scoped `read_file` tool. */
|
|
40
|
+
readonly workspaceFs: WorkspaceFilesystem;
|
|
41
|
+
/** Absolute host path to the step's writable output tree — `read_file`'s working dir. */
|
|
42
|
+
readonly workingDir: string;
|
|
43
|
+
readonly stepId: string;
|
|
44
|
+
readonly agentId: string;
|
|
45
|
+
readonly runId: string;
|
|
46
|
+
readonly maxIterations?: number;
|
|
47
|
+
readonly signal?: AbortSignal;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Run the post-step summary loop on the harness provider against the supplied
|
|
51
|
+
* transcript, grounding claims in persisted files via `read_file`. Returns
|
|
52
|
+
* `undefined` on any non-fatal failure mode; the workflow body proceeds
|
|
53
|
+
* without `summary.md` in that case.
|
|
54
|
+
*/
|
|
55
|
+
export declare function generateStepSummary(opts: GenerateStepSummaryOptions): Promise<StepSummary | undefined>;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-step interpretive markdown summary — a focused `runAgent` tool-loop on
|
|
3
|
+
* the harness `ChatProvider` that consumes the step's in-memory transcript
|
|
4
|
+
* (the `runAgent` `messages` array the workflow body already holds) AND a
|
|
5
|
+
* scoped `read_file` so it grounds every quantitative claim in the persisted
|
|
6
|
+
* output files rather than confabulating from `execute_command` stdout.
|
|
7
|
+
*
|
|
8
|
+
* Contract:
|
|
9
|
+
* - `runAgent` loop with a single `read_file` tool scoped to the step's
|
|
10
|
+
* writable output tree (via `createReadFileTool(workspaceFs, workingDir)`).
|
|
11
|
+
* The summarizer reads any output file it needs, then emits the markdown
|
|
12
|
+
* summary as its final assistant text.
|
|
13
|
+
* - Returns `{ stepId, agentId, markdown }` on non-empty final text;
|
|
14
|
+
* `undefined` on empty/empty-after-trim, on a loop throw, or on no
|
|
15
|
+
* text in the final assistant turn. Non-fatal — the workflow body decides
|
|
16
|
+
* whether to write `output/summary.md`.
|
|
17
|
+
* - `Session` is taken explicitly (see the harness-durable-runtime spec).
|
|
18
|
+
*
|
|
19
|
+
* Honest empty: with no output artifacts the prompt directs the model to
|
|
20
|
+
* state plainly that the step produced no output files — no synthesized
|
|
21
|
+
* results. Blocked steps skip this producer entirely (handled upstream).
|
|
22
|
+
*
|
|
23
|
+
* Transcript-from-memory: per the harness-thread-store spec, workflow loops have no `messages`
|
|
24
|
+
* table; reconstruction from `operation_outputs` is read-side only. At
|
|
25
|
+
* step time the workflow body already holds the array — pass it in.
|
|
26
|
+
*/
|
|
27
|
+
import { forSubAgent } from "../auth/types.js";
|
|
28
|
+
import { finalText, runAgent } from "../loop/run-agent.js";
|
|
29
|
+
import { passthroughStep } from "../loop/run-step.js";
|
|
30
|
+
import { stepSummaryPrompt } from "../prompts/execute-analysis/step-summary.js";
|
|
31
|
+
import { createReadFileTool } from "../tools/workspace/read-file.js";
|
|
32
|
+
import { StepSummarySchema } from "../schemas/step-summary.js";
|
|
33
|
+
import { incrementSummaryNullCount } from "./step-summary-metrics.js";
|
|
34
|
+
const SYSTEM_PROMPT = `You are a sandbox agent writing a post-step interpretive summary of work you just completed.
|
|
35
|
+
|
|
36
|
+
Your prior conversation — tool calls, code output, intermediate results — is in the message history above. Use it for narrative and intent.
|
|
37
|
+
|
|
38
|
+
Ground every quantitative claim in a PERSISTED output file: open it with the read_file tool and report what the file actually contains. A number that appears only in command stdout is NOT a citable result — read the artifact that holds it. If there are no output files, say so plainly; do not invent numbers and do not synthesize results no artifact backs.
|
|
39
|
+
|
|
40
|
+
When finished, output ONLY the markdown summary as your final message — no preamble, no apologies, no tool calls.`;
|
|
41
|
+
/** Sub-agent identity for the summary loop — provenance only. */
|
|
42
|
+
const SUMMARY_AGENT_ID = "step-summary-writer";
|
|
43
|
+
/** Iteration budget: a handful of read_file reads plus the final write-up. */
|
|
44
|
+
const DEFAULT_MAX_ITERATIONS = 12;
|
|
45
|
+
/**
|
|
46
|
+
* Sanitize a transcript that came from the loop so it can prefix a fresh
|
|
47
|
+
* loop turn: any final assistant `tool_use` block needs a matching
|
|
48
|
+
* `tool_result` we are not going to produce. Drop the trailing partial round.
|
|
49
|
+
*/
|
|
50
|
+
function sanitizeTranscript(messages) {
|
|
51
|
+
const out = [...messages];
|
|
52
|
+
while (out.length > 0) {
|
|
53
|
+
const last = out[out.length - 1];
|
|
54
|
+
const blocks = Array.isArray(last.content) ? last.content : [];
|
|
55
|
+
const hasOpenToolUse = last.role === "assistant" && blocks.some((b) => b.type === "tool-call");
|
|
56
|
+
if (hasOpenToolUse) {
|
|
57
|
+
out.pop();
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
return out;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Run the post-step summary loop on the harness provider against the supplied
|
|
66
|
+
* transcript, grounding claims in persisted files via `read_file`. Returns
|
|
67
|
+
* `undefined` on any non-fatal failure mode; the workflow body proceeds
|
|
68
|
+
* without `summary.md` in that case.
|
|
69
|
+
*/
|
|
70
|
+
export async function generateStepSummary(opts) {
|
|
71
|
+
const transcript = sanitizeTranscript(opts.messages);
|
|
72
|
+
const userPrompt = stepSummaryPrompt(opts.artifactPaths.join("\n"));
|
|
73
|
+
const writer = {
|
|
74
|
+
id: SUMMARY_AGENT_ID,
|
|
75
|
+
systemPrompt: SYSTEM_PROMPT,
|
|
76
|
+
model: opts.modelId,
|
|
77
|
+
tools: [createReadFileTool(opts.workspaceFs, opts.workingDir)],
|
|
78
|
+
maxIterations: opts.maxIterations ?? DEFAULT_MAX_ITERATIONS,
|
|
79
|
+
};
|
|
80
|
+
const signal = opts.signal ?? new AbortController().signal;
|
|
81
|
+
let result;
|
|
82
|
+
try {
|
|
83
|
+
result = await runAgent(writer, [...transcript, { role: "user", content: userPrompt }], forSubAgent(opts.session, SUMMARY_AGENT_ID), {
|
|
84
|
+
provider: opts.provider,
|
|
85
|
+
signal,
|
|
86
|
+
emit: () => { },
|
|
87
|
+
runStep: passthroughStep,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
console.warn(`[step-summary] Summary loop failed runId=${opts.runId} stepId=${opts.stepId} agentId=${opts.agentId}: ${err instanceof Error ? err.message : err}`);
|
|
92
|
+
incrementSummaryNullCount(opts.agentId, "throw");
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
const markdown = finalText(result.messages);
|
|
96
|
+
if (!markdown || markdown.trim().length === 0) {
|
|
97
|
+
console.warn(`[step-summary] Empty markdown runId=${opts.runId} stepId=${opts.stepId} agentId=${opts.agentId}`);
|
|
98
|
+
incrementSummaryNullCount(opts.agentId, "empty");
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
return StepSummarySchema.parse({
|
|
102
|
+
stepId: opts.stepId,
|
|
103
|
+
agentId: opts.agentId,
|
|
104
|
+
markdown,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Topological sort of a plan DAG into execution waves.
|
|
3
|
+
*
|
|
4
|
+
* Uses Kahn's algorithm to group steps into waves where steps within
|
|
5
|
+
* a wave have no inter-dependencies and can run in parallel.
|
|
6
|
+
*/
|
|
7
|
+
import type { AnalysisStep } from "../schemas/workflow-state.js";
|
|
8
|
+
/** A wave is a group of steps with no inter-dependencies that can run in parallel. */
|
|
9
|
+
export type ExecutionWave = AnalysisStep[];
|
|
10
|
+
/** Thrown when the plan DAG contains a dependency cycle. */
|
|
11
|
+
export declare class CycleError extends Error {
|
|
12
|
+
readonly involvedSteps: string[];
|
|
13
|
+
constructor(involvedSteps: string[]);
|
|
14
|
+
}
|
|
15
|
+
/** Thrown when a step references a dependency that does not exist in the plan. */
|
|
16
|
+
export declare class DependencyError extends Error {
|
|
17
|
+
readonly stepId: string;
|
|
18
|
+
readonly missingDependency: string;
|
|
19
|
+
constructor(stepId: string, missingDependency: string);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Convert a flat array of analysis steps into ordered execution waves.
|
|
23
|
+
*
|
|
24
|
+
* Steps within a wave share no inter-dependencies and can run concurrently.
|
|
25
|
+
* Wave ordering guarantees that all dependencies of wave N are satisfied
|
|
26
|
+
* by waves 0..N-1.
|
|
27
|
+
*
|
|
28
|
+
* @param steps - Flat array of analysis steps with `id` and `depends_on`
|
|
29
|
+
* @returns Ordered array of waves (each wave is an array of steps)
|
|
30
|
+
* @throws {DependencyError} If a step references a non-existent dependency
|
|
31
|
+
* @throws {CycleError} If the dependency graph contains a cycle
|
|
32
|
+
*/
|
|
33
|
+
export declare function topoSortIntoWaves(steps: AnalysisStep[]): ExecutionWave[];
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Topological sort of a plan DAG into execution waves.
|
|
3
|
+
*
|
|
4
|
+
* Uses Kahn's algorithm to group steps into waves where steps within
|
|
5
|
+
* a wave have no inter-dependencies and can run in parallel.
|
|
6
|
+
*/
|
|
7
|
+
// ── Errors ─────────────────────────────────────────────────────────
|
|
8
|
+
/** Thrown when the plan DAG contains a dependency cycle. */
|
|
9
|
+
export class CycleError extends Error {
|
|
10
|
+
involvedSteps;
|
|
11
|
+
constructor(involvedSteps) {
|
|
12
|
+
super(`Dependency cycle detected involving steps: ${involvedSteps.join(", ")}`);
|
|
13
|
+
this.name = "CycleError";
|
|
14
|
+
this.involvedSteps = involvedSteps;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/** Thrown when a step references a dependency that does not exist in the plan. */
|
|
18
|
+
export class DependencyError extends Error {
|
|
19
|
+
stepId;
|
|
20
|
+
missingDependency;
|
|
21
|
+
constructor(stepId, missingDependency) {
|
|
22
|
+
super(`Step "${stepId}" depends on "${missingDependency}" which does not exist in the plan`);
|
|
23
|
+
this.name = "DependencyError";
|
|
24
|
+
this.stepId = stepId;
|
|
25
|
+
this.missingDependency = missingDependency;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// ── Core ───────────────────────────────────────────────────────────
|
|
29
|
+
/**
|
|
30
|
+
* Convert a flat array of analysis steps into ordered execution waves.
|
|
31
|
+
*
|
|
32
|
+
* Steps within a wave share no inter-dependencies and can run concurrently.
|
|
33
|
+
* Wave ordering guarantees that all dependencies of wave N are satisfied
|
|
34
|
+
* by waves 0..N-1.
|
|
35
|
+
*
|
|
36
|
+
* @param steps - Flat array of analysis steps with `id` and `depends_on`
|
|
37
|
+
* @returns Ordered array of waves (each wave is an array of steps)
|
|
38
|
+
* @throws {DependencyError} If a step references a non-existent dependency
|
|
39
|
+
* @throws {CycleError} If the dependency graph contains a cycle
|
|
40
|
+
*/
|
|
41
|
+
export function topoSortIntoWaves(steps) {
|
|
42
|
+
if (steps.length === 0)
|
|
43
|
+
return [];
|
|
44
|
+
// Build lookup and validate dependencies exist
|
|
45
|
+
const stepById = new Map();
|
|
46
|
+
for (const step of steps) {
|
|
47
|
+
stepById.set(step.id, step);
|
|
48
|
+
}
|
|
49
|
+
for (const step of steps) {
|
|
50
|
+
for (const dep of step.depends_on) {
|
|
51
|
+
if (!stepById.has(dep)) {
|
|
52
|
+
throw new DependencyError(step.id, dep);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Kahn's algorithm: compute in-degree for each step (only counting
|
|
57
|
+
// edges within this step set)
|
|
58
|
+
const inDegree = new Map();
|
|
59
|
+
const dependents = new Map();
|
|
60
|
+
for (const step of steps) {
|
|
61
|
+
inDegree.set(step.id, 0);
|
|
62
|
+
dependents.set(step.id, []);
|
|
63
|
+
}
|
|
64
|
+
for (const step of steps) {
|
|
65
|
+
for (const dep of step.depends_on) {
|
|
66
|
+
inDegree.set(step.id, (inDegree.get(step.id) ?? 0) + 1);
|
|
67
|
+
dependents.get(dep).push(step.id);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// Process wave by wave: each wave consists of all nodes with in-degree 0
|
|
71
|
+
const waves = [];
|
|
72
|
+
let remaining = steps.length;
|
|
73
|
+
// Seed the first frontier with all zero-indegree nodes
|
|
74
|
+
let frontier = steps.filter((s) => inDegree.get(s.id) === 0).map((s) => s.id);
|
|
75
|
+
while (frontier.length > 0) {
|
|
76
|
+
// Current frontier forms a wave
|
|
77
|
+
const wave = frontier.map((id) => stepById.get(id));
|
|
78
|
+
waves.push(wave);
|
|
79
|
+
remaining -= frontier.length;
|
|
80
|
+
// Compute next frontier
|
|
81
|
+
const nextFrontier = [];
|
|
82
|
+
for (const id of frontier) {
|
|
83
|
+
for (const dep of dependents.get(id)) {
|
|
84
|
+
const newDeg = (inDegree.get(dep) ?? 1) - 1;
|
|
85
|
+
inDegree.set(dep, newDeg);
|
|
86
|
+
if (newDeg === 0) {
|
|
87
|
+
nextFrontier.push(dep);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
frontier = nextFrontier;
|
|
92
|
+
}
|
|
93
|
+
// If nodes remain, the graph has a cycle
|
|
94
|
+
if (remaining > 0) {
|
|
95
|
+
const cycleSteps = steps.filter((s) => (inDegree.get(s.id) ?? 0) > 0).map((s) => s.id);
|
|
96
|
+
throw new CycleError(cycleSteps);
|
|
97
|
+
}
|
|
98
|
+
return waves;
|
|
99
|
+
}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Curated public interface for `@inflexa-ai/harness` — the embedder-facing
|
|
3
|
+
* front door. Every deep subpath (`@inflexa-ai/harness/...`) remains
|
|
4
|
+
* importable; this barrel exposes only the surface an embedder needs to wire
|
|
5
|
+
* the agent with its own seam realizations.
|
|
6
|
+
*/
|
|
7
|
+
export { assembleCoreRuntime } from "./runtime/assemble.js";
|
|
8
|
+
export type { CoreRuntime, CoreRuntimeDeps, CoreWorkflowDeps, RegisteredWorkflows, ConversationAssemblyDeps, SandboxStepCallable } from "./runtime/assemble.js";
|
|
9
|
+
export { bootHarness } from "./runtime/boot.js";
|
|
10
|
+
export type { BootHarnessDeps, BootedHarness } from "./runtime/boot.js";
|
|
11
|
+
export { createConversationAgent } from "./agents/conversation-agent.js";
|
|
12
|
+
export type { ConversationAgentDeps } from "./agents/conversation-agent.js";
|
|
13
|
+
export { createLocalRunAuthorizer } from "./auth/local-run-authorizer.js";
|
|
14
|
+
export type { RunAuthorizer, AuthorizeRunInput, RunAuthorization } from "./execution/run-authorizer.js";
|
|
15
|
+
export { createNoopBillingResolver } from "./billing/noop-resolver.js";
|
|
16
|
+
export type { ResolveBilling, ResolvableSession, BillingMap, BillingHeaders, BillingFetchResult } from "./billing/resolver.js";
|
|
17
|
+
export { createNoopRunCharge } from "./billing/noop-run-charge.js";
|
|
18
|
+
export type { RunCharge } from "./billing/run-charge.js";
|
|
19
|
+
export { createNoopArtifactRegistry } from "./execution/noop-artifact-registry.js";
|
|
20
|
+
export type { ArtifactRegistry, ArtifactRegistrationInput, ArtifactSyncInput, ExternalRegistrationResult } from "./execution/artifact-registry.js";
|
|
21
|
+
export type { ArtifactManifestEntry } from "./schemas/artifact-manifest.js";
|
|
22
|
+
export type { ProvenanceCollector } from "./provenance/collector.js";
|
|
23
|
+
export { UnavailablePreviewPublisher } from "./tools/report/preview-publisher.js";
|
|
24
|
+
export type { PreviewPublisher, PreviewMintResult } from "./tools/report/preview-publisher.js";
|
|
25
|
+
export { createDbosRunLauncher } from "./execution/dbos-run-launcher.js";
|
|
26
|
+
export type { RunLauncher, LaunchOptions, LaunchRunOptions, LaunchOutcome } from "./execution/run-launcher.js";
|
|
27
|
+
export { defineTool, isToolError } from "./tools/define-tool.js";
|
|
28
|
+
export type { Tool, ToolDefinition, ToolContext, ToolError } from "./tools/define-tool.js";
|
|
29
|
+
export { runAgent, finalText } from "./loop/run-agent.js";
|
|
30
|
+
export type { RunAgentOptions, RunAgentResult, AgentFinish } from "./loop/run-agent.js";
|
|
31
|
+
export type { AgentDefinition, RunStep, EmitFn, EmitEvent, EventSource } from "./loop/types.js";
|
|
32
|
+
export { passthroughStep } from "./loop/run-step.js";
|
|
33
|
+
export { forStep, forSubAgent, scopeResource, scopeWorkloadId } from "./auth/types.js";
|
|
34
|
+
export type { AgentSession, RequestSession, RunSession, Identity, Scope, Credential, Provenance, RunFrame, AuthContext, ResourceCoordinates, } from "./auth/types.js";
|
|
35
|
+
export { makeLocalAuth } from "./auth/local-auth-context.js";
|
|
36
|
+
export { createAnthropicProvider } from "./providers/anthropic.js";
|
|
37
|
+
export type { AnthropicProviderDeps } from "./providers/anthropic.js";
|
|
38
|
+
export { createConfiguredAiSdkProvider } from "./providers/ai-sdk.js";
|
|
39
|
+
export type { AiSdkProviderConfig, ConfiguredAiSdkProviderDeps } from "./providers/ai-sdk.js";
|
|
40
|
+
export { createEmbeddingProvider } from "./providers/embedding.js";
|
|
41
|
+
export type { EmbeddingProviderDeps } from "./providers/embedding.js";
|
|
42
|
+
export type { AgentChat, ChatProvider, EmbeddingProvider, ChatRequest, ChatResponse, ChatStreamEvent, ModelMessage } from "./providers/types.js";
|
|
43
|
+
export { toProviderError, isProviderError } from "./providers/errors.js";
|
|
44
|
+
export type { ProviderError } from "./providers/errors.js";
|
|
45
|
+
export { createStreamingChat } from "./providers/streaming-chat.js";
|
|
46
|
+
export { prepareChatTurn } from "./app/chat-turn.js";
|
|
47
|
+
export type { PrepareChatTurnDeps, PrepareChatTurnParams, PrepareChatTurnResult } from "./app/chat-turn.js";
|
|
48
|
+
export { createThreadStore } from "./memory/thread-store.js";
|
|
49
|
+
export type { ThreadStore, Thread, CreateThreadInput, ListThreadsInput, ThreadPage } from "./memory/thread-store.js";
|
|
50
|
+
export { createThreadHistory } from "./memory/thread-history.js";
|
|
51
|
+
export type { ThreadHistory, StoredMessage, MessagePage } from "./memory/thread-history.js";
|
|
52
|
+
export { contentToCortexMessages } from "./memory/content-to-cortex.js";
|
|
53
|
+
export { createCardResolver } from "./memory/reconstruct-cards.js";
|
|
54
|
+
export type { ToolCardResolver, StoredToolCallForCard } from "./memory/reconstruct-cards.js";
|
|
55
|
+
export type { CortexChatEvent, TextDeltaEvent, ToolStartedEvent, ToolFinishedEvent, FinishEvent, ChatErrorEvent } from "./contracts/chat-events.js";
|
|
56
|
+
export type { CortexChatPart, PresentationPart, PresentationContent, PlanPart, RunCardPart, FileReferencePart, FileReferenceEntry, RunStartedPart, DagStatePart, DagStepState, StepStatus, StepActivityPart, StepPhase, StepFileTreePart, FileTreeEntry, StepOutputPart, StepOutputFile, StepSummaryPart, StepBlockedPart, RunSynthesisPart, SynthesizedFinding, BiologicalTheme, SynthesisProgressPart, SynthesisPhase, RunCompletedPart, RunCompletedFinding, RunFailedPart, PreviewPart, DataPreviewFailedPart, } from "./contracts/chat-parts.js";
|
|
57
|
+
export { PART_REGISTRY, isTransient, isReconciling, isSidebarPart } from "./contracts/part-registry.js";
|
|
58
|
+
export type { CortexChatPartType, PartDescriptor, PartEmitter, PartConsumer } from "./contracts/part-registry.js";
|
|
59
|
+
export { launchDbos, shutdownDbos, sweepEphemeralWorkflows } from "./runtime/dbos.js";
|
|
60
|
+
export type { DbosConfig } from "./runtime/dbos.js";
|
|
61
|
+
export { StatusString } from "@dbos-inc/dbos-sdk";
|
|
62
|
+
export type { WorkflowStatusString } from "@dbos-inc/dbos-sdk";
|
|
63
|
+
export { createPool } from "./lib/storage.js";
|
|
64
|
+
export type { PoolConfig } from "./lib/storage.js";
|
|
65
|
+
export type { Pool } from "pg";
|
|
66
|
+
export { registerDataProfileWorkflow, triggerDataProfile, runDataProfile } from "./tasks/data-profile.js";
|
|
67
|
+
export type { DataProfileDeps, DataProfileWorkflowInput, DataProfileTriggerDeps, DataProfileTriggerParams, DataProfileTriggerResult, } from "./tasks/data-profile.js";
|
|
68
|
+
export { initCortexState } from "./state/init.js";
|
|
69
|
+
export { upsertAnalysis } from "./state/analyses.js";
|
|
70
|
+
export { clearDataProfile, loadDataProfileStatus, tryRetryDataProfile, reconcileOrphanedDataProfile } from "./state/data-profile.js";
|
|
71
|
+
export type { DataProfileInputFile, DataProfileResult, DataProfileStatus } from "./state/data-profile.js";
|
|
72
|
+
export type { StagedInput } from "./execution/staged-input.js";
|
|
73
|
+
export type { ResolveWorkspaceRoot } from "./workspace/paths.js";
|
|
74
|
+
export { createSandboxClient } from "./sandbox/create-sandbox.js";
|
|
75
|
+
export type { CreateSandboxClientConfig, SandboxBackendConfig } from "./sandbox/create-sandbox.js";
|
|
76
|
+
export type { SandboxClient } from "./sandbox/client.js";
|
|
77
|
+
export { MachineBudgetSchema, ResourceLimitsSchema, ResourcePolicySchema, ResourceSpecSchema, parseResourcePolicy } from "./config/resource-limits.js";
|
|
78
|
+
export type { MachineBudget, ResourceLimits, ResourcePolicy, ResourceSpec } from "./config/resource-limits.js";
|
|
79
|
+
export { createWorkspaceFilesystem } from "./workspace/filesystem.js";
|
|
80
|
+
export type { WorkspaceFilesystem, WorkspaceFilesystemDeps } from "./workspace/filesystem.js";
|
|
81
|
+
export { workflowIdFromExec } from "./sandbox/exec-id.js";
|
|
82
|
+
export { deliverExecEvent, execEventTopic } from "./sandbox/deliver-exec-event.js";
|
|
83
|
+
export { ExecEventMessageSchema } from "./sandbox/types.js";
|
|
84
|
+
export type { ExecEventMessage, DoneMarker } from "./sandbox/types.js";
|
|
85
|
+
export { registerExecuteAnalysis } from "./workflows/execute-analysis.js";
|
|
86
|
+
export type { ExecuteAnalysisDeps, ExecuteAnalysisInput, ExecuteAnalysisResult, RunProvenanceEvent } from "./workflows/execute-analysis.js";
|
|
87
|
+
export { registerSandboxStep } from "./workflows/sandbox-step.js";
|
|
88
|
+
export type { SandboxStepDeps, SandboxStepInput, SandboxStepResult, SandboxAgentBuildContext } from "./workflows/sandbox-step.js";
|
|
89
|
+
export { createSandboxAgents, SANDBOX_AGENT_META } from "./agents/sandbox/index.js";
|
|
90
|
+
export type { SandboxAgentDeps, SandboxStepCoords, AgentMeta } from "./agents/sandbox/index.js";
|
|
91
|
+
export { AnalysisPlanSchema } from "./schemas/workflow-state.js";
|
|
92
|
+
export type { AnalysisPlan, AnalysisStep } from "./schemas/workflow-state.js";
|
|
93
|
+
export type { PlanStep } from "./workflows/execute-analysis-scheduler.js";
|
|
94
|
+
export { validatePlan } from "./schemas/validate-plan.js";
|
|
95
|
+
export type { ValidatePlanOptions } from "./schemas/validate-plan.js";
|
|
96
|
+
export type { ValidationResult } from "./schemas/validate-plan.js";
|
|
97
|
+
export { renderStepPrompt } from "./schemas/render-step-prompt.js";
|
|
98
|
+
export { upsertPlan, loadPlan } from "./state/plans.js";
|
|
99
|
+
export type { UpsertPlanInput } from "./state/plans.js";
|
|
100
|
+
export { insertRun, queryActiveRun, updateRunStatus, queryRun, queryRunsByAnalysis, RunDedupCollisionError } from "./state/runs.js";
|
|
101
|
+
export type { InsertRunInput } from "./state/runs.js";
|
|
102
|
+
export { queryStepsByRun } from "./state/step-executions.js";
|
|
103
|
+
export type { CortexRunRow, StepExecutionRow, RunStatus } from "./state/schema.js";
|
|
104
|
+
export type { DbError } from "./lib/db-result.js";
|
|
105
|
+
export { queryActiveSandboxes } from "./state/active-sandboxes.js";
|
|
106
|
+
export { runStepDir } from "./workspace/paths.js";
|
|
107
|
+
export { registerSandboxReaper } from "./sandbox/reaper.js";
|
|
108
|
+
export type { RegisterReaperDeps } from "./sandbox/reaper.js";
|
|
109
|
+
export { registerWatchdog } from "./sandbox/watchdog.js";
|
|
110
|
+
export type { WatchdogDeps } from "./sandbox/watchdog.js";
|
|
111
|
+
export { registerNotificationSweep } from "./sandbox/notification-sweep.js";
|
|
112
|
+
export type { RegisterNotificationSweepDeps } from "./sandbox/notification-sweep.js";
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Curated public interface for `@inflexa-ai/harness` — the embedder-facing
|
|
3
|
+
* front door. Every deep subpath (`@inflexa-ai/harness/...`) remains
|
|
4
|
+
* importable; this barrel exposes only the surface an embedder needs to wire
|
|
5
|
+
* the agent with its own seam realizations.
|
|
6
|
+
*/
|
|
7
|
+
// Runtime assembly + composition root.
|
|
8
|
+
export { assembleCoreRuntime } from "./runtime/assemble.js";
|
|
9
|
+
// The harness-owned boot sequence: ordered boot steps around `assembleCoreRuntime`
|
|
10
|
+
// (skill validation → state init → connection budget → assemble → launch) + a
|
|
11
|
+
// `shutdown` handle the embedder wires to its process signals.
|
|
12
|
+
export { bootHarness } from "./runtime/boot.js";
|
|
13
|
+
export { createConversationAgent } from "./agents/conversation-agent.js";
|
|
14
|
+
// Seam: run authorization.
|
|
15
|
+
export { createLocalRunAuthorizer } from "./auth/local-run-authorizer.js";
|
|
16
|
+
// Seam: billing resolution.
|
|
17
|
+
export { createNoopBillingResolver } from "./billing/noop-resolver.js";
|
|
18
|
+
// Seam: run-level billing bracket.
|
|
19
|
+
export { createNoopRunCharge } from "./billing/noop-run-charge.js";
|
|
20
|
+
// Seam: artifact registration.
|
|
21
|
+
export { createNoopArtifactRegistry } from "./execution/noop-artifact-registry.js";
|
|
22
|
+
// Seam: report preview publishing.
|
|
23
|
+
export { UnavailablePreviewPublisher } from "./tools/report/preview-publisher.js";
|
|
24
|
+
// Run launching.
|
|
25
|
+
export { createDbosRunLauncher } from "./execution/dbos-run-launcher.js";
|
|
26
|
+
// Tool primitive.
|
|
27
|
+
export { defineTool, isToolError } from "./tools/define-tool.js";
|
|
28
|
+
// Agent loop.
|
|
29
|
+
export { runAgent, finalText } from "./loop/run-agent.js";
|
|
30
|
+
// `passthroughStep` is the in-process `RunStep`: the host request/chat path runs
|
|
31
|
+
// the loop with no durability wrapper (workflow contexts use the durable step).
|
|
32
|
+
// An embedder driving `runAgent` outside a workflow passes it as `runStep`.
|
|
33
|
+
export { passthroughStep } from "./loop/run-step.js";
|
|
34
|
+
// Session value objects + helpers.
|
|
35
|
+
export { forStep, forSubAgent, scopeResource, scopeWorkloadId } from "./auth/types.js";
|
|
36
|
+
export { makeLocalAuth } from "./auth/local-auth-context.js";
|
|
37
|
+
// Providers.
|
|
38
|
+
export { createAnthropicProvider } from "./providers/anthropic.js";
|
|
39
|
+
// The general provider-configuration path: `createConfiguredAiSdkProvider`
|
|
40
|
+
// builds a `ChatProvider` from an `AiSdkProviderConfig` — the connection+model
|
|
41
|
+
// union discriminated over the `anthropic` and `openai-compatible` kinds — with
|
|
42
|
+
// `ConfiguredAiSdkProviderDeps` as its argument shape. `createAnthropicProvider`
|
|
43
|
+
// above is a convenience over this union's `anthropic` arm.
|
|
44
|
+
export { createConfiguredAiSdkProvider } from "./providers/ai-sdk.js";
|
|
45
|
+
export { createEmbeddingProvider } from "./providers/embedding.js";
|
|
46
|
+
// Provider error channel. `ProviderError` is the value `chat`/`embed` fail
|
|
47
|
+
// with; `toProviderError` is its sole constructor. Exposed so an embedder
|
|
48
|
+
// realizing its own `ChatProvider`/`EmbeddingProvider` fails with the exact
|
|
49
|
+
// same shape the harness's own realizations do, rather than re-deriving it.
|
|
50
|
+
// `isProviderError` is the structural guard an embedder driving `chatStream`
|
|
51
|
+
// directly needs: `chatStream` throws a `ProviderError` value (a plain object,
|
|
52
|
+
// not an `Error`), so a `catch` recognizes it by shape, not `instanceof`.
|
|
53
|
+
export { toProviderError, isProviderError } from "./providers/errors.js";
|
|
54
|
+
// `createStreamingChat` wraps a `ChatProvider` as a streaming `AgentChat` (the
|
|
55
|
+
// type `runAgent`'s `provider` option takes): its `chat` drives the provider's
|
|
56
|
+
// `chatStream` and forwards each text delta to `onText`, so a same-process host
|
|
57
|
+
// gets live token streaming out of the otherwise non-streaming loop.
|
|
58
|
+
export { createStreamingChat } from "./providers/streaming-chat.js";
|
|
59
|
+
// Conversation turn + thread memory — the transport-free halves of one chat
|
|
60
|
+
// turn a same-process host drives itself. `prepareChatTurn` assembles the
|
|
61
|
+
// message array (thread-ownership resolution, title seed, analysis-context
|
|
62
|
+
// injection); the caller runs `runAgent` with its own `emit`; `appendTurn`
|
|
63
|
+
// (`createThreadHistory`) persists the turn. `createThreadStore` owns thread
|
|
64
|
+
// metadata (create/list/title). `contentToCortexMessages` + `createCardResolver`
|
|
65
|
+
// reconstruct display cards from a persisted thread on reload.
|
|
66
|
+
export { prepareChatTurn } from "./app/chat-turn.js";
|
|
67
|
+
export { createThreadStore } from "./memory/thread-store.js";
|
|
68
|
+
export { createThreadHistory } from "./memory/thread-history.js";
|
|
69
|
+
export { contentToCortexMessages } from "./memory/content-to-cortex.js";
|
|
70
|
+
export { createCardResolver } from "./memory/reconstruct-cards.js";
|
|
71
|
+
export { PART_REGISTRY, isTransient, isReconciling, isSidebarPart } from "./contracts/part-registry.js";
|
|
72
|
+
// Embedder runtime surface — what a same-process host needs to run durable
|
|
73
|
+
// workflows itself: the DBOS lifecycle, per-workflow registration + triggers,
|
|
74
|
+
// the staged-input manifest contract, the sandbox/workspace factories over its
|
|
75
|
+
// workspace tree, and the exec-callback envelope pieces (the HTTP→DBOS-topic
|
|
76
|
+
// ingress is the embedder's to host; see the sandbox-server callback protocol).
|
|
77
|
+
// DBOS lifecycle. `sweepEphemeralWorkflows` is a pre-launch boot duty: once the
|
|
78
|
+
// `ephemeral` workflow is registered, a host crash mid-run leaves a PENDING
|
|
79
|
+
// `ephemeral:*` row that the next launch's recovery would re-dispatch (a sandbox
|
|
80
|
+
// for a chat turn that no longer exists). The embedder sweeps it with a direct
|
|
81
|
+
// system-DB UPDATE between state-init and `launchDbos` — the only race-free point.
|
|
82
|
+
export { launchDbos, shutdownDbos, sweepEphemeralWorkflows } from "./runtime/dbos.js";
|
|
83
|
+
// DBOS workflow-status vocabulary. An embedder that reads its own
|
|
84
|
+
// `dbos.workflow_status` rows must classify them against the SDK's status set,
|
|
85
|
+
// but must never depend on `@dbos-inc/dbos-sdk` directly — the SDK is
|
|
86
|
+
// module-singleton state, so a host's own copy is a different, un-launched
|
|
87
|
+
// instance (same rationale as `deliverExecEvent` below). The barrel forwards the
|
|
88
|
+
// status const + its union so the classification vocabulary comes from the one
|
|
89
|
+
// launched SDK, not a drifting hand-kept string literal on the embedder side.
|
|
90
|
+
export { StatusString } from "@dbos-inc/dbos-sdk";
|
|
91
|
+
// Application pool. Exported so an embedder never declares its own `pg`
|
|
92
|
+
// dependency: the pool it hands to workflow deps is built by the same pg
|
|
93
|
+
// copy the harness queries with.
|
|
94
|
+
export { createPool } from "./lib/storage.js";
|
|
95
|
+
// Data-profile workflow: registration + trigger. `triggerDataProfile` claims a
|
|
96
|
+
// startable row (`pending` or NULL status) or a `completed` one, in both cases only
|
|
97
|
+
// when the analysis names a non-empty seeded input set; a failed profile is re-claimed
|
|
98
|
+
// via `tryRetryDataProfile` and then started with `runDataProfile` (the managed retry
|
|
99
|
+
// route's shape — embedders mirror it).
|
|
100
|
+
export { registerDataProfileWorkflow, triggerDataProfile, runDataProfile } from "./tasks/data-profile.js";
|
|
101
|
+
// Ledger surface the embedder needs around a trigger: schema init at boot,
|
|
102
|
+
// the analysis-state seed (the trigger's CAS transitions the row this creates
|
|
103
|
+
// — without it every trigger reports "failed"), and run-state observation.
|
|
104
|
+
export { initCortexState } from "./state/init.js";
|
|
105
|
+
export { upsertAnalysis } from "./state/analyses.js";
|
|
106
|
+
// `reconcileOrphanedDataProfile` heals a ledger row stuck at `running` with no
|
|
107
|
+
// backing workflow (a host that died between the ledger CAS and the DBOS
|
|
108
|
+
// insert) — the embedder calls it once after launch, when recovery has run.
|
|
109
|
+
// `clearDataProfile` nulls the whole profile ledger back to "no profile" when an
|
|
110
|
+
// analysis's input set empties (deferring on a running workflow), so the UI
|
|
111
|
+
// stops advertising a profile that describes files the analysis no longer has.
|
|
112
|
+
export { clearDataProfile, loadDataProfileStatus, tryRetryDataProfile, reconcileOrphanedDataProfile } from "./state/data-profile.js";
|
|
113
|
+
export { createSandboxClient } from "./sandbox/create-sandbox.js";
|
|
114
|
+
export { MachineBudgetSchema, ResourceLimitsSchema, ResourcePolicySchema, ResourceSpecSchema, parseResourcePolicy } from "./config/resource-limits.js";
|
|
115
|
+
export { createWorkspaceFilesystem } from "./workspace/filesystem.js";
|
|
116
|
+
// Exec-callback ingress building blocks. Delivery goes through
|
|
117
|
+
// `deliverExecEvent` — never a host-side `DBOS.send`: the SDK is
|
|
118
|
+
// module-singleton state, and a host's own copy would be un-launched.
|
|
119
|
+
export { workflowIdFromExec } from "./sandbox/exec-id.js";
|
|
120
|
+
export { deliverExecEvent, execEventTopic } from "./sandbox/deliver-exec-event.js";
|
|
121
|
+
export { ExecEventMessageSchema } from "./sandbox/types.js";
|
|
122
|
+
// Run engine — the analysis + sandbox-step durable workflows an embedder
|
|
123
|
+
// registers itself (in child-before-parent assemble-order: the parent's deps
|
|
124
|
+
// close over the registered child callable). `assembleCoreRuntime` also wires
|
|
125
|
+
// these, but an embedder running only the run engine registers them directly.
|
|
126
|
+
export { registerExecuteAnalysis } from "./workflows/execute-analysis.js";
|
|
127
|
+
export { registerSandboxStep } from "./workflows/sandbox-step.js";
|
|
128
|
+
// Sandbox-agent catalog. `buildAgent` maps a `SandboxAgentBuildContext` onto
|
|
129
|
+
// `SandboxAgentDeps`, then selects the per-step agent by id from this record;
|
|
130
|
+
// `SANDBOX_AGENT_META` is the planner-facing meta the same ids key.
|
|
131
|
+
export { createSandboxAgents, SANDBOX_AGENT_META } from "./agents/sandbox/index.js";
|
|
132
|
+
// Plan schema, structural validation, and per-step prompt rendering — the gates
|
|
133
|
+
// a plan passes before it can trigger a run, plus the prompt each step's agent
|
|
134
|
+
// receives. `PlanStep` is the minimal `{ id, depends_on }` element type that
|
|
135
|
+
// `ExecuteAnalysisInput.steps` is typed against; a parsed `AnalysisPlan`'s
|
|
136
|
+
// richer `AnalysisStep[]` is assignable to it.
|
|
137
|
+
export { AnalysisPlanSchema } from "./schemas/workflow-state.js";
|
|
138
|
+
export { validatePlan } from "./schemas/validate-plan.js";
|
|
139
|
+
export { renderStepPrompt } from "./schemas/render-step-prompt.js";
|
|
140
|
+
// Plan + run + step ledgers around a trigger. `upsertPlan` takes a
|
|
141
|
+
// caller-derived id and inserts-if-absent (the deterministic-id intake path);
|
|
142
|
+
// the run-state calls mirror the chat trigger's reserve → dedup → status flow.
|
|
143
|
+
export { upsertPlan, loadPlan } from "./state/plans.js";
|
|
144
|
+
export { insertRun, queryActiveRun, updateRunStatus, queryRun, queryRunsByAnalysis, RunDedupCollisionError } from "./state/runs.js";
|
|
145
|
+
export { queryStepsByRun } from "./state/step-executions.js";
|
|
146
|
+
// Backs `WatchdogDeps.queryActiveSandboxes` when the embedder wires the watchdog.
|
|
147
|
+
export { queryActiveSandboxes } from "./state/active-sandboxes.js";
|
|
148
|
+
// Workspace-tree path convention — the root-relative step directory each
|
|
149
|
+
// sandbox step confines its artifact writes to (join onto the resolved root).
|
|
150
|
+
export { runStepDir } from "./workspace/paths.js";
|
|
151
|
+
// Sandbox-hygiene scheduled workflows. Reaper reclaims a dead host's orphaned
|
|
152
|
+
// containers; watchdog converts a dead sandbox into a prompt step failure
|
|
153
|
+
// instead of a deadline-long `DBOS.recv` hang; the sweep prunes stale
|
|
154
|
+
// notifications. Each is a `@DBOS.scheduled` no-op on an idle system.
|
|
155
|
+
export { registerSandboxReaper } from "./sandbox/reaper.js";
|
|
156
|
+
export { registerWatchdog } from "./sandbox/watchdog.js";
|
|
157
|
+
export { registerNotificationSweep } from "./sandbox/notification-sweep.js";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Input sanitization — two pure, always-on functions applied once to the
|
|
3
|
+
* incoming user message by the chat route (change 6). Never applied to
|
|
4
|
+
* assistant messages or tool results.
|
|
5
|
+
*
|
|
6
|
+
* Two pure functions, not a plug-in pipeline. What runs is exactly these two.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* NFC-normalize and strip control characters.
|
|
10
|
+
*
|
|
11
|
+
* Unicode normalization collapses visually-identical decomposed sequences
|
|
12
|
+
* to a canonical form; control-char stripping removes invisible C0/C1 bytes
|
|
13
|
+
* that could smuggle formatting or terminal escapes.
|
|
14
|
+
*/
|
|
15
|
+
export declare function normalizeUnicode(text: string): string;
|
|
16
|
+
/**
|
|
17
|
+
* Replace structured secret formats with `[REDACTED: <name>]`.
|
|
18
|
+
*
|
|
19
|
+
* Only prefixed formats are matched — a 40-nucleotide `ACGT…` string or a
|
|
20
|
+
* 40-residue protein sequence passes through unchanged.
|
|
21
|
+
*/
|
|
22
|
+
export declare function redactSecrets(text: string): string;
|