@inflexa-ai/harness 0.45.1 → 0.46.0
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/README.md +6 -3
- package/dist/agents/conversation-agent.d.ts +9 -3
- package/dist/agents/conversation-agent.js +34 -33
- package/dist/agents/report-session-agent.d.ts +15 -15
- package/dist/agents/report-session-agent.js +23 -15
- package/dist/agents/sandbox/index.d.ts +1 -1
- package/dist/agents/sandbox/index.js +1 -1
- package/dist/agents/sandbox/shared.d.ts +12 -14
- package/dist/agents/sandbox/shared.js +18 -12
- package/dist/agents/sandbox/types.d.ts +4 -4
- package/dist/agents/sandbox/validate-skills.d.ts +2 -2
- package/dist/agents/sandbox/validate-skills.js +3 -1
- package/dist/agents/sandbox-catalog.d.ts +2 -2
- package/dist/agents/sandbox-catalog.js +3 -3
- package/dist/agents/system-prompt.d.ts +2 -2
- package/dist/app/chat-turn-workflow.d.ts +114 -0
- package/dist/app/chat-turn-workflow.js +307 -0
- package/dist/app/chat-turn.d.ts +85 -57
- package/dist/app/chat-turn.js +123 -100
- package/dist/app/data-profile-orientation.js +10 -8
- package/dist/app/data-profile-view.d.ts +4 -4
- package/dist/app/data-profile-view.js +9 -8
- package/dist/app/in-process-turn.d.ts +42 -0
- package/dist/app/in-process-turn.js +139 -0
- package/dist/app/message-assembly.d.ts +10 -4
- package/dist/app/message-assembly.js +13 -8
- package/dist/app/report-session-runtime.d.ts +4 -4
- package/dist/app/report-session-runtime.js +36 -21
- package/dist/app/spawn-report-session.d.ts +33 -28
- package/dist/app/spawn-report-session.js +25 -40
- package/dist/app/synthesize-run.d.ts +22 -16
- package/dist/app/synthesize-run.js +41 -35
- package/dist/app/work.d.ts +96 -0
- package/dist/app/work.js +147 -0
- package/dist/auth/local-auth-context.d.ts +1 -3
- package/dist/auth/local-auth-context.js +1 -3
- package/dist/auth/local-run-authorizer.d.ts +1 -1
- package/dist/auth/local-run-authorizer.js +5 -3
- package/dist/auth/types.d.ts +26 -26
- package/dist/billing/cached-resolver.d.ts +4 -4
- package/dist/billing/run-charge.d.ts +5 -8
- package/dist/billing/run-charge.js +2 -2
- package/dist/billing/usage-recorder.d.ts +9 -9
- package/dist/citations/aggregate.js +1 -1
- package/dist/citations/clients/arxiv.d.ts +2 -2
- package/dist/citations/clients/arxiv.js +12 -4
- package/dist/citations/clients/common.js +4 -2
- package/dist/citations/clients/crossref.d.ts +2 -2
- package/dist/citations/clients/crossref.js +37 -37
- package/dist/citations/clients/doi-registry.js +15 -16
- package/dist/citations/clients/pubmed.d.ts +2 -2
- package/dist/citations/clients/pubmed.js +20 -13
- package/dist/citations/clients/semantic-scholar.d.ts +2 -2
- package/dist/citations/clients/semantic-scholar.js +9 -9
- package/dist/citations/compare.js +2 -2
- package/dist/citations/match.d.ts +2 -2
- package/dist/citations/match.js +12 -7
- package/dist/citations/normalize.js +35 -26
- package/dist/citations/plan.js +6 -2
- package/dist/citations/resolve.d.ts +6 -6
- package/dist/citations/resolve.js +34 -25
- package/dist/citations/types.d.ts +77 -77
- package/dist/config/environment-stores.d.ts +6 -6
- package/dist/config/resource-limits.js +1 -3
- package/dist/contracts/analogy-report.d.ts +7 -7
- package/dist/contracts/analogy-report.js +2 -2
- package/dist/contracts/chat-events.d.ts +38 -24
- package/dist/contracts/chat-frame.d.ts +15 -5
- package/dist/contracts/chat-frame.js +64 -41
- package/dist/contracts/chat-parts.d.ts +130 -67
- package/dist/contracts/chat-parts.js +1 -0
- package/dist/contracts/content-url.js +16 -2
- package/dist/contracts/data-profile.d.ts +38 -38
- package/dist/contracts/index.d.ts +2 -2
- package/dist/contracts/index.js +1 -1
- package/dist/contracts/message.d.ts +6 -6
- package/dist/contracts/organ-system.d.ts +11 -11
- package/dist/contracts/part-registry.d.ts +5 -4
- package/dist/contracts/part-registry.js +5 -0
- package/dist/contracts/profile-vocabulary.d.ts +11 -10
- package/dist/contracts/profile-vocabulary.js +10 -3
- package/dist/contracts/report-blocks.d.ts +329 -329
- package/dist/contracts/report-reference.d.ts +105 -81
- package/dist/contracts/report-reference.js +30 -13
- package/dist/contracts/schemas/chat-events.d.ts +30 -16
- package/dist/contracts/schemas/chat-events.js +15 -6
- package/dist/contracts/schemas/chat-parts.d.ts +175 -102
- package/dist/contracts/schemas/chat-parts.js +33 -7
- package/dist/contracts/severity.d.ts +1 -1
- package/dist/contracts/structure-source.d.ts +3 -3
- package/dist/contracts/structure-source.js +6 -2
- package/dist/contracts/subagent-activity.d.ts +2 -2
- package/dist/contracts/subagent-activity.js +5 -3
- package/dist/contracts/usage.d.ts +2 -2
- package/dist/data/safety-panel-schema.d.ts +25 -25
- package/dist/data/safety-panel-schema.js +13 -4
- package/dist/execution/artifact-metadata.d.ts +23 -15
- package/dist/execution/artifact-metadata.js +33 -10
- package/dist/execution/artifact-record.d.ts +2 -2
- package/dist/execution/artifact-registration.d.ts +5 -5
- package/dist/execution/artifact-registry.d.ts +8 -8
- package/dist/execution/dbos-run-launcher.d.ts +24 -4
- package/dist/execution/dbos-run-launcher.js +58 -4
- package/dist/execution/dbos-workflow-purger.d.ts +5 -6
- package/dist/execution/dbos-workflow-purger.js +8 -7
- package/dist/execution/input-signature.d.ts +2 -2
- package/dist/execution/post-step-pipeline.d.ts +9 -9
- package/dist/execution/post-step-pipeline.js +1 -1
- package/dist/execution/post-step.js +2 -2
- package/dist/execution/reconcile-manifest.d.ts +4 -4
- package/dist/execution/reconcile-manifest.js +3 -2
- package/dist/execution/run-authorizer.d.ts +46 -37
- package/dist/execution/run-authorizer.js +8 -8
- package/dist/execution/run-canceler.d.ts +7 -7
- package/dist/execution/run-canceler.js +14 -7
- package/dist/execution/run-end-record.d.ts +2 -3
- package/dist/execution/run-event-parts.d.ts +0 -8
- package/dist/execution/run-event-parts.js +29 -24
- package/dist/execution/run-event-stream.d.ts +8 -8
- package/dist/execution/run-event-stream.js +3 -4
- package/dist/execution/run-launcher.d.ts +4 -4
- package/dist/execution/run-synthesis.d.ts +49 -48
- package/dist/execution/run-synthesis.js +96 -255
- package/dist/execution/staged-input.d.ts +2 -2
- package/dist/execution/step-summary.d.ts +6 -6
- package/dist/execution/step-summary.js +4 -8
- package/dist/execution/topo-sort.js +4 -3
- package/dist/execution/workflow-purger.d.ts +2 -2
- package/dist/index.d.ts +17 -20
- package/dist/index.js +25 -36
- package/dist/input-sanitization.js +9 -2
- package/dist/input-scan/clustering.d.ts +6 -6
- package/dist/input-scan/clustering.js +11 -5
- package/dist/input-scan/companions.js +3 -2
- package/dist/input-scan/detect-sets.d.ts +2 -2
- package/dist/input-scan/detect-sets.js +25 -21
- package/dist/input-scan/enrich.d.ts +6 -6
- package/dist/input-scan/enrich.js +29 -12
- package/dist/input-scan/formats.d.ts +2 -2
- package/dist/input-scan/formats.js +8 -2
- package/dist/input-scan/markers.d.ts +2 -2
- package/dist/input-scan/markers.js +14 -5
- package/dist/input-scan/menu.d.ts +10 -10
- package/dist/input-scan/menu.js +0 -0
- package/dist/input-scan/quarantine.d.ts +2 -2
- package/dist/input-scan/quarantine.js +23 -18
- package/dist/input-scan/readout-budget.d.ts +2 -2
- package/dist/input-scan/readout-budget.js +1 -1
- package/dist/input-scan/readout.d.ts +2 -2
- package/dist/input-scan/readout.js +47 -34
- package/dist/input-scan/scan.d.ts +2 -2
- package/dist/input-scan/scan.js +7 -5
- package/dist/input-scan/set-types.d.ts +28 -28
- package/dist/input-scan/shapes.d.ts +4 -4
- package/dist/input-scan/shapes.js +0 -0
- package/dist/input-scan/templates.d.ts +10 -10
- package/dist/input-scan/templates.js +30 -22
- package/dist/input-scan/tokens.d.ts +6 -4
- package/dist/input-scan/tokens.js +100 -38
- package/dist/input-scan/types.d.ts +22 -22
- package/dist/lib/async-utils.d.ts +3 -7
- package/dist/lib/async-utils.js +5 -9
- package/dist/lib/cache.js +1 -1
- package/dist/lib/chrome.d.ts +46 -6
- package/dist/lib/console-logger.js +2 -2
- package/dist/lib/db-result.d.ts +22 -6
- package/dist/lib/db-result.js +9 -13
- package/dist/lib/eyes.d.ts +4 -4
- package/dist/lib/eyes.js +1 -1
- package/dist/lib/fs-helpers.js +18 -6
- package/dist/lib/fs-result.d.ts +1 -0
- package/dist/lib/fs-result.js +5 -6
- package/dist/lib/hooks.d.ts +23 -7
- package/dist/lib/hooks.js +17 -3
- package/dist/lib/host-concurrency.js +3 -2
- package/dist/lib/logger.d.ts +2 -2
- package/dist/lib/logger.js +2 -1
- package/dist/lib/metrics.d.ts +1 -1
- package/dist/lib/null-proto.d.ts +6 -0
- package/dist/lib/null-proto.js +17 -0
- package/dist/lib/otel-spans.d.ts +1 -1
- package/dist/lib/otel-spans.js +9 -5
- package/dist/lib/otel.d.ts +4 -2
- package/dist/lib/otel.js +10 -2
- package/dist/lib/page-capture.d.ts +8 -8
- package/dist/lib/page-capture.js +9 -4
- package/dist/lib/parse-json.d.ts +5 -0
- package/dist/lib/parse-json.js +12 -0
- package/dist/lib/present.d.ts +12 -0
- package/dist/lib/present.js +39 -0
- package/dist/lib/rate-limit.d.ts +4 -4
- package/dist/lib/rate-limit.js +12 -13
- package/dist/lib/regulatory-corpus/fetch-fda-guidance.d.ts +4 -4
- package/dist/lib/regulatory-corpus/fetch-fda-guidance.js +4 -10
- package/dist/lib/regulatory-corpus/fetch-ich.d.ts +4 -4
- package/dist/lib/regulatory-corpus/fetch-ich.js +18 -14
- package/dist/lib/regulatory-corpus/normalize-whitespace.d.ts +6 -0
- package/dist/lib/regulatory-corpus/normalize-whitespace.js +41 -0
- package/dist/lib/regulatory-corpus.d.ts +10 -10
- package/dist/lib/regulatory-corpus.js +3 -1
- package/dist/lib/result.d.ts +10 -11
- package/dist/lib/result.js +15 -13
- package/dist/lib/storage.d.ts +2 -2
- package/dist/lib/test/async-iterable.d.ts +9 -0
- package/dist/lib/test/async-iterable.js +28 -0
- package/dist/lib/test/request-url.d.ts +5 -0
- package/dist/lib/test/request-url.js +7 -0
- package/dist/lib/test/result-assert.d.ts +12 -0
- package/dist/lib/test/result-assert.js +17 -0
- package/dist/lib/test/text-shapes.d.ts +24 -0
- package/dist/lib/test/text-shapes.js +63 -0
- package/dist/lib/text.d.ts +22 -0
- package/dist/lib/text.js +68 -0
- package/dist/lib/thrown.d.ts +18 -0
- package/dist/lib/thrown.js +30 -0
- package/dist/lib/unknown-array.d.ts +6 -0
- package/dist/lib/unknown-array.js +8 -0
- package/dist/lib/unknown-containers.d.ts +14 -0
- package/dist/lib/unknown-containers.js +17 -0
- package/dist/lib/unknown-text.d.ts +8 -0
- package/dist/lib/unknown-text.js +28 -0
- package/dist/lib/zod-issue-shape.d.ts +1 -1
- package/dist/lib/zod-issue-shape.js +31 -31
- package/dist/lib/zod-issues.d.ts +3 -3
- package/dist/lib/zod-issues.js +30 -17
- package/dist/literature/sources/arxiv.d.ts +6 -6
- package/dist/literature/sources/arxiv.js +92 -35
- package/dist/literature/sources/http.d.ts +2 -2
- package/dist/literature/sources/http.js +16 -15
- package/dist/literature/sources/pubmed.d.ts +16 -16
- package/dist/literature/sources/pubmed.js +96 -61
- package/dist/literature/sources/semantic-scholar.d.ts +8 -8
- package/dist/literature/sources/semantic-scholar.js +22 -13
- package/dist/loop/accounting.d.ts +63 -0
- package/dist/loop/accounting.js +141 -0
- package/dist/loop/call-policy.d.ts +73 -0
- package/dist/loop/call-policy.js +109 -0
- package/dist/loop/chat-stream.d.ts +62 -0
- package/dist/loop/chat-stream.js +237 -0
- package/dist/loop/compaction.d.ts +9 -9
- package/dist/loop/compaction.js +1 -1
- package/dist/loop/metrics.d.ts +12 -15
- package/dist/loop/metrics.js +14 -26
- package/dist/loop/run-loop.d.ts +233 -0
- package/dist/loop/run-loop.js +770 -0
- package/dist/loop/sub-agent.d.ts +61 -0
- package/dist/loop/sub-agent.js +161 -0
- package/dist/loop/tool-adapter.d.ts +98 -0
- package/dist/loop/tool-adapter.js +364 -0
- package/dist/loop/tool-detail.d.ts +1 -1
- package/dist/loop/tool-detail.js +6 -5
- package/dist/loop/tool-outcome.d.ts +1 -1
- package/dist/loop/tool-output.d.ts +4 -4
- package/dist/loop/tool-output.js +2 -2
- package/dist/loop/turn-credentials.d.ts +34 -0
- package/dist/loop/turn-credentials.js +73 -0
- package/dist/loop/types.d.ts +29 -38
- package/dist/loop/types.js +2 -7
- package/dist/memory/ai-sdk-message-storage.d.ts +5 -5
- package/dist/memory/ai-sdk-message-storage.js +13 -11
- package/dist/memory/card-builders.d.ts +14 -14
- package/dist/memory/card-builders.js +19 -15
- package/dist/memory/conversation-display-recorder.d.ts +22 -4
- package/dist/memory/conversation-display-recorder.js +43 -24
- package/dist/memory/conversation-display-replay.js +3 -2
- package/dist/memory/conversation-display-storage.d.ts +15 -7
- package/dist/memory/conversation-display-storage.js +141 -36
- package/dist/memory/conversation-view.d.ts +4 -4
- package/dist/memory/conversation-view.js +5 -4
- package/dist/memory/count-tokens.js +10 -8
- package/dist/memory/derive-thread-title.d.ts +0 -13
- package/dist/memory/derive-thread-title.js +2 -1
- package/dist/memory/message-backfill.d.ts +12 -5
- package/dist/memory/message-backfill.js +5 -3
- package/dist/memory/thread-history.d.ts +36 -21
- package/dist/memory/thread-history.js +78 -54
- package/dist/memory/thread-store.d.ts +26 -17
- package/dist/memory/thread-store.js +15 -9
- package/dist/memory/tool-call-integrity.d.ts +2 -2
- package/dist/memory/tool-call-integrity.js +4 -3
- package/dist/memory/working-memory.d.ts +16 -12
- package/dist/memory/working-memory.js +72 -61
- package/dist/prompts/briefing.d.ts +12 -12
- package/dist/prompts/briefing.js +1 -1
- package/dist/prompts/synthesis-agent.d.ts +1 -1
- package/dist/prompts/synthesis-agent.js +6 -14
- package/dist/provenance/collector.d.ts +6 -6
- package/dist/provenance/collector.js +15 -8
- package/dist/provenance/exec-frame.d.ts +2 -2
- package/dist/provenance/exec-frame.js +6 -1
- package/dist/provenance/seam.d.ts +1 -4
- package/dist/provenance/types.d.ts +6 -6
- package/dist/providers/ai-sdk.d.ts +113 -62
- package/dist/providers/ai-sdk.js +283 -518
- package/dist/providers/embedding.d.ts +2 -2
- package/dist/providers/embedding.js +1 -1
- package/dist/providers/errors.d.ts +22 -2
- package/dist/providers/errors.js +98 -50
- package/dist/providers/prompt-cache.d.ts +8 -8
- package/dist/providers/prompt-cache.js +13 -11
- package/dist/providers/reasoning.d.ts +2 -2
- package/dist/providers/reasoning.js +2 -2
- package/dist/providers/types.d.ts +55 -94
- package/dist/reference-data/catalog.d.ts +2 -15
- package/dist/reference-data/catalog.js +25 -8
- package/dist/reference-data/receipt.d.ts +2 -2
- package/dist/report-model/assert-rules.js +1 -1
- package/dist/report-model/authoring-grammar.d.ts +211 -233
- package/dist/report-model/block-walk.d.ts +10 -10
- package/dist/report-model/block-walk.js +2 -0
- package/dist/report-model/draft-finish.d.ts +8 -8
- package/dist/report-model/draft-finish.js +1 -1
- package/dist/report-model/draft-hash.js +8 -7
- package/dist/report-model/draft-operations.d.ts +22 -10
- package/dist/report-model/draft-operations.js +48 -30
- package/dist/report-model/draft-read.d.ts +19 -7
- package/dist/report-model/draft-read.js +16 -6
- package/dist/report-model/draft.d.ts +844 -2
- package/dist/report-model/draft.js +3 -1
- package/dist/report-model/fixture-resolver.js +39 -16
- package/dist/report-model/pin-snapshot.d.ts +2 -2
- package/dist/report-model/pin-snapshot.js +15 -15
- package/dist/report-model/production-resolver.d.ts +18 -18
- package/dist/report-model/production-resolver.js +50 -42
- package/dist/report-model/reference-resolver.d.ts +26 -10
- package/dist/report-model/reference-resolver.js +68 -5
- package/dist/report-model/reference-stamp.js +30 -38
- package/dist/report-model/structural-validation.js +12 -4
- package/dist/report-model/validate.d.ts +7 -7
- package/dist/report-model/validate.js +6 -6
- package/dist/report-render/assets.d.ts +2 -2
- package/dist/report-render/assets.js +27 -3
- package/dist/report-render/chart-export.d.ts +10 -2
- package/dist/report-render/chart-export.js +37 -11
- package/dist/report-render/chart-presets.d.ts +8 -8
- package/dist/report-render/chart-presets.js +3 -3
- package/dist/report-render/chart-renderers.d.ts +23 -16
- package/dist/report-render/chart-renderers.js +74 -53
- package/dist/report-render/chart-toolbox.d.ts +2 -2
- package/dist/report-render/chart-toolbox.js +7 -6
- package/dist/report-render/chart.d.ts +15 -16
- package/dist/report-render/chart.js +369 -252
- package/dist/report-render/design.d.ts +36 -297
- package/dist/report-render/design.js +0 -12
- package/dist/report-render/figures/common.d.ts +12 -12
- package/dist/report-render/figures/common.js +42 -31
- package/dist/report-render/figures/dendrogram.d.ts +3 -3
- package/dist/report-render/figures/dendrogram.js +10 -10
- package/dist/report-render/figures/dense.js +15 -8
- package/dist/report-render/figures/dotplot.js +46 -33
- package/dist/report-render/figures/embedding.js +52 -43
- package/dist/report-render/figures/equal-units.d.ts +10 -10
- package/dist/report-render/figures/equal-units.js +27 -27
- package/dist/report-render/figures/forest.js +9 -7
- package/dist/report-render/figures/gsea.js +21 -11
- package/dist/report-render/figures/heatmap.js +13 -9
- package/dist/report-render/figures/index.d.ts +10 -10
- package/dist/report-render/figures/index.js +4 -2
- package/dist/report-render/figures/km.js +10 -9
- package/dist/report-render/figures/label-room.d.ts +12 -12
- package/dist/report-render/figures/label-room.js +7 -2
- package/dist/report-render/figures/locuszoom.d.ts +2 -2
- package/dist/report-render/figures/locuszoom.js +59 -31
- package/dist/report-render/figures/lollipop.js +3 -2
- package/dist/report-render/figures/ma.js +8 -4
- package/dist/report-render/figures/manhattan.d.ts +1 -2
- package/dist/report-render/figures/manhattan.js +52 -34
- package/dist/report-render/figures/oncoprint.js +4 -5
- package/dist/report-render/figures/pca.js +25 -11
- package/dist/report-render/figures/qq.js +20 -9
- package/dist/report-render/figures/roc.js +1 -1
- package/dist/report-render/figures/sankey.d.ts +2 -2
- package/dist/report-render/figures/sankey.js +11 -10
- package/dist/report-render/figures/upset.d.ts +6 -6
- package/dist/report-render/figures/upset.js +7 -4
- package/dist/report-render/figures/volcano.js +12 -10
- package/dist/report-render/hybrid-svg.d.ts +4 -4
- package/dist/report-render/hybrid-svg.js +7 -5
- package/dist/report-render/number-format.d.ts +4 -4
- package/dist/report-render/number-format.js +62 -27
- package/dist/report-render/page.js +2 -1
- package/dist/report-render/provenance-data.d.ts +2 -2
- package/dist/report-render/references.d.ts +4 -4
- package/dist/report-render/render.d.ts +2 -2
- package/dist/report-render/render.js +10 -11
- package/dist/report-render/script-json.js +1 -1
- package/dist/report-render/table-data.d.ts +6 -6
- package/dist/report-render/test/options.d.ts +49 -0
- package/dist/report-render/test/options.js +143 -0
- package/dist/report-render/test/page-function.d.ts +19 -0
- package/dist/report-render/test/page-function.js +33 -0
- package/dist/report-render/types.d.ts +10 -10
- package/dist/report-render/value-bridge.d.ts +4 -4
- package/dist/report-render/value-bridge.js +27 -14
- package/dist/report-render/views/chart-view.d.ts +2 -2
- package/dist/report-render/views/chart-view.js +2 -2
- package/dist/report-render/views/lineage.d.ts +6 -6
- package/dist/report-render/views/lineage.js +2 -0
- package/dist/report-render/views/page-view.d.ts +2 -2
- package/dist/report-render/views/page-view.js +1 -0
- package/dist/report-render/views/prose.js +25 -8
- package/dist/report-render/views/references-view.js +12 -1
- package/dist/report-render/views/values.js +1 -1
- package/dist/runtime/assemble.d.ts +53 -26
- package/dist/runtime/assemble.js +103 -56
- package/dist/runtime/boot.d.ts +8 -7
- package/dist/runtime/boot.js +1 -1
- package/dist/runtime/connection-budget.d.ts +6 -6
- package/dist/runtime/connection-budget.js +1 -1
- package/dist/runtime/dbos.d.ts +29 -19
- package/dist/runtime/dbos.js +35 -20
- package/dist/runtime/result-serialization.js +18 -5
- package/dist/runtime/shutdown.d.ts +2 -2
- package/dist/sandbox/client.d.ts +7 -3
- package/dist/sandbox/cpu-files.d.ts +2 -2
- package/dist/sandbox/cpu-files.js +21 -4
- package/dist/sandbox/create-sandbox.d.ts +7 -8
- package/dist/sandbox/create-sandbox.js +6 -12
- package/dist/sandbox/docker-client.d.ts +48 -3
- package/dist/sandbox/docker-client.js +10 -6
- package/dist/sandbox/estimate-data-profile-resources.js +2 -7
- package/dist/sandbox/exec-outcome.d.ts +2 -2
- package/dist/sandbox/exec-outcome.js +1 -1
- package/dist/sandbox/exec.d.ts +10 -6
- package/dist/sandbox/exec.js +27 -12
- package/dist/sandbox/execution-id.js +14 -6
- package/dist/sandbox/farm.d.ts +2 -2
- package/dist/sandbox/farm.js +22 -27
- package/dist/sandbox/identity.d.ts +7 -0
- package/dist/sandbox/identity.js +14 -3
- package/dist/sandbox/image-packages.js +15 -27
- package/dist/sandbox/k8s-client.d.ts +35 -8
- package/dist/sandbox/k8s-client.js +6 -5
- package/dist/sandbox/labels.js +1 -0
- package/dist/sandbox/liveness.js +3 -1
- package/dist/sandbox/mount-plan.d.ts +10 -10
- package/dist/sandbox/mount-plan.js +13 -14
- package/dist/sandbox/notification-sweep.d.ts +4 -4
- package/dist/sandbox/notification-sweep.js +4 -7
- package/dist/sandbox/package-identity.d.ts +6 -13
- package/dist/sandbox/package-identity.js +46 -28
- package/dist/sandbox/reaper.d.ts +10 -10
- package/dist/sandbox/reaper.js +4 -6
- package/dist/sandbox/sandbox-error.d.ts +2 -9
- package/dist/sandbox/sandbox-error.js +21 -8
- package/dist/sandbox/sandbox-step-translate.d.ts +8 -5
- package/dist/sandbox/sandbox-step-translate.js +22 -8
- package/dist/sandbox/step-sandbox.d.ts +47 -0
- package/dist/sandbox/step-sandbox.js +53 -0
- package/dist/sandbox/types.d.ts +18 -19
- package/dist/sandbox/types.js +1 -1
- package/dist/schemas/artifact-manifest.d.ts +4 -4
- package/dist/schemas/data-profile-schemas.d.ts +343 -298
- package/dist/schemas/file-metadata.js +2 -4
- package/dist/schemas/plan-schemas.d.ts +31 -31
- package/dist/schemas/run-synthesis.d.ts +95 -26
- package/dist/schemas/run-synthesis.js +3 -1
- package/dist/schemas/validate-plan.d.ts +4 -4
- package/dist/schemas/validate-plan.js +17 -5
- package/dist/schemas/workflow-state.d.ts +19 -19
- package/dist/schemas/workflow-state.js +2 -2
- package/dist/state/active-turns.d.ts +36 -0
- package/dist/state/active-turns.js +67 -0
- package/dist/state/analyses-metrics.d.ts +8 -8
- package/dist/state/analyses-metrics.js +4 -4
- package/dist/state/analyses.d.ts +0 -14
- package/dist/state/analyses.js +0 -32
- package/dist/state/artifacts.d.ts +32 -19
- package/dist/state/artifacts.js +28 -5
- package/dist/state/data-profile.d.ts +2 -2
- package/dist/state/db.d.ts +12 -2
- package/dist/state/db.js +5 -0
- package/dist/state/edit-intents.d.ts +4 -0
- package/dist/state/edit-intents.js +71 -0
- package/dist/state/index.d.ts +4 -4
- package/dist/state/index.js +2 -2
- package/dist/state/init.d.ts +2 -1
- package/dist/state/init.js +5 -2
- package/dist/state/migrations/20260927120000_baseline.js +3 -1
- package/dist/state/migrations/20261026120000_add_the_edit_intents.d.ts +7 -0
- package/dist/state/migrations/20261026120000_add_the_edit_intents.js +21 -0
- package/dist/state/migrations/20261027120000_record_the_applied_memory_edits.d.ts +7 -0
- package/dist/state/migrations/20261027120000_record_the_applied_memory_edits.js +16 -0
- package/dist/state/migrations/20261027120100_store_the_authoring_results.d.ts +8 -0
- package/dist/state/migrations/20261027120100_store_the_authoring_results.js +20 -0
- package/dist/state/migrations/20261027120200_key_the_groups_of_a_turn.d.ts +7 -0
- package/dist/state/migrations/20261027120200_key_the_groups_of_a_turn.js +12 -0
- package/dist/state/migrations/20261027120300_mark_the_active_turn_of_a_thread.d.ts +7 -0
- package/dist/state/migrations/20261027120300_mark_the_active_turn_of_a_thread.js +11 -0
- package/dist/state/migrations/20261028120000_record_the_paused_work.d.ts +7 -0
- package/dist/state/migrations/20261028120000_record_the_paused_work.js +25 -0
- package/dist/state/migrations/20261028120100_end_the_suspended_runs.d.ts +8 -0
- package/dist/state/migrations/20261028120100_end_the_suspended_runs.js +13 -0
- package/dist/state/migrations/20261029120000_reference_the_run_mandate.d.ts +7 -0
- package/dist/state/migrations/20261029120000_reference_the_run_mandate.js +23 -0
- package/dist/state/migrations/20261029120100_record_the_run_session_of_a_pause.d.ts +7 -0
- package/dist/state/migrations/20261029120100_record_the_run_session_of_a_pause.js +11 -0
- package/dist/state/migrations/index.js +18 -0
- package/dist/state/paused-work.d.ts +52 -0
- package/dist/state/paused-work.js +105 -0
- package/dist/state/plans.d.ts +27 -8
- package/dist/state/plans.js +14 -11
- package/dist/state/purge-analysis.d.ts +6 -6
- package/dist/state/purge-analysis.js +10 -2
- package/dist/state/report-session-state.d.ts +43 -18
- package/dist/state/report-session-state.js +43 -4
- package/dist/state/report-versions.d.ts +16 -11
- package/dist/state/report-versions.js +5 -3
- package/dist/state/runs.d.ts +30 -19
- package/dist/state/runs.js +43 -51
- package/dist/state/schema.d.ts +18 -21
- package/dist/state/schema.js +4 -5
- package/dist/state/snapshot-parse.d.ts +2 -2
- package/dist/state/snapshot-parse.js +14 -8
- package/dist/state/step-executions.d.ts +20 -8
- package/dist/state/step-executions.js +6 -4
- package/dist/state/tool-outputs.d.ts +2 -2
- package/dist/state/tool-outputs.js +2 -1
- package/dist/state/vector-store.d.ts +16 -16
- package/dist/state/vector-store.js +11 -7
- package/dist/tasks/data-profile-absorb.d.ts +3 -3
- package/dist/tasks/data-profile-absorb.js +21 -16
- package/dist/tasks/data-profile-activity.d.ts +5 -5
- package/dist/tasks/data-profile-activity.js +5 -5
- package/dist/tasks/data-profile-index.d.ts +4 -4
- package/dist/tasks/data-profile-index.js +32 -17
- package/dist/tasks/data-profile-resolve.d.ts +8 -8
- package/dist/tasks/data-profile-resolve.js +88 -62
- package/dist/tasks/data-profile.d.ts +40 -31
- package/dist/tasks/data-profile.js +138 -95
- package/dist/tasks/extract-values.d.ts +26 -79
- package/dist/tasks/extract-values.js +48 -108
- package/dist/tasks/refresh-regulatory-corpus.d.ts +4 -20
- package/dist/tasks/refresh-regulatory-corpus.js +12 -8
- package/dist/tasks/regulatory-corpus-boot-refresh.d.ts +2 -2
- package/dist/tasks/regulatory-corpus-boot-refresh.js +12 -10
- package/dist/testing.d.ts +60 -0
- package/dist/testing.js +96 -0
- package/dist/tools/ad-hoc-router.d.ts +9 -9
- package/dist/tools/ad-hoc-router.js +65 -52
- package/dist/tools/analysis-invocation.d.ts +7 -0
- package/dist/tools/analysis-invocation.js +29 -5
- package/dist/tools/approval/contract.d.ts +8 -52
- package/dist/tools/approval/contract.js +7 -36
- package/dist/tools/approval/gateway.d.ts +27 -28
- package/dist/tools/approval/gateway.js +33 -130
- package/dist/tools/approval/queries.d.ts +6 -11
- package/dist/tools/approval/queries.js +43 -29
- package/dist/tools/approval/uuidv7.js +2 -2
- package/dist/tools/bio/chembl.d.ts +3 -3
- package/dist/tools/bio/chembl.js +10 -0
- package/dist/tools/bio/comptox.d.ts +25 -8
- package/dist/tools/bio/comptox.js +4 -2
- package/dist/tools/bio/drug-gene-interactions.d.ts +27 -17
- package/dist/tools/bio/drug-gene-interactions.js +11 -8
- package/dist/tools/bio/gene-disease-evidence.d.ts +61 -15
- package/dist/tools/bio/gene-disease-evidence.js +10 -6
- package/dist/tools/bio/gene-preclinical-profile.d.ts +11 -11
- package/dist/tools/bio/keys.d.ts +2 -2
- package/dist/tools/bio/keys.js +3 -3
- package/dist/tools/bio/lookup-annotation.d.ts +5 -5
- package/dist/tools/bio/lookup-annotation.js +3 -0
- package/dist/tools/bio/opentargets.d.ts +1 -1
- package/dist/tools/bio/opentargets.js +6 -0
- package/dist/tools/bio/pubchem.d.ts +2 -2
- package/dist/tools/bio/pubchem.js +6 -0
- package/dist/tools/bio/pubmed.d.ts +26 -16
- package/dist/tools/bio/pubmed.js +9 -3
- package/dist/tools/bio/search-clinical-trials.d.ts +4 -4
- package/dist/tools/bio/search-clinical-trials.js +5 -1
- package/dist/tools/bio/search-faers.d.ts +2 -2
- package/dist/tools/bio/search-faers.js +1 -1
- package/dist/tools/bio/search-gene.d.ts +2 -2
- package/dist/tools/bio/search-gene.js +1 -0
- package/dist/tools/bio/search-geo-datasets.d.ts +4 -4
- package/dist/tools/bio/search-geo-datasets.js +5 -5
- package/dist/tools/bio/search-interactions.d.ts +1 -1
- package/dist/tools/bio/search-patents.d.ts +28 -22
- package/dist/tools/bio/search-patents.js +20 -17
- package/dist/tools/bio/search-protein.d.ts +2 -2
- package/dist/tools/bio/search-protein.js +1 -1
- package/dist/tools/bio/search-regulatory-approvals.d.ts +64 -18
- package/dist/tools/bio/search-regulatory-approvals.js +21 -16
- package/dist/tools/bio/target-safety.d.ts +8 -8
- package/dist/tools/bio/target-safety.js +11 -6
- package/dist/tools/capability-data.d.ts +9 -5
- package/dist/tools/capability-data.js +2 -1
- package/dist/tools/define-tool.d.ts +55 -46
- package/dist/tools/define-tool.js +39 -27
- package/dist/tools/display/normalize-echart-spec.d.ts +2 -2
- package/dist/tools/display/normalize-echart-spec.js +51 -27
- package/dist/tools/display/show-user.d.ts +2 -2
- package/dist/tools/display/show-user.js +1 -1
- package/dist/tools/execute-analysis.d.ts +19 -10
- package/dist/tools/execute-analysis.js +83 -62
- package/dist/tools/knowledge/check.d.ts +166 -44
- package/dist/tools/knowledge/check.js +5 -3
- package/dist/tools/knowledge/client.d.ts +31 -62
- package/dist/tools/knowledge/client.js +44 -27
- package/dist/tools/knowledge/environment.d.ts +6 -6
- package/dist/tools/knowledge/environment.js +18 -7
- package/dist/tools/knowledge/index.d.ts +2 -2
- package/dist/tools/knowledge/index.js +9 -9
- package/dist/tools/knowledge/local-slots.d.ts +4 -4
- package/dist/tools/knowledge/local-slots.js +11 -4
- package/dist/tools/knowledge/pin.d.ts +2 -2
- package/dist/tools/knowledge/recommend.d.ts +20 -45
- package/dist/tools/knowledge/recommend.js +27 -19
- package/dist/tools/knowledge/situation.d.ts +40 -40
- package/dist/tools/knowledge/situation.js +2 -9
- package/dist/tools/knowledge/skeleton.d.ts +4 -4
- package/dist/tools/knowledge/skeleton.js +10 -11
- package/dist/tools/knowledge/template.d.ts +20 -18
- package/dist/tools/knowledge/template.js +38 -32
- package/dist/tools/lib/alphafold-client.js +2 -1
- package/dist/tools/lib/amass-client.d.ts +28 -28
- package/dist/tools/lib/amass-client.js +20 -10
- package/dist/tools/lib/api-utils.d.ts +13 -3
- package/dist/tools/lib/api-utils.js +17 -3
- package/dist/tools/lib/bgee-client.d.ts +6 -6
- package/dist/tools/lib/bgee-client.js +16 -10
- package/dist/tools/lib/cbioportal-client.d.ts +4 -4
- package/dist/tools/lib/cbioportal-client.js +9 -8
- package/dist/tools/lib/chembl-client.d.ts +14 -14
- package/dist/tools/lib/chembl-client.js +11 -4
- package/dist/tools/lib/clinical-benchmarks-client.d.ts +4 -4
- package/dist/tools/lib/clinical-benchmarks-client.js +4 -7
- package/dist/tools/lib/clinical-trials-client.d.ts +18 -18
- package/dist/tools/lib/clinical-trials-client.js +10 -10
- package/dist/tools/lib/clinvar-client.d.ts +2 -2
- package/dist/tools/lib/clinvar-client.js +6 -6
- package/dist/tools/lib/ctx-ops.d.ts +23 -23
- package/dist/tools/lib/ctx-ops.js +13 -10
- package/dist/tools/lib/dgidb-client.d.ts +6 -6
- package/dist/tools/lib/dgidb-client.js +10 -12
- package/dist/tools/lib/disgenet-client.d.ts +4 -4
- package/dist/tools/lib/ema-client.d.ts +2 -2
- package/dist/tools/lib/ensembl-client.d.ts +4 -4
- package/dist/tools/lib/ensembl-client.js +5 -4
- package/dist/tools/lib/gwas-catalog-client.d.ts +4 -4
- package/dist/tools/lib/gwas-catalog-client.js +17 -17
- package/dist/tools/lib/html-text.d.ts +6 -0
- package/dist/tools/lib/html-text.js +9 -0
- package/dist/tools/lib/identifier-resolver.d.ts +4 -4
- package/dist/tools/lib/identifier-resolver.js +7 -3
- package/dist/tools/lib/impc-client.d.ts +8 -8
- package/dist/tools/lib/impc-client.js +46 -35
- package/dist/tools/lib/iuphar-client.d.ts +2 -2
- package/dist/tools/lib/iuphar-client.js +7 -16
- package/dist/tools/lib/monarch-client.d.ts +4 -4
- package/dist/tools/lib/openfda-client.d.ts +22 -22
- package/dist/tools/lib/openfda-client.js +23 -22
- package/dist/tools/lib/opentargets-client.d.ts +12 -12
- package/dist/tools/lib/pathway-client.d.ts +4 -4
- package/dist/tools/lib/pathway-client.js +15 -19
- package/dist/tools/lib/pharmgkb-client.d.ts +2 -2
- package/dist/tools/lib/pharmgkb-client.js +1 -1
- package/dist/tools/lib/protein-family-modality.d.ts +2 -2
- package/dist/tools/lib/protein-family-modality.js +0 -2
- package/dist/tools/lib/protein-family-normalize.js +7 -0
- package/dist/tools/lib/pubchem-client.d.ts +2 -2
- package/dist/tools/lib/pubchem-client.js +1 -0
- package/dist/tools/lib/pubchem-ops.d.ts +4 -4
- package/dist/tools/lib/pubchem-ops.js +8 -0
- package/dist/tools/lib/pubmed-client.d.ts +9 -9
- package/dist/tools/lib/pubmed-client.js +1 -1
- package/dist/tools/lib/string-client.d.ts +6 -6
- package/dist/tools/lib/uniprot-client.d.ts +8 -8
- package/dist/tools/lib/uniprot-client.js +5 -1
- package/dist/tools/memory/update-working-memory.d.ts +16 -13
- package/dist/tools/memory/update-working-memory.js +21 -3
- package/dist/tools/read-tool-output.js +8 -2
- package/dist/tools/registry.d.ts +2 -2
- package/dist/tools/report-authoring/authoring-tools.d.ts +54 -23
- package/dist/tools/report-authoring/authoring-tools.js +128 -62
- package/dist/tools/report-session/derive-table.d.ts +19 -59
- package/dist/tools/report-session/derive-table.js +120 -122
- package/dist/tools/report-session/examine-page.d.ts +6 -6
- package/dist/tools/report-session/examine-page.js +14 -12
- package/dist/tools/report-session/list-artifacts.d.ts +6 -6
- package/dist/tools/report-session/list-artifacts.js +5 -5
- package/dist/tools/report-session/page-faults.d.ts +6 -6
- package/dist/tools/report-session/page-faults.js +3 -1
- package/dist/tools/report-session/preview-report.d.ts +4 -3
- package/dist/tools/report-session/preview-report.js +26 -7
- package/dist/tools/report-session/record-version.d.ts +9 -4
- package/dist/tools/report-session/record-version.js +16 -9
- package/dist/tools/report-session/session-page-publisher.d.ts +6 -6
- package/dist/tools/research/generate-analogy-report.d.ts +14 -7
- package/dist/tools/research/generate-analogy-report.js +80 -76
- package/dist/tools/research/generate-plan.d.ts +16 -16
- package/dist/tools/research/generate-plan.js +410 -374
- package/dist/tools/research/guarded-address.js +3 -2
- package/dist/tools/research/inspect-data-profile.d.ts +27 -20
- package/dist/tools/research/inspect-data-profile.js +26 -25
- package/dist/tools/research/inspect-run.d.ts +54 -27
- package/dist/tools/research/inspect-run.js +50 -40
- package/dist/tools/research/literature-reviewer.d.ts +8 -7
- package/dist/tools/research/literature-reviewer.js +29 -28
- package/dist/tools/research/search-arxiv.d.ts +1 -1
- package/dist/tools/research/search-arxiv.js +1 -1
- package/dist/tools/research/search-github-repos.d.ts +10 -7
- package/dist/tools/research/search-github-repos.js +25 -22
- package/dist/tools/research/search-semantic-scholar.js +1 -1
- package/dist/tools/research/searxng-engine.d.ts +2 -2
- package/dist/tools/research/searxng-engine.js +6 -4
- package/dist/tools/research/web-fetch.d.ts +24 -21
- package/dist/tools/research/web-fetch.js +65 -74
- package/dist/tools/research/web-search.d.ts +26 -17
- package/dist/tools/research/web-search.js +26 -21
- package/dist/tools/sandbox/link-packages.d.ts +11 -7
- package/dist/tools/sandbox/link-packages.js +11 -8
- package/dist/tools/sandbox/list-available-packages.d.ts +17 -8
- package/dist/tools/sandbox/list-available-packages.js +31 -25
- package/dist/tools/sandbox/list-available-refs.d.ts +17 -14
- package/dist/tools/sandbox/list-available-refs.js +61 -36
- package/dist/tools/sandbox/report-blocker.d.ts +30 -37
- package/dist/tools/sandbox/report-blocker.js +23 -73
- package/dist/tools/sandbox/skills.d.ts +16 -12
- package/dist/tools/sandbox/skills.js +16 -12
- package/dist/tools/sandbox/submit-file-metadata.d.ts +12 -9
- package/dist/tools/sandbox/submit-file-metadata.js +18 -21
- package/dist/tools/start-report-session.d.ts +13 -5
- package/dist/tools/start-report-session.js +35 -8
- package/dist/tools/terminal-text.d.ts +5 -2
- package/dist/tools/terminal-text.js +35 -3
- package/dist/tools/workspace/decision-record.d.ts +4 -4
- package/dist/tools/workspace/decision-record.js +23 -13
- package/dist/tools/workspace/edit-file.d.ts +59 -20
- package/dist/tools/workspace/edit-file.js +81 -16
- package/dist/tools/workspace/execute-command.d.ts +15 -13
- package/dist/tools/workspace/execute-command.js +11 -9
- package/dist/tools/workspace/file-stat.d.ts +6 -3
- package/dist/tools/workspace/grep.d.ts +10 -7
- package/dist/tools/workspace/grep.js +9 -3
- package/dist/tools/workspace/list-files.d.ts +6 -3
- package/dist/tools/workspace/mutator.d.ts +28 -15
- package/dist/tools/workspace/mutator.js +107 -53
- package/dist/tools/workspace/read-file.d.ts +8 -5
- package/dist/tools/workspace/result-bounds.d.ts +5 -5
- package/dist/tools/workspace/result-bounds.js +4 -2
- package/dist/tools/workspace/run-exec.d.ts +2 -2
- package/dist/tools/workspace/run-exec.js +3 -3
- package/dist/tools/workspace/scan-inputs.d.ts +8 -5
- package/dist/tools/workspace/scan-inputs.js +17 -5
- package/dist/tools/workspace/show-file.d.ts +1 -1
- package/dist/tools/workspace/show-file.js +2 -1
- package/dist/tools/workspace/show-plan.d.ts +8 -5
- package/dist/tools/workspace/show-plan.js +9 -8
- package/dist/tools/workspace/workspace-search.d.ts +41 -13
- package/dist/tools/workspace/workspace-search.js +27 -14
- package/dist/tools/workspace/write-file.d.ts +9 -7
- package/dist/workflows/execute-analysis-scheduler.d.ts +9 -9
- package/dist/workflows/execute-analysis-scheduler.js +6 -3
- package/dist/workflows/execute-analysis.d.ts +46 -62
- package/dist/workflows/execute-analysis.js +137 -219
- package/dist/workflows/pause.d.ts +71 -0
- package/dist/workflows/pause.js +173 -0
- package/dist/workflows/sandbox-step.d.ts +38 -61
- package/dist/workflows/sandbox-step.js +99 -106
- package/dist/workflows/test/sql-writes.d.ts +21 -0
- package/dist/workflows/test/sql-writes.js +36 -0
- package/dist/workspace/filesystem.d.ts +6 -6
- package/dist/workspace/filesystem.js +10 -8
- package/dist/workspace/paths.d.ts +1 -1
- package/dist/workspace/paths.js +15 -4
- package/dist/workspace/search-config.d.ts +2 -2
- package/dist/workspace/search-config.js +1 -1
- package/package.json +21 -22
- package/dist/loop/call-guard.d.ts +0 -50
- package/dist/loop/call-guard.js +0 -90
- package/dist/loop/continue-agent.d.ts +0 -40
- package/dist/loop/continue-agent.js +0 -38
- package/dist/loop/genai-spans.d.ts +0 -47
- package/dist/loop/genai-spans.js +0 -134
- package/dist/loop/run-agent.d.ts +0 -245
- package/dist/loop/run-agent.js +0 -1124
- package/dist/loop/run-step.d.ts +0 -29
- package/dist/loop/run-step.js +0 -34
- package/dist/loop/run-to-terminal.d.ts +0 -66
- package/dist/loop/run-to-terminal.js +0 -93
- package/dist/loop/tool-mask.d.ts +0 -23
- package/dist/loop/tool-mask.js +0 -46
- package/dist/providers/streaming-chat.d.ts +0 -32
- package/dist/providers/streaming-chat.js +0 -91
- package/dist/tasks/derive-table-exec.d.ts +0 -54
- package/dist/tasks/derive-table-exec.js +0 -86
- package/dist/workflows/suspension.d.ts +0 -32
- package/dist/workflows/suspension.js +0 -38
|
@@ -15,20 +15,29 @@ import { z } from "zod";
|
|
|
15
15
|
import { scopeResource } from "../../auth/types.js";
|
|
16
16
|
import { tryQuery } from "../../lib/db-result.js";
|
|
17
17
|
import { unwrapOrThrow } from "../../lib/result.js";
|
|
18
|
+
import { parseUnknownRecord } from "../../lib/unknown-containers.js";
|
|
18
19
|
import { defineTool } from "../define-tool.js";
|
|
19
20
|
/** pgvector / Postgres "undefined_table" — the index has no rows indexed yet. */
|
|
20
21
|
const UNDEFINED_TABLE = "42P01";
|
|
21
22
|
/** True when a captured driver cause is the "undefined_table" SQLSTATE. */
|
|
23
|
+
const UndefinedTableCause = z.object({ code: z.literal(UNDEFINED_TABLE) });
|
|
22
24
|
function isUndefinedTable(cause) {
|
|
23
|
-
return
|
|
25
|
+
return UndefinedTableCause.safeParse(cause).success;
|
|
24
26
|
}
|
|
25
27
|
function indexName(analysisId) {
|
|
26
|
-
const name = `search_${analysisId.
|
|
27
|
-
if (
|
|
28
|
+
const name = `search_${analysisId.replaceAll("-", "_")}`;
|
|
29
|
+
if (!isSqlIdentifier(name)) {
|
|
28
30
|
throw new Error(`workspaceSearch: unusable analysis id "${analysisId}"`);
|
|
29
31
|
}
|
|
30
32
|
return name;
|
|
31
33
|
}
|
|
34
|
+
function isSqlIdentifier(name) {
|
|
35
|
+
if (name.length === 0)
|
|
36
|
+
return false;
|
|
37
|
+
const isLetterOrUnderscore = (char) => (char >= "a" && char <= "z") || (char >= "A" && char <= "Z") || char === "_";
|
|
38
|
+
const isWordChar = (char) => isLetterOrUnderscore(char) || (char >= "0" && char <= "9");
|
|
39
|
+
return isLetterOrUnderscore(name.charAt(0)) && Array.from(name).every(isWordChar);
|
|
40
|
+
}
|
|
32
41
|
/** Entry types that address a pattern spanning many files, never a single one. */
|
|
33
42
|
const PATTERN_TYPES = new Set(["input-group", "input-dimension", "input-kind"]);
|
|
34
43
|
/**
|
|
@@ -39,7 +48,7 @@ const PATTERN_TYPES = new Set(["input-group", "input-dimension", "input-kind"]);
|
|
|
39
48
|
* segment. The consumer branches on presence, nothing else.
|
|
40
49
|
*/
|
|
41
50
|
export function fileTargetOf(id, metadata) {
|
|
42
|
-
const meta = metadata
|
|
51
|
+
const meta = parseUnknownRecord(metadata) ?? {};
|
|
43
52
|
const type = typeof meta.type === "string" ? meta.type : undefined;
|
|
44
53
|
if (type !== undefined && PATTERN_TYPES.has(type))
|
|
45
54
|
return undefined;
|
|
@@ -47,8 +56,19 @@ export function fileTargetOf(id, metadata) {
|
|
|
47
56
|
return undefined;
|
|
48
57
|
if (typeof meta.path === "string")
|
|
49
58
|
return meta.path;
|
|
50
|
-
|
|
59
|
+
if (!id.startsWith("/"))
|
|
60
|
+
return id;
|
|
61
|
+
const afterResource = id.indexOf("/", 1);
|
|
62
|
+
return afterResource === -1 ? id : id.slice(afterResource + 1);
|
|
51
63
|
}
|
|
64
|
+
const WorkspaceSearchInputSchema = z.object({
|
|
65
|
+
query: z.string().min(1).describe("What to search for, in natural language"),
|
|
66
|
+
type: z
|
|
67
|
+
.enum(["input-group", "input-dimension", "input", "input-kind", "output", "summary", "synthesis"])
|
|
68
|
+
.optional()
|
|
69
|
+
.describe('Restrict results to one entry type: "input-group", "input-dimension", "input", "input-kind", "output", "summary", or "synthesis"'),
|
|
70
|
+
limit: z.number().int().min(1).max(50).default(8).describe("Maximum number of results to return"),
|
|
71
|
+
});
|
|
52
72
|
export function createWorkspaceSearchTool(pool, embedding) {
|
|
53
73
|
return defineTool({
|
|
54
74
|
id: "workspace_search",
|
|
@@ -68,14 +88,7 @@ export function createWorkspaceSearchTool(pool, embedding) {
|
|
|
68
88
|
"metadata, e.g. search input-group for a group's display pattern, then list the tree for " +
|
|
69
89
|
"its members. Most input files carry no entry of their own — find them through their " +
|
|
70
90
|
"group and the listing tools.",
|
|
71
|
-
inputSchema:
|
|
72
|
-
query: z.string().min(1).describe("What to search for, in natural language"),
|
|
73
|
-
type: z
|
|
74
|
-
.enum(["input-group", "input-dimension", "input", "input-kind", "output", "summary", "synthesis"])
|
|
75
|
-
.optional()
|
|
76
|
-
.describe('Restrict results to one entry type: "input-group", "input-dimension", "input", "input-kind", "output", "summary", or "synthesis"'),
|
|
77
|
-
limit: z.number().int().min(1).max(50).default(8).describe("Maximum number of results to return"),
|
|
78
|
-
}),
|
|
91
|
+
inputSchema: WorkspaceSearchInputSchema,
|
|
79
92
|
describeCall: ({ query, type }) => (type === undefined ? query : `${query} (${type})`),
|
|
80
93
|
execute: async ({ query, type, limit }, ctx) => {
|
|
81
94
|
const [vector] = unwrapOrThrow(await embedding.embed([query], ctx.session));
|
|
@@ -108,7 +121,7 @@ export function createWorkspaceSearchTool(pool, embedding) {
|
|
|
108
121
|
return {
|
|
109
122
|
id: r.id,
|
|
110
123
|
score: r.score,
|
|
111
|
-
|
|
124
|
+
path,
|
|
112
125
|
metadata: r.metadata,
|
|
113
126
|
};
|
|
114
127
|
}),
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
* declares the input schema, forwards the write, and carries the record of the
|
|
8
8
|
* write to the fold. `edit_file` rides the same seam.
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { z } from "zod";
|
|
11
|
+
import { type Tool, type WithToolCallRecord } from "../define-tool.js";
|
|
11
12
|
import type { WorkspaceMutator, WriteFileResult, WriteRecord } from "./mutator.js";
|
|
12
13
|
/** The result of a `write_file` call: a success carries the record of the write for the fold. */
|
|
13
14
|
type WriteFileToolResult = Exclude<WriteFileResult, {
|
|
@@ -15,11 +16,12 @@ type WriteFileToolResult = Exclude<WriteFileResult, {
|
|
|
15
16
|
}> | WithToolCallRecord<Extract<WriteFileResult, {
|
|
16
17
|
status: "ok";
|
|
17
18
|
}>, WriteRecord>;
|
|
18
|
-
|
|
19
|
+
declare const WriteFileInputSchema: z.ZodObject<{
|
|
20
|
+
path: z.ZodString;
|
|
21
|
+
content: z.ZodString;
|
|
22
|
+
}, z.core.$strip>;
|
|
23
|
+
export type WriteFileDeps = {
|
|
19
24
|
readonly mutator: WorkspaceMutator;
|
|
20
|
-
}
|
|
21
|
-
export declare function createWriteFileTool(deps: WriteFileDeps):
|
|
22
|
-
path: string;
|
|
23
|
-
content: string;
|
|
24
|
-
}, WriteFileToolResult>;
|
|
25
|
+
};
|
|
26
|
+
export declare function createWriteFileTool(deps: WriteFileDeps): Tool<z.infer<typeof WriteFileInputSchema>, WriteFileToolResult>;
|
|
25
27
|
export {};
|
|
@@ -22,18 +22,18 @@ import type { MachineBudget, ResourceSpec } from "../config/resource-limits.js";
|
|
|
22
22
|
* The minimum shape the scheduler needs from a plan step. Larger workflow-state
|
|
23
23
|
* schemas are a superset of this, keeping the scheduler decoupled.
|
|
24
24
|
*/
|
|
25
|
-
export
|
|
25
|
+
export type PlanStep = {
|
|
26
26
|
readonly id: string;
|
|
27
27
|
readonly depends_on: readonly string[];
|
|
28
|
-
}
|
|
28
|
+
};
|
|
29
29
|
/** Budget-admission inputs — the snapshotted machine budget from the workflow
|
|
30
30
|
* input plus each step's plan-declared resources. */
|
|
31
|
-
export
|
|
31
|
+
export type BudgetAdmission = {
|
|
32
32
|
readonly budget: MachineBudget;
|
|
33
33
|
readonly resourcesByStepId: Readonly<Record<string, ResourceSpec>>;
|
|
34
|
-
}
|
|
34
|
+
};
|
|
35
35
|
/** Partition of the dependency-satisfied steps under budget admission. */
|
|
36
|
-
export
|
|
36
|
+
export type ScheduledSteps = {
|
|
37
37
|
/** Steps to start now — they fit the remaining budget capacity. */
|
|
38
38
|
readonly admit: readonly string[];
|
|
39
39
|
/** Dependency-satisfied steps held until in-flight steps free capacity. */
|
|
@@ -41,7 +41,7 @@ export interface ScheduledSteps {
|
|
|
41
41
|
/** Steps whose declared resources exceed the budget outright — they could
|
|
42
42
|
* never be admitted even against an empty budget. */
|
|
43
43
|
readonly neverFits: readonly string[];
|
|
44
|
-
}
|
|
44
|
+
};
|
|
45
45
|
/** Thrown when the plan DAG contains a dependency cycle. */
|
|
46
46
|
export declare class CycleError extends Error {
|
|
47
47
|
readonly involvedSteps: readonly string[];
|
|
@@ -80,8 +80,8 @@ export declare function validatePlanDag<S extends PlanStep>(steps: readonly S[])
|
|
|
80
80
|
* not fit never blocks a later, smaller one. Determinism holds because every
|
|
81
81
|
* input derives from the workflow input and checkpointed completion state.
|
|
82
82
|
*/
|
|
83
|
-
export declare function scheduleReady
|
|
84
|
-
export declare function scheduleReady
|
|
83
|
+
export declare function scheduleReady(steps: readonly PlanStep[], completedSet: ReadonlySet<string>, startedSet?: ReadonlySet<string>): string[];
|
|
84
|
+
export declare function scheduleReady(steps: readonly PlanStep[], completedSet: ReadonlySet<string>, startedSet: ReadonlySet<string>, admission: BudgetAdmission): ScheduledSteps;
|
|
85
85
|
/**
|
|
86
86
|
* Compute a depth per step. A step with no dependencies is level 0; a step
|
|
87
87
|
* with deps is `max(level(dep)) + 1`. Used by the UI for column layout in
|
|
@@ -91,4 +91,4 @@ export declare function scheduleReady<S extends PlanStep>(steps: readonly S[], c
|
|
|
91
91
|
* Pre-condition: `validatePlanDag` has been called (no cycles, no missing
|
|
92
92
|
* deps). Behaviour is undefined on an invalid DAG.
|
|
93
93
|
*/
|
|
94
|
-
export declare function computeTopologicalLevels
|
|
94
|
+
export declare function computeTopologicalLevels(steps: readonly PlanStep[]): Map<string, number>;
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
* pure means parent recovery replays the same dispatch sequence given the
|
|
18
18
|
* same persisted child outcomes.
|
|
19
19
|
*/
|
|
20
|
+
import { presentGet, presentLast } from "../lib/present.js";
|
|
20
21
|
// ── Errors ───────────────────────────────────────────────────────────
|
|
21
22
|
/** Thrown when the plan DAG contains a dependency cycle. */
|
|
22
23
|
export class CycleError extends Error {
|
|
@@ -83,10 +84,12 @@ function detectCycle(steps) {
|
|
|
83
84
|
if (state.get(start.id) === DONE)
|
|
84
85
|
continue;
|
|
85
86
|
// Iterative DFS — preserves the in-progress chain so we can report it.
|
|
86
|
-
const stack = [
|
|
87
|
+
const stack = [
|
|
88
|
+
{ id: start.id, iter: presentGet(stepById, start.id, "the step of the cycle walk").depends_on[Symbol.iterator]() },
|
|
89
|
+
];
|
|
87
90
|
state.set(start.id, VISITING);
|
|
88
91
|
while (stack.length > 0) {
|
|
89
|
-
const frame = stack
|
|
92
|
+
const frame = presentLast(stack, "the top frame of the cycle walk");
|
|
90
93
|
const next = frame.iter.next();
|
|
91
94
|
if (next.done) {
|
|
92
95
|
state.set(frame.id, DONE);
|
|
@@ -105,7 +108,7 @@ function detectCycle(steps) {
|
|
|
105
108
|
state.set(childId, VISITING);
|
|
106
109
|
stack.push({
|
|
107
110
|
id: childId,
|
|
108
|
-
iter: stepById
|
|
111
|
+
iter: presentGet(stepById, childId, "the dependency step of the cycle walk").depends_on[Symbol.iterator](),
|
|
109
112
|
});
|
|
110
113
|
}
|
|
111
114
|
}
|
|
@@ -39,23 +39,15 @@
|
|
|
39
39
|
* `partial`).
|
|
40
40
|
* - the halt cascade (cancel in-flight via
|
|
41
41
|
* `Promise.allSettled(handles.map(h => DBOS.cancelWorkflow(h.workflowID)))`,
|
|
42
|
-
* stop scheduling) survives only for
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* - a
|
|
50
|
-
* the
|
|
51
|
-
* - a `suspend` error of a synthesis model request suspends the run in
|
|
52
|
-
* place of the synthesis failure
|
|
53
|
-
* - the run row and the analysis flip to `suspended_insufficient_funds` in
|
|
54
|
-
* `collectAndComplete`. The run status is terminal and does not block a
|
|
55
|
-
* new run of the plan. The paused parent lands in `CANCELLED`, a
|
|
56
|
-
* durably reschedulable state; re-driving it is a future enhancement,
|
|
57
|
-
* not yet wired here. The reason of the host rides to the run row, the
|
|
58
|
-
* charge close, the metric, and the terminal part, unread.
|
|
42
|
+
* stop scheduling) survives only for the `neverFits` plan-validation guard.
|
|
43
|
+
* 4. Pause (work-pause spec)
|
|
44
|
+
* - a step pauses in its own workflow, and the parent waits for its result as
|
|
45
|
+
* for a step that runs. The other steps go on, and the run row stays
|
|
46
|
+
* `running`
|
|
47
|
+
* - a refusal of the `RunCharge.open` gate with the suspend flag pauses the
|
|
48
|
+
* run before any step starts, and the charge opens again after the resume
|
|
49
|
+
* - a failed model request of the synthesis with a cause of a pause waits in
|
|
50
|
+
* the loop of the synthesizer
|
|
59
51
|
* 5. `synthesizeFindings` (single sequential block, no sandbox)
|
|
60
52
|
* 6. `collectAndComplete` (terminal — runs on ALL paths)
|
|
61
53
|
* - determine final status from completed/cancelled/failed counts
|
|
@@ -73,36 +65,36 @@
|
|
|
73
65
|
* - WRITES NOTHING to the conversation thread (results are pull-only
|
|
74
66
|
* via `inspectRun`)
|
|
75
67
|
*/
|
|
76
|
-
import type {
|
|
68
|
+
import type { Querier } from "../state/db.js";
|
|
77
69
|
import type { MachineBudget, ResourceSpec } from "../config/resource-limits.js";
|
|
78
70
|
import type { RunSession } from "../auth/types.js";
|
|
79
71
|
import type { RunAuthorizer } from "../execution/run-authorizer.js";
|
|
80
72
|
import type { Logger } from "../lib/logger.js";
|
|
81
73
|
import type { UsageRecorder } from "../billing/usage-recorder.js";
|
|
82
|
-
import type
|
|
74
|
+
import { type Connectable } from "../lib/db-result.js";
|
|
83
75
|
import type { SynthesisStatus, UpdateStepExecutionInput } from "../state/index.js";
|
|
84
76
|
import { type StepBriefing } from "../prompts/briefing.js";
|
|
85
77
|
import type { WorkingMemoryStore } from "../memory/working-memory.js";
|
|
86
78
|
import type { AnalysisStep } from "../schemas/workflow-state.js";
|
|
87
79
|
import type { ChatProvider, EmbeddingProvider } from "../providers/types.js";
|
|
88
|
-
import type { BioToolKeys } from "../tools/bio/keys.js";
|
|
89
80
|
import type { KnowledgeClient } from "../tools/knowledge/client.js";
|
|
90
81
|
import type { TemplateBinding } from "../tools/knowledge/template.js";
|
|
91
82
|
import type { ProvenanceSeam } from "../provenance/seam.js";
|
|
92
83
|
import type { ToolOutputStore } from "../loop/tool-output.js";
|
|
84
|
+
import type { Tool } from "../tools/define-tool.js";
|
|
93
85
|
import type { RunCharge } from "../billing/run-charge.js";
|
|
94
86
|
import { type ResolveWorkspaceRoot } from "../workspace/paths.js";
|
|
95
87
|
import { type PlanStep } from "./execute-analysis-scheduler.js";
|
|
96
|
-
import { type
|
|
97
|
-
import {
|
|
88
|
+
import { type WorkPause } from "./pause.js";
|
|
89
|
+
import type { SandboxStepInput, SandboxStepResult } from "./sandbox-step.js";
|
|
98
90
|
/** Registered child sandbox-step callable the parent's child-dispatch closes over. */
|
|
99
91
|
type SandboxStepCallable = (input: SandboxStepInput) => Promise<SandboxStepResult>;
|
|
100
92
|
/** Quick-display finding on the run-completed card. Mirrors the wire schema's RunCompletedFinding. */
|
|
101
|
-
export
|
|
93
|
+
export type RunFinding = {
|
|
102
94
|
readonly title: string;
|
|
103
95
|
readonly confidence: "high" | "medium" | "low";
|
|
104
|
-
}
|
|
105
|
-
export
|
|
96
|
+
};
|
|
97
|
+
export type ExecuteAnalysisInput = {
|
|
106
98
|
readonly analysisId: string;
|
|
107
99
|
/** Plan id — the dedup key for the partial-unique index on cortex_runs. */
|
|
108
100
|
readonly planId: string;
|
|
@@ -151,31 +143,21 @@ export interface ExecuteAnalysisInput {
|
|
|
151
143
|
* resume — no DB read, no in-process cache.
|
|
152
144
|
*/
|
|
153
145
|
readonly runSession: RunSession;
|
|
154
|
-
|
|
155
|
-
* True when Cortex owns the run-authorization lifecycle and therefore must
|
|
156
|
-
* revoke it on the terminal path. The ownership decision is made by the
|
|
157
|
-
* `RunAuthorizer` seam at the async edge (`executePlan`).
|
|
158
|
-
*
|
|
159
|
-
* Optional because a workflow persisted before this field existed (recovered
|
|
160
|
-
* across the deploy that added it) deserializes without it; the body defaults
|
|
161
|
-
* absent → true, matching the prior Cortex-owned behavior.
|
|
162
|
-
*/
|
|
163
|
-
readonly ownsMandate?: boolean;
|
|
164
|
-
}
|
|
146
|
+
};
|
|
165
147
|
/**
|
|
166
148
|
* Outcome of the trigger. `running` is what the dedup-collision recovery
|
|
167
149
|
* path returns — the caller joined an in-flight run, no new workflow was
|
|
168
150
|
* started. Every other variant is a terminal status the parent reached.
|
|
169
151
|
*/
|
|
170
|
-
export type ExecuteAnalysisFinalStatus = "running" | "completed" | "partial" | "failed" | "canceled"
|
|
171
|
-
export
|
|
152
|
+
export type ExecuteAnalysisFinalStatus = "running" | "completed" | "partial" | "failed" | "canceled";
|
|
153
|
+
export type ExecuteAnalysisResult = {
|
|
172
154
|
readonly runId: string;
|
|
173
155
|
readonly workflowId: string;
|
|
174
156
|
readonly status: ExecuteAnalysisFinalStatus;
|
|
175
157
|
readonly completedSteps: readonly string[];
|
|
176
158
|
readonly failedSteps: readonly string[];
|
|
177
159
|
readonly canceledSteps: readonly string[];
|
|
178
|
-
}
|
|
160
|
+
};
|
|
179
161
|
/**
|
|
180
162
|
* A step's in-run display state. Wider than the ledger's `StepExecutionStatus`: `queued` is a
|
|
181
163
|
* scheduler-only condition (dependency-satisfied but held for budget capacity) that never reaches a
|
|
@@ -189,14 +171,14 @@ export type StepRuntimeStatus = "pending" | "queued" | "running" | "completed" |
|
|
|
189
171
|
* that says what the step is FOR. `durationMs` and `error` appear only once the step has settled
|
|
190
172
|
* in a way that produced them.
|
|
191
173
|
*/
|
|
192
|
-
export
|
|
174
|
+
export type RunStepObservation = {
|
|
193
175
|
readonly id: string;
|
|
194
176
|
readonly name: string;
|
|
195
177
|
readonly agent: string;
|
|
196
178
|
readonly status: StepRuntimeStatus;
|
|
197
179
|
readonly durationMs?: number;
|
|
198
180
|
readonly error?: string;
|
|
199
|
-
}
|
|
181
|
+
};
|
|
200
182
|
/**
|
|
201
183
|
* A whole-run snapshot handed to {@link ExecuteAnalysisDeps.observeRun}.
|
|
202
184
|
*
|
|
@@ -211,14 +193,14 @@ export interface RunStepObservation {
|
|
|
211
193
|
* computable from `steps` and recorded authoritatively on the run's ledger row; carrying them here
|
|
212
194
|
* would mint a second source that can disagree with the ledger a host also reads.
|
|
213
195
|
*/
|
|
214
|
-
export
|
|
196
|
+
export type RunObservation = {
|
|
215
197
|
readonly runId: string;
|
|
216
198
|
readonly analysisId: string;
|
|
217
199
|
/** `running` for every mid-flight snapshot; the derived terminal status on the last one. */
|
|
218
200
|
readonly status: ExecuteAnalysisFinalStatus;
|
|
219
201
|
/** Every plan step, including ones that have not started — never a delta. */
|
|
220
202
|
readonly steps: readonly RunStepObservation[];
|
|
221
|
-
}
|
|
203
|
+
};
|
|
222
204
|
/**
|
|
223
205
|
* Construction-time deps for the parent workflow. The order-of-operations is
|
|
224
206
|
* the body's own: it brackets the run, dispatches children, and synthesizes
|
|
@@ -227,10 +209,10 @@ export interface RunObservation {
|
|
|
227
209
|
* registered sandbox-step callable — plus the construction inputs (provider,
|
|
228
210
|
* embedder, model, keys, roots) the in-body synthesis needs.
|
|
229
211
|
*/
|
|
230
|
-
export
|
|
212
|
+
export type ExecuteAnalysisDeps = {
|
|
231
213
|
/** Operational logging seam; omitted falls back to no-op. */
|
|
232
214
|
readonly logger?: Logger;
|
|
233
|
-
readonly pool:
|
|
215
|
+
readonly pool: Querier & Connectable;
|
|
234
216
|
/** Chat provider for the in-body literature-grounded synthesis. */
|
|
235
217
|
readonly provider: ChatProvider;
|
|
236
218
|
/** Write-side embedder for indexing the run synthesis. */
|
|
@@ -241,12 +223,12 @@ export interface ExecuteAnalysisDeps {
|
|
|
241
223
|
readonly resolveWorkspaceRoot: ResolveWorkspaceRoot;
|
|
242
224
|
/** Model id for the synthesizer agent loop. */
|
|
243
225
|
readonly synthesisModel: string;
|
|
244
|
-
/**
|
|
245
|
-
readonly
|
|
246
|
-
/** Shared resolver for the literature reviewer used during synthesis. */
|
|
247
|
-
readonly citationResolver: CitationResolver;
|
|
226
|
+
/** The `literature_reviewer` tool of the synthesis. The runtime registers its sub-agent one time. */
|
|
227
|
+
readonly literatureReviewer: Tool;
|
|
248
228
|
/** Run-level billing-bracket seam (managed: external bracket; OSS: no-op). */
|
|
249
229
|
readonly runCharge: RunCharge;
|
|
230
|
+
/** The delays of the timer of an outage. Absent: the default of the pause. */
|
|
231
|
+
readonly pauseRetryDelaysMs?: readonly number[];
|
|
250
232
|
/** Run-authorization seam — the terminal path revokes through `revoke`. */
|
|
251
233
|
readonly runAuthorizer: RunAuthorizer;
|
|
252
234
|
/**
|
|
@@ -309,7 +291,7 @@ export interface ExecuteAnalysisDeps {
|
|
|
309
291
|
* throwing observer never fails the run.
|
|
310
292
|
*/
|
|
311
293
|
readonly observeRun?: (observation: RunObservation) => void;
|
|
312
|
-
}
|
|
294
|
+
};
|
|
313
295
|
/**
|
|
314
296
|
* Project the sandbox-step input handed to each child. The parent owns the
|
|
315
297
|
* level computation and the seed (`prompt`, composed by `composeStepSeed` at
|
|
@@ -322,7 +304,6 @@ export declare function buildChildInput(args: {
|
|
|
322
304
|
stepId: string;
|
|
323
305
|
level: number;
|
|
324
306
|
runId: string;
|
|
325
|
-
workflowId: string;
|
|
326
307
|
prompt: string;
|
|
327
308
|
templateBinding?: TemplateBinding;
|
|
328
309
|
}): Omit<SandboxStepInput, "runSession">;
|
|
@@ -351,10 +332,10 @@ export declare function composeStepSeed(args: {
|
|
|
351
332
|
deps: ExecuteAnalysisDeps;
|
|
352
333
|
}): Promise<StepSeed>;
|
|
353
334
|
/** What `gatherStepPackage` gives: the data of the seed, and the binding of the plan settings when one holds. */
|
|
354
|
-
export
|
|
335
|
+
export type StepPackage = {
|
|
355
336
|
readonly briefing: StepBriefing;
|
|
356
337
|
readonly templateBinding?: TemplateBinding;
|
|
357
|
-
}
|
|
338
|
+
};
|
|
358
339
|
/**
|
|
359
340
|
* Do every read of one step's package and give the data its seed is rendered
|
|
360
341
|
* from. All reads live here, so `composeStepBriefing` stays a pure renderer.
|
|
@@ -385,30 +366,31 @@ export declare function gatherStepPackage(args: {
|
|
|
385
366
|
* its served version is the version the plan names. JSON-serialisable, as a
|
|
386
367
|
* durable step result must be.
|
|
387
368
|
*/
|
|
388
|
-
export
|
|
369
|
+
export type StepSeed = {
|
|
389
370
|
readonly prompt: string;
|
|
390
371
|
readonly templateBinding?: TemplateBinding;
|
|
391
|
-
}
|
|
372
|
+
};
|
|
392
373
|
/**
|
|
393
374
|
* Project a classified synthesis outcome onto the run-phase `synthesis` ledger
|
|
394
375
|
* row's terminal update (see the run-synthesis-outcome spec). The blocker keeps
|
|
395
376
|
* its reason in `blockedReason` — an honest agent-declared blocker, not an
|
|
396
377
|
* error — and a failure carries the same reason string
|
|
397
378
|
* `persist-synthesis-outcome` writes to `cortex_runs.synthesis_reason`, so the
|
|
398
|
-
* two ledgers cannot disagree about why synthesis died.
|
|
399
|
-
*
|
|
400
|
-
* the projection tests (the `buildChildInput` pattern).
|
|
379
|
+
* two ledgers cannot disagree about why synthesis died. Exported for the
|
|
380
|
+
* projection tests (the `buildChildInput` pattern).
|
|
401
381
|
*/
|
|
402
382
|
export declare function synthesisRowUpdate(outcome: {
|
|
403
383
|
status: SynthesisStatus;
|
|
404
384
|
reason: string | null;
|
|
405
|
-
}
|
|
385
|
+
}, durationMs: number): UpdateStepExecutionInput;
|
|
406
386
|
/**
|
|
407
387
|
* Run-level literature-grounded synthesis (no sandbox). Returns the
|
|
408
388
|
* quick-display findings for the run-completed card; empty when synthesis is
|
|
409
|
-
* skipped or produced no synthesizable content. A genuine failure re-throws
|
|
410
|
-
*
|
|
411
|
-
*
|
|
389
|
+
* skipped or produced no synthesizable content. A genuine failure re-throws,
|
|
390
|
+
* failing the run (D10). It runs in the body of the run workflow: each read and
|
|
391
|
+
* write is a step, each model call is a step, and each reviewer call starts a
|
|
392
|
+
* child workflow. Exported so integration tests can drive the wired synthesis
|
|
393
|
+
* without a full parent body.
|
|
412
394
|
*/
|
|
413
395
|
export declare function synthesizeFindings(args: {
|
|
414
396
|
analysisId: string;
|
|
@@ -416,6 +398,8 @@ export declare function synthesizeFindings(args: {
|
|
|
416
398
|
completedSteps: readonly string[];
|
|
417
399
|
session: RunSession;
|
|
418
400
|
deps: ExecuteAnalysisDeps;
|
|
401
|
+
/** The pause of the run. The body of the run gives it, thus the synthesizer waits in place. */
|
|
402
|
+
pause?: WorkPause;
|
|
419
403
|
}): Promise<{
|
|
420
404
|
findings: readonly RunFinding[];
|
|
421
405
|
synthesisStatus: Exclude<SynthesisStatus, "failed">;
|