@inflexa-ai/harness 0.45.1 → 0.46.2
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 +306 -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 +32 -7
- package/dist/lib/hooks.js +22 -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 +160 -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 +39 -0
- package/dist/loop/turn-credentials.js +90 -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/request-headers.js +12 -3
- 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 +62 -0
- package/dist/testing.js +101 -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
|
@@ -10,7 +10,7 @@ import type { Logger } from "../lib/logger.js";
|
|
|
10
10
|
import { type SuspendOn } from "./errors.js";
|
|
11
11
|
import type { ResolveRequestHeaders } from "./request-headers.js";
|
|
12
12
|
import type { EmbeddingProvider, FetchLike } from "./types.js";
|
|
13
|
-
export
|
|
13
|
+
export type EmbeddingProviderDeps = {
|
|
14
14
|
/** Gateway base URL — all embedding traffic is routed through it. */
|
|
15
15
|
readonly baseURL: string;
|
|
16
16
|
/** API token presented to the gateway. */
|
|
@@ -34,5 +34,5 @@ export interface EmbeddingProviderDeps {
|
|
|
34
34
|
* tests inject a fake to feed a recorded response.
|
|
35
35
|
*/
|
|
36
36
|
readonly fetch?: FetchLike;
|
|
37
|
-
}
|
|
37
|
+
};
|
|
38
38
|
export declare function createEmbeddingProvider(deps: EmbeddingProviderDeps): EmbeddingProvider;
|
|
@@ -27,7 +27,7 @@ export function createEmbeddingProvider(deps) {
|
|
|
27
27
|
baseURL: deps.baseURL,
|
|
28
28
|
apiKey: deps.token,
|
|
29
29
|
maxRetries: 0,
|
|
30
|
-
|
|
30
|
+
fetch: deps.fetch,
|
|
31
31
|
});
|
|
32
32
|
const model = deps.model ?? DEFAULT_EMBEDDING_MODEL;
|
|
33
33
|
const dimensions = deps.dimensions ?? DEFAULT_EMBEDDING_DIMENSIONS;
|
|
@@ -91,6 +91,26 @@ export type SuspendError = Extract<ProviderError, {
|
|
|
91
91
|
export declare function findSuspendError(err: unknown): SuspendError | undefined;
|
|
92
92
|
/** Find a `ProviderError` of any kind, by the walk of {@link findSuspendError}. */
|
|
93
93
|
export declare function findProviderError(err: unknown): ProviderError | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* The class of a model call that failed after its retries. Each failure that
|
|
96
|
+
* time or a person can repair is named here, and nowhere else:
|
|
97
|
+
*
|
|
98
|
+
* - `outage`: a transient provider failure that outlived each retry.
|
|
99
|
+
* - `billing`: a status that the `suspendOn` map of the host names, with its reason.
|
|
100
|
+
* - `credential`: the endpoint refused the credential.
|
|
101
|
+
* - `other`: each other failure.
|
|
102
|
+
*/
|
|
103
|
+
export type ModelFailure = {
|
|
104
|
+
readonly kind: "outage";
|
|
105
|
+
} | {
|
|
106
|
+
readonly kind: "billing";
|
|
107
|
+
readonly reason: string;
|
|
108
|
+
} | {
|
|
109
|
+
readonly kind: "credential";
|
|
110
|
+
} | {
|
|
111
|
+
readonly kind: "other";
|
|
112
|
+
};
|
|
113
|
+
export declare function modelFailureOf(err: unknown): ModelFailure;
|
|
94
114
|
/**
|
|
95
115
|
* Turn a caught SDK throwable into a `ProviderError` value. Routes through
|
|
96
116
|
* `classifyProviderError` with the `suspendOn` map of the provider, so the
|
|
@@ -98,8 +118,8 @@ export declare function findProviderError(err: unknown): ProviderError | undefin
|
|
|
98
118
|
* classification and a mapped status becomes a `suspend` error. `cause` is the
|
|
99
119
|
* original throwable verbatim.
|
|
100
120
|
*
|
|
101
|
-
* Idempotent:
|
|
102
|
-
*
|
|
121
|
+
* Idempotent: the retry envelope of the provider throws a `ProviderError`
|
|
122
|
+
* value, and a caller can wrap it again. Returning an
|
|
103
123
|
* already-constructed `ProviderError` unchanged stops that second pass from
|
|
104
124
|
* `String()`-ing the object (a `ProviderError` is not an `Error`) into a
|
|
105
125
|
* `"[object Object]"` message that would bury the real inner one.
|
package/dist/providers/errors.js
CHANGED
|
@@ -17,7 +17,10 @@
|
|
|
17
17
|
* which is a different remedy from every other non-retryable 4xx, so it is a
|
|
18
18
|
* different kind.
|
|
19
19
|
*/
|
|
20
|
+
import { errorMessageOf } from "../lib/thrown.js";
|
|
21
|
+
import { textOf } from "../lib/unknown-text.js";
|
|
20
22
|
import { redactSecrets } from "../input-sanitization.js";
|
|
23
|
+
import { collapseWhitespace } from "../lib/text.js";
|
|
21
24
|
/**
|
|
22
25
|
* The sentinel that the request-timeout guard uses as an abort reason. The guard
|
|
23
26
|
* arms a timer for each fetch attempt. On expiry the guard aborts the attempt
|
|
@@ -47,8 +50,11 @@ export const DEFAULT_SUSPEND_ON = { 402: "payment_required" };
|
|
|
47
50
|
export function isProviderError(value) {
|
|
48
51
|
if (typeof value !== "object" || value === null)
|
|
49
52
|
return false;
|
|
50
|
-
|
|
51
|
-
|
|
53
|
+
if (!("type" in value && "retryable" in value && "message" in value))
|
|
54
|
+
return false;
|
|
55
|
+
return ((value.type === "auth" || value.type === "suspend" || value.type === "provider") &&
|
|
56
|
+
typeof value.retryable === "boolean" &&
|
|
57
|
+
typeof value.message === "string");
|
|
52
58
|
}
|
|
53
59
|
/**
|
|
54
60
|
* Find a `suspend` error on a failure or on its `cause` chain. A step boundary
|
|
@@ -61,12 +67,25 @@ export function isProviderError(value) {
|
|
|
61
67
|
*/
|
|
62
68
|
export function findSuspendError(err) {
|
|
63
69
|
const asSuspend = (value) => (isProviderError(value) && value.type === "suspend" ? value : undefined);
|
|
64
|
-
return findInCauseChain(err, (link) => asSuspend(link) ?? (
|
|
70
|
+
return findInCauseChain(err, (link) => asSuspend(link) ?? ("value" in link ? asSuspend(link.value) : undefined));
|
|
65
71
|
}
|
|
66
72
|
/** Find a `ProviderError` of any kind, by the walk of {@link findSuspendError}. */
|
|
67
73
|
export function findProviderError(err) {
|
|
68
74
|
const asProviderError = (value) => (isProviderError(value) ? value : undefined);
|
|
69
|
-
return findInCauseChain(err, (link) => asProviderError(link) ?? (
|
|
75
|
+
return findInCauseChain(err, (link) => asProviderError(link) ?? ("value" in link ? asProviderError(link.value) : undefined));
|
|
76
|
+
}
|
|
77
|
+
export function modelFailureOf(err) {
|
|
78
|
+
const error = findProviderError(err);
|
|
79
|
+
switch (error?.type) {
|
|
80
|
+
case "suspend":
|
|
81
|
+
return { kind: "billing", reason: error.reason };
|
|
82
|
+
case "auth":
|
|
83
|
+
return { kind: "credential" };
|
|
84
|
+
case "provider":
|
|
85
|
+
return error.retryable ? { kind: "outage" } : { kind: "other" };
|
|
86
|
+
case undefined:
|
|
87
|
+
return { kind: "other" };
|
|
88
|
+
}
|
|
70
89
|
}
|
|
71
90
|
/**
|
|
72
91
|
* Turn a caught SDK throwable into a `ProviderError` value. Routes through
|
|
@@ -75,8 +94,8 @@ export function findProviderError(err) {
|
|
|
75
94
|
* classification and a mapped status becomes a `suspend` error. `cause` is the
|
|
76
95
|
* original throwable verbatim.
|
|
77
96
|
*
|
|
78
|
-
* Idempotent:
|
|
79
|
-
*
|
|
97
|
+
* Idempotent: the retry envelope of the provider throws a `ProviderError`
|
|
98
|
+
* value, and a caller can wrap it again. Returning an
|
|
80
99
|
* already-constructed `ProviderError` unchanged stops that second pass from
|
|
81
100
|
* `String()`-ing the object (a `ProviderError` is not an `Error`) into a
|
|
82
101
|
* `"[object Object]"` message that would bury the real inner one.
|
|
@@ -94,12 +113,12 @@ export function toProviderError(e, workload, suspendOn = DEFAULT_SUSPEND_ON) {
|
|
|
94
113
|
return {
|
|
95
114
|
type: "provider",
|
|
96
115
|
retryable: true,
|
|
97
|
-
message: `The provider sent no data for ${workload} within the request timeout of ${timeout
|
|
116
|
+
message: `The provider sent no data for ${workload} within the request timeout of ${timeout} ms.`,
|
|
98
117
|
cause: e,
|
|
99
118
|
};
|
|
100
119
|
}
|
|
101
120
|
const classified = classifyProviderError(e, suspendOn);
|
|
102
|
-
const detail = e
|
|
121
|
+
const detail = errorMessageOf(e) ?? textOf(e);
|
|
103
122
|
if (classified.kind === "auth") {
|
|
104
123
|
return {
|
|
105
124
|
type: "auth",
|
|
@@ -165,10 +184,10 @@ const PROVIDER_BODY_EXCERPT_MAX_LEN = 120;
|
|
|
165
184
|
* strings) and is safe on biological data, so a legitimate error body passes through intact.
|
|
166
185
|
*/
|
|
167
186
|
function excerptResponseBody(body) {
|
|
168
|
-
const singleLine = redactSecrets(body)
|
|
187
|
+
const singleLine = collapseWhitespace(redactSecrets(body));
|
|
169
188
|
// Slice by CODE POINT, not UTF-16 unit: a raw byte body can carry astral characters, and a plain
|
|
170
189
|
// `.slice` could bisect a surrogate pair into a lone half that renders as U+FFFD.
|
|
171
|
-
const chars =
|
|
190
|
+
const chars = Array.from(singleLine);
|
|
172
191
|
return chars.length > PROVIDER_BODY_EXCERPT_MAX_LEN ? chars.slice(0, PROVIDER_BODY_EXCERPT_MAX_LEN - 1).join("") + "…" : singleLine;
|
|
173
192
|
}
|
|
174
193
|
/** Max links walked on the `cause` chain looking for a structured status. */
|
|
@@ -185,20 +204,41 @@ const CONNECTION_ERROR_CODES = new Set([
|
|
|
185
204
|
"UND_ERR_HEADERS_TIMEOUT",
|
|
186
205
|
"UND_ERR_SOCKET",
|
|
187
206
|
]);
|
|
188
|
-
|
|
207
|
+
/** The transport-failure phrases of the fetch stack, as the providers write them; the compare lowercases the link message. */
|
|
208
|
+
const CONNECTION_ERROR_PHRASES = [
|
|
209
|
+
"fetch failed",
|
|
210
|
+
"socket hang up",
|
|
211
|
+
"network error",
|
|
212
|
+
"connection refused",
|
|
213
|
+
"connection reset",
|
|
214
|
+
"connection error",
|
|
215
|
+
"connection closed",
|
|
216
|
+
"econnrefused",
|
|
217
|
+
"enotfound",
|
|
218
|
+
"etimedout",
|
|
219
|
+
"terminated",
|
|
220
|
+
];
|
|
189
221
|
/**
|
|
190
222
|
* Walk the `cause` chain up to {@link MAX_CAUSE_HOPS} links, and return the first
|
|
191
223
|
* result that `probe` gives. `probe` gives a value for a link that matches, or
|
|
192
224
|
* `undefined` for a link that does not. The walk stops at the first match, at
|
|
193
|
-
* the hop cap, or at the end of the chain.
|
|
225
|
+
* the hop cap, or at the end of the chain. Each probe receives a link that the
|
|
226
|
+
* walk verified to be an object, so the probe reads its fields through the `in`
|
|
227
|
+
* narrowing and no assertion restates the check.
|
|
194
228
|
*/
|
|
195
229
|
function findInCauseChain(err, probe) {
|
|
196
230
|
let cursor = err;
|
|
197
|
-
for (let i = 0; i < MAX_CAUSE_HOPS
|
|
231
|
+
for (let i = 0; i < MAX_CAUSE_HOPS; i++) {
|
|
232
|
+
// A link of a cause chain is whatever a `throw` carried — most links are Error
|
|
233
|
+
// instances, whose own fields a record schema cannot reach — so the gate is the
|
|
234
|
+
// hand object check (a null-prototype thrown value fails `instanceof Object`),
|
|
235
|
+
// and each probe narrows the fields it reads.
|
|
236
|
+
if (cursor === null || typeof cursor !== "object")
|
|
237
|
+
return undefined;
|
|
198
238
|
const found = probe(cursor);
|
|
199
239
|
if (found !== undefined)
|
|
200
240
|
return found;
|
|
201
|
-
cursor = cursor.cause;
|
|
241
|
+
cursor = "cause" in cursor ? cursor.cause : undefined;
|
|
202
242
|
}
|
|
203
243
|
return undefined;
|
|
204
244
|
}
|
|
@@ -210,11 +250,10 @@ function findInCauseChain(err, probe) {
|
|
|
210
250
|
*/
|
|
211
251
|
export function extractStatus(err) {
|
|
212
252
|
return findInCauseChain(err, (link) => {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
return e.statusCode;
|
|
253
|
+
if ("status" in link && typeof link.status === "number")
|
|
254
|
+
return link.status;
|
|
255
|
+
if ("statusCode" in link && typeof link.statusCode === "number")
|
|
256
|
+
return link.statusCode;
|
|
218
257
|
return undefined;
|
|
219
258
|
});
|
|
220
259
|
}
|
|
@@ -228,29 +267,27 @@ export function extractStatus(err) {
|
|
|
228
267
|
* `— response body:` segment says less than no segment at all.
|
|
229
268
|
*/
|
|
230
269
|
function extractResponseBody(err) {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
cursor = e.cause;
|
|
237
|
-
}
|
|
238
|
-
return undefined;
|
|
270
|
+
return findInCauseChain(err, (link) => {
|
|
271
|
+
if ("responseBody" in link && typeof link.responseBody === "string" && link.responseBody.trim() !== "")
|
|
272
|
+
return link.responseBody;
|
|
273
|
+
return undefined;
|
|
274
|
+
});
|
|
239
275
|
}
|
|
240
276
|
/**
|
|
241
|
-
* Walk the `cause` chain for the request-timeout
|
|
242
|
-
*
|
|
243
|
-
*
|
|
277
|
+
* Walk the `cause` chain for the request-timeout bound. The guard aborts a fetch
|
|
278
|
+
* with a `RequestTimeoutError`. The SDK carries the abort reason down the `cause`
|
|
279
|
+
* chain, thus the sentinel can sit one or more hops down. The bound rides the
|
|
280
|
+
* sentinel, so the walk returns it directly.
|
|
244
281
|
*/
|
|
245
282
|
function findRequestTimeout(err) {
|
|
246
283
|
return findInCauseChain(err, (link) => {
|
|
247
284
|
if (link instanceof RequestTimeoutError)
|
|
248
|
-
return link;
|
|
249
|
-
// A duplicate class identity across a realm boundary fails `instanceof`,
|
|
250
|
-
//
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
285
|
+
return link.requestTimeoutMs;
|
|
286
|
+
// A duplicate class identity across a realm boundary fails `instanceof`, thus match
|
|
287
|
+
// the name and the field as a fallback.
|
|
288
|
+
if ("name" in link && link.name === "RequestTimeoutError" && "requestTimeoutMs" in link && typeof link.requestTimeoutMs === "number") {
|
|
289
|
+
return link.requestTimeoutMs;
|
|
290
|
+
}
|
|
254
291
|
return undefined;
|
|
255
292
|
});
|
|
256
293
|
}
|
|
@@ -267,22 +304,27 @@ const SDK_TIMEOUT_ERROR_NAME = "TimeoutError";
|
|
|
267
304
|
* an abort reason down the `cause` chain, thus the reason can sit one or more
|
|
268
305
|
* hops down.
|
|
269
306
|
*/
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
307
|
+
/**
|
|
308
|
+
* Does the `cause` chain hold the timeout that the SDK raises? The `DOMException`
|
|
309
|
+
* carries no field of its own, thus the name is the one signal. The SDK carries
|
|
310
|
+
* an abort reason down the `cause` chain, thus the reason can sit one or more
|
|
311
|
+
* hops down.
|
|
312
|
+
*/
|
|
313
|
+
function hasSdkTimeout(err) {
|
|
314
|
+
return findInCauseChain(err, (link) => ("name" in link && link.name === SDK_TIMEOUT_ERROR_NAME ? true : undefined)) ?? false;
|
|
275
315
|
}
|
|
276
316
|
/** Does any link of the `cause` chain look like a transport-level failure? */
|
|
277
317
|
function looksLikeConnectionError(err) {
|
|
278
318
|
return (findInCauseChain(err, (link) => {
|
|
279
|
-
|
|
280
|
-
if (typeof e.code === "string" && CONNECTION_ERROR_CODES.has(e.code))
|
|
281
|
-
return true;
|
|
282
|
-
if (typeof e.name === "string" && /^APIConnection/.test(e.name))
|
|
319
|
+
if ("code" in link && typeof link.code === "string" && CONNECTION_ERROR_CODES.has(link.code))
|
|
283
320
|
return true;
|
|
284
|
-
if (typeof
|
|
321
|
+
if ("name" in link && typeof link.name === "string" && link.name.startsWith("APIConnection"))
|
|
285
322
|
return true;
|
|
323
|
+
if ("message" in link && typeof link.message === "string") {
|
|
324
|
+
const message = link.message.toLowerCase();
|
|
325
|
+
if (CONNECTION_ERROR_PHRASES.some((phrase) => message.includes(phrase)))
|
|
326
|
+
return true;
|
|
327
|
+
}
|
|
286
328
|
return undefined;
|
|
287
329
|
}) ?? false);
|
|
288
330
|
}
|
|
@@ -302,11 +344,17 @@ export function classifyProviderError(e, suspendOn = DEFAULT_SUSPEND_ON) {
|
|
|
302
344
|
// policy as a connection error. This runs before the status and the
|
|
303
345
|
// connection paths, because a timeout carries no HTTP status, and it must not
|
|
304
346
|
// fall to a non-retryable path.
|
|
305
|
-
if (findRequestTimeout(e) !== undefined ||
|
|
347
|
+
if (findRequestTimeout(e) !== undefined || hasSdkTimeout(e))
|
|
306
348
|
return { kind: "provider", retryable: true };
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
349
|
+
// A status below 400 is the status of a response that started well, and the failure came later, for example a
|
|
350
|
+
// stream that a reset connection broke. Thus only an error status classifies, and the rest falls to the
|
|
351
|
+
// connection check.
|
|
352
|
+
const found = extractStatus(e);
|
|
353
|
+
const status = found !== undefined && found >= 400 ? found : undefined;
|
|
354
|
+
if (status !== undefined) {
|
|
355
|
+
const reason = suspendOn[status];
|
|
356
|
+
if (reason !== undefined)
|
|
357
|
+
return { kind: "suspend", retryable: false, reason, status };
|
|
310
358
|
}
|
|
311
359
|
// `auth` is its own kind rather than a plain non-retryable 4xx because the
|
|
312
360
|
// remedy is categorically different: the request was well-formed and the
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Prompt-cache policy → provider wire options.
|
|
3
3
|
*
|
|
4
4
|
* This is the **only** place in the harness that names a vendor for caching.
|
|
5
|
-
* Everything upstream — `PromptCachePolicy`, `ChatUsage`, `
|
|
5
|
+
* Everything upstream — `PromptCachePolicy`, `ChatUsage`, `LoopOptions` —
|
|
6
6
|
* speaks the neutral harness concept; this module translates it once, at the
|
|
7
7
|
* provider seam, so the loop never learns which vendor it is talking to.
|
|
8
8
|
*
|
|
@@ -54,11 +54,11 @@
|
|
|
54
54
|
* ## Cache defeaters — what silently kills the hit rate
|
|
55
55
|
*
|
|
56
56
|
* The cache keys on an *exact prefix*, so anything that perturbs the head of the
|
|
57
|
-
* request invalidates everything after it. The
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
57
|
+
* request invalidates everything after it. The salvage of `runWithSalvage`, and
|
|
58
|
+
* a step's summary and file-metadata follow-up requests, extend one
|
|
59
|
+
* conversation under a tool mask, thus they keep its prefix
|
|
60
|
+
* (`loop/run-loop.ts`). A tool choice that forbids a call would defeat the
|
|
61
|
+
* cache, because `@ai-sdk/anthropic` removes the tools from such a request.
|
|
62
62
|
*
|
|
63
63
|
* `loadRecent` gives the view of the latest compaction marker
|
|
64
64
|
* (`memory/conversation-view.ts`). A compaction moves the start of the view one
|
|
@@ -132,8 +132,8 @@ export declare const CONVERSATION_PROMPT_CACHE: PromptCachePolicy;
|
|
|
132
132
|
* `cacheControl` has already been renamed once, and the provider still accepts
|
|
133
133
|
* `cache_control` as its alias.
|
|
134
134
|
*
|
|
135
|
-
* CAUTION: this is the marker's VALUE, not its placement. Attaching it to
|
|
136
|
-
*
|
|
135
|
+
* CAUTION: this is the marker's VALUE, not its placement. Attaching it to the
|
|
136
|
+
* options of a request emits the invisible top-level field the module header warns
|
|
137
137
|
* about. Place it with {@link withSystemPromptBreakpoint} and
|
|
138
138
|
* {@link withPromptCacheBreakpoint}.
|
|
139
139
|
*/
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Prompt-cache policy → provider wire options.
|
|
3
3
|
*
|
|
4
4
|
* This is the **only** place in the harness that names a vendor for caching.
|
|
5
|
-
* Everything upstream — `PromptCachePolicy`, `ChatUsage`, `
|
|
5
|
+
* Everything upstream — `PromptCachePolicy`, `ChatUsage`, `LoopOptions` —
|
|
6
6
|
* speaks the neutral harness concept; this module translates it once, at the
|
|
7
7
|
* provider seam, so the loop never learns which vendor it is talking to.
|
|
8
8
|
*
|
|
@@ -54,11 +54,11 @@
|
|
|
54
54
|
* ## Cache defeaters — what silently kills the hit rate
|
|
55
55
|
*
|
|
56
56
|
* The cache keys on an *exact prefix*, so anything that perturbs the head of the
|
|
57
|
-
* request invalidates everything after it. The
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
57
|
+
* request invalidates everything after it. The salvage of `runWithSalvage`, and
|
|
58
|
+
* a step's summary and file-metadata follow-up requests, extend one
|
|
59
|
+
* conversation under a tool mask, thus they keep its prefix
|
|
60
|
+
* (`loop/run-loop.ts`). A tool choice that forbids a call would defeat the
|
|
61
|
+
* cache, because `@ai-sdk/anthropic` removes the tools from such a request.
|
|
62
62
|
*
|
|
63
63
|
* `loadRecent` gives the view of the latest compaction marker
|
|
64
64
|
* (`memory/conversation-view.ts`). A compaction moves the start of the view one
|
|
@@ -92,6 +92,7 @@
|
|
|
92
92
|
* flat-zero read counter beside a non-zero write counter is still the signature
|
|
93
93
|
* of an endpoint billing for writes and serving no reads.
|
|
94
94
|
*/
|
|
95
|
+
import { parseUnknownRecord } from "../lib/unknown-containers.js";
|
|
95
96
|
/**
|
|
96
97
|
* The default policy: cache with the 5-minute TTL.
|
|
97
98
|
*
|
|
@@ -130,8 +131,8 @@ export const CONVERSATION_PROMPT_CACHE = { ttl: "1h" };
|
|
|
130
131
|
* `cacheControl` has already been renamed once, and the provider still accepts
|
|
131
132
|
* `cache_control` as its alias.
|
|
132
133
|
*
|
|
133
|
-
* CAUTION: this is the marker's VALUE, not its placement. Attaching it to
|
|
134
|
-
*
|
|
134
|
+
* CAUTION: this is the marker's VALUE, not its placement. Attaching it to the
|
|
135
|
+
* options of a request emits the invisible top-level field the module header warns
|
|
135
136
|
* about. Place it with {@link withSystemPromptBreakpoint} and
|
|
136
137
|
* {@link withPromptCacheBreakpoint}.
|
|
137
138
|
*/
|
|
@@ -188,9 +189,10 @@ function canHostBreakpoint(message) {
|
|
|
188
189
|
if (!Array.isArray(content))
|
|
189
190
|
return false;
|
|
190
191
|
const last = content.at(-1);
|
|
191
|
-
|
|
192
|
+
const part = parseUnknownRecord(last);
|
|
193
|
+
if (part === undefined)
|
|
192
194
|
return false;
|
|
193
|
-
return
|
|
195
|
+
return !("type" in part) || part["type"] !== "reasoning";
|
|
194
196
|
}
|
|
195
197
|
/** The index of the last message that can host the breakpoint, or `-1` when none can. */
|
|
196
198
|
function lastHostIndex(messages) {
|
|
@@ -227,7 +229,7 @@ function withoutBreakpoint(message) {
|
|
|
227
229
|
continue;
|
|
228
230
|
const { [key]: _dropped, ...rest } = bag;
|
|
229
231
|
if (Object.keys(rest).length === 0)
|
|
230
|
-
|
|
232
|
+
Reflect.deleteProperty(remaining, namespace);
|
|
231
233
|
else
|
|
232
234
|
remaining[namespace] = rest;
|
|
233
235
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The reasoning depth of a call.
|
|
3
3
|
*
|
|
4
|
-
* The effort resolves in order: `
|
|
5
|
-
*
|
|
4
|
+
* The effort resolves in order: the effort of the run (`LoopOptions.reasoning`),
|
|
5
|
+
* the provider configuration's `reasoning`, then
|
|
6
6
|
* {@link DEFAULT_REASONING}. Anthropic discards its message cache when the
|
|
7
7
|
* top-level effort changes between calls.
|
|
8
8
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The reasoning depth of a call.
|
|
3
3
|
*
|
|
4
|
-
* The effort resolves in order: `
|
|
5
|
-
*
|
|
4
|
+
* The effort resolves in order: the effort of the run (`LoopOptions.reasoning`),
|
|
5
|
+
* the provider configuration's `reasoning`, then
|
|
6
6
|
* {@link DEFAULT_REASONING}. Anthropic discards its message cache when the
|
|
7
7
|
* top-level effort changes between calls.
|
|
8
8
|
*
|
|
@@ -16,7 +16,16 @@ export function requestHeadersFor(hook, session) {
|
|
|
16
16
|
}
|
|
17
17
|
export function headersRefusalError(refusal, workload) {
|
|
18
18
|
const message = `The request headers hook refused the model call for ${workload}: ${refusal.reason}`;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
switch (refusal.kind) {
|
|
20
|
+
case "suspended":
|
|
21
|
+
return { type: "suspend", retryable: false, reason: refusal.reason, message };
|
|
22
|
+
case "credential":
|
|
23
|
+
return { type: "auth", retryable: false, message };
|
|
24
|
+
case "failed":
|
|
25
|
+
return { type: "provider", retryable: false, message };
|
|
26
|
+
default: {
|
|
27
|
+
const exhaustive = refusal;
|
|
28
|
+
return exhaustive;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
22
31
|
}
|