ashlr-plugin 1.36.4
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/.agents/plugins/marketplace.json +20 -0
- package/.claude-plugin/marketplace.json +39 -0
- package/.claude-plugin/plugin.json +36 -0
- package/.codex/agents/README.md +9 -0
- package/.codex/agents/ashlr-explorer.md +36 -0
- package/.codex/agents/ashlr-worker.md +38 -0
- package/.codex-plugin/plugin.json +45 -0
- package/.mcp.json +14 -0
- package/LICENSE +21 -0
- package/README.md +311 -0
- package/agents/ashlr-code.md +69 -0
- package/agents/ashlr-explore.md +44 -0
- package/agents/ashlr-plan.md +54 -0
- package/bench/fixtures/notebook-large.ipynb +660 -0
- package/bench/fixtures/notebook-small.ipynb +39 -0
- package/bench/fixtures/tasklist-closed.json +62 -0
- package/bench/fixtures/tasklist-large-mixed.json +27 -0
- package/bench/fixtures/tasklist-sprint-open.json +79 -0
- package/bench/fixtures/websearch-bun-runtime.json +32 -0
- package/bench/fixtures/websearch-react-hooks-patterns.json +32 -0
- package/bench/fixtures/websearch-typescript-generics.json +38 -0
- package/bench/refs/node-sdk/.refrev +1 -0
- package/bench/refs/node-sdk/README.md +17 -0
- package/bench/refs/node-sdk/src/agent/agent.ts +163 -0
- package/bench/refs/node-sdk/src/agent/create-agent-ui-stream.ts +83 -0
- package/bench/refs/node-sdk/src/agent/tool-loop-agent.ts +238 -0
- package/bench/refs/node-sdk/src/embed/embed-many.ts +409 -0
- package/bench/refs/node-sdk/src/embed/embed-result.ts +50 -0
- package/bench/refs/node-sdk/src/embed/embed.ts +257 -0
- package/bench/refs/node-sdk/src/error/invalid-argument-error.ts +34 -0
- package/bench/refs/node-sdk/src/error/invalid-tool-input-error.ts +33 -0
- package/bench/refs/node-sdk/src/error/no-object-generated-error.ts +70 -0
- package/bench/refs/node-sdk/src/generate-image/generate-image-result.ts +42 -0
- package/bench/refs/node-sdk/src/generate-image/generate-image.ts +362 -0
- package/bench/refs/node-sdk/src/generate-object/generate-object-result.ts +67 -0
- package/bench/refs/node-sdk/src/generate-object/generate-object.ts +501 -0
- package/bench/refs/node-sdk/src/generate-object/inject-json-instruction.ts +30 -0
- package/bench/refs/node-sdk/src/generate-object/output-strategy.ts +415 -0
- package/bench/refs/node-sdk/src/generate-object/repair-text.ts +12 -0
- package/bench/refs/node-sdk/src/generate-object/stream-object.ts +960 -0
- package/bench/refs/node-sdk/src/generate-speech/generate-speech.ts +191 -0
- package/bench/refs/node-sdk/src/generate-text/generate-text.ts +1484 -0
- package/bench/refs/node-sdk/src/generate-text/stream-text.ts +2708 -0
- package/bench/refs/node-sdk/src/generate-text/tool-call.ts +59 -0
- package/bench/refs/node-sdk/src/generate-text/tool-result.ts +36 -0
- package/bench/refs/node-sdk/src/telemetry/create-telemetry-dispatcher.ts +146 -0
- package/bench/refs/node-sdk/src/telemetry/telemetry-registry.ts +15 -0
- package/bench/refs/node-sdk/src/telemetry/telemetry.ts +223 -0
- package/bench/refs/node-sdk/src/util/async-iterable-stream.ts +94 -0
- package/bench/refs/node-sdk/src/util/consume-stream.ts +31 -0
- package/bench/refs/node-sdk/src/util/create-stitchable-stream.ts +112 -0
- package/bench/refs/node-sdk/src/util/download/download.ts +74 -0
- package/bench/refs/node-sdk/src/util/error-handler.ts +1 -0
- package/bench/refs/node-sdk/src/util/fix-json.ts +401 -0
- package/bench/refs/node-sdk/src/util/merge-objects.ts +79 -0
- package/bench/refs/python-lib/.refrev +1 -0
- package/bench/refs/python-lib/README.md +18 -0
- package/bench/refs/python-lib/pandas/core/_numba/executor.py +249 -0
- package/bench/refs/python-lib/pandas/core/_numba/extensions.py +586 -0
- package/bench/refs/python-lib/pandas/core/_numba/kernels/mean_.py +198 -0
- package/bench/refs/python-lib/pandas/core/_numba/kernels/min_max_.py +178 -0
- package/bench/refs/python-lib/pandas/core/_numba/kernels/sum_.py +255 -0
- package/bench/refs/python-lib/pandas/core/_numba/kernels/var_.py +251 -0
- package/bench/refs/python-lib/pandas/core/accessor.py +520 -0
- package/bench/refs/python-lib/pandas/core/api.py +138 -0
- package/bench/refs/python-lib/pandas/core/array_algos/masked_accumulations.py +97 -0
- package/bench/refs/python-lib/pandas/core/array_algos/masked_reductions.py +252 -0
- package/bench/refs/python-lib/pandas/core/array_algos/putmask.py +150 -0
- package/bench/refs/python-lib/pandas/core/array_algos/quantile.py +232 -0
- package/bench/refs/python-lib/pandas/core/array_algos/replace.py +159 -0
- package/bench/refs/python-lib/pandas/core/array_algos/take.py +609 -0
- package/bench/refs/python-lib/pandas/core/arraylike.py +534 -0
- package/bench/refs/python-lib/pandas/core/arrays/_arrow_string_mixins.py +434 -0
- package/bench/refs/python-lib/pandas/core/arrays/_mixins.py +630 -0
- package/bench/refs/python-lib/pandas/core/arrays/_ranges.py +276 -0
- package/bench/refs/python-lib/pandas/core/arrays/_utils.py +77 -0
- package/bench/refs/python-lib/pandas/core/arrays/arrow/accessors.py +521 -0
- package/bench/refs/python-lib/pandas/core/arrays/arrow/extension_types.py +174 -0
- package/bench/refs/python-lib/pandas/core/arrays/boolean.py +454 -0
- package/bench/refs/python-lib/pandas/core/arrays/floating.py +192 -0
- package/bench/refs/python-lib/pandas/core/arrays/integer.py +296 -0
- package/bench/refs/python-lib/pandas/core/arrays/masked.py +2140 -0
- package/bench/refs/python-lib/pandas/core/arrays/numeric.py +305 -0
- package/bench/refs/python-lib/pandas/core/arrays/numpy_.py +701 -0
- package/bench/refs/python-lib/pandas/core/arrays/period.py +1586 -0
- package/bench/refs/python-lib/pandas/core/arrays/sparse/accessor.py +505 -0
- package/bench/refs/python-lib/pandas/core/arrays/sparse/scipy_sparse.py +208 -0
- package/bench/refs/rust-project/.refrev +1 -0
- package/bench/refs/rust-project/README.md +17 -0
- package/bench/refs/rust-project/tokio/src/doc/os.rs +68 -0
- package/bench/refs/rust-project/tokio/src/fs/dir_builder.rs +129 -0
- package/bench/refs/rust-project/tokio/src/fs/file.rs +1113 -0
- package/bench/refs/rust-project/tokio/src/fs/mocks.rs +176 -0
- package/bench/refs/rust-project/tokio/src/fs/mod.rs +324 -0
- package/bench/refs/rust-project/tokio/src/fs/open_options.rs +856 -0
- package/bench/refs/rust-project/tokio/src/fs/read.rs +80 -0
- package/bench/refs/rust-project/tokio/src/fs/read_dir.rs +357 -0
- package/bench/refs/rust-project/tokio/src/fs/write.rs +99 -0
- package/bench/refs/rust-project/tokio/src/future/maybe_done.rs +123 -0
- package/bench/refs/rust-project/tokio/src/future/try_join.rs +82 -0
- package/bench/refs/rust-project/tokio/src/io/async_buf_read.rs +117 -0
- package/bench/refs/rust-project/tokio/src/io/async_read.rs +133 -0
- package/bench/refs/rust-project/tokio/src/io/async_seek.rs +96 -0
- package/bench/refs/rust-project/tokio/src/io/async_write.rs +402 -0
- package/bench/refs/rust-project/tokio/src/io/blocking.rs +339 -0
- package/bench/refs/rust-project/tokio/src/io/interest.rs +345 -0
- package/bench/refs/rust-project/tokio/src/io/join.rs +130 -0
- package/bench/refs/rust-project/tokio/src/io/mod.rs +308 -0
- package/bench/refs/rust-project/tokio/src/io/poll_evented.rs +319 -0
- package/bench/refs/rust-project/tokio/src/io/read_buf.rs +344 -0
- package/bench/refs/rust-project/tokio/src/io/ready.rs +322 -0
- package/bench/refs/rust-project/tokio/src/io/split.rs +166 -0
- package/bench/refs/rust-project/tokio/src/io/stderr.rs +148 -0
- package/bench/refs/rust-project/tokio/src/io/stdin.rs +98 -0
- package/bench/refs/rust-project/tokio/src/io/stdio_common.rs +222 -0
- package/bench/refs/rust-project/tokio/src/io/stdout.rs +197 -0
- package/bench/refs/rust-project/tokio/src/io/util/buf_reader.rs +311 -0
- package/bench/refs/rust-project/tokio/src/io/util/buf_stream.rs +207 -0
- package/bench/refs/rust-project/tokio/src/io/util/buf_writer.rs +310 -0
- package/bench/refs/rust-project/tokio/src/io/util/chain.rs +144 -0
- package/commands/_spawn-patterns.json +32 -0
- package/commands/ashlr-allow.md +21 -0
- package/commands/ashlr-benchmark.md +53 -0
- package/commands/ashlr-brief.md +97 -0
- package/commands/ashlr-budget.md +76 -0
- package/commands/ashlr-compact.md +54 -0
- package/commands/ashlr-dashboard.md +37 -0
- package/commands/ashlr-doctor.md +56 -0
- package/commands/ashlr-eco-mode.md +92 -0
- package/commands/ashlr-genome-init.md +24 -0
- package/commands/ashlr-genome-keygen.md +36 -0
- package/commands/ashlr-genome-loop.md +118 -0
- package/commands/ashlr-genome-push.md +36 -0
- package/commands/ashlr-genome-rewrap.md +48 -0
- package/commands/ashlr-genome-team-init.md +67 -0
- package/commands/ashlr-handoff.md +23 -0
- package/commands/ashlr-help.md +86 -0
- package/commands/ashlr-hook-timings.md +30 -0
- package/commands/ashlr-leaderboard.md +50 -0
- package/commands/ashlr-ollama-setup.md +39 -0
- package/commands/ashlr-orchestrate-status.md +72 -0
- package/commands/ashlr-orchestrate.md +83 -0
- package/commands/ashlr-parallelize.md +63 -0
- package/commands/ashlr-report-crash.md +33 -0
- package/commands/ashlr-resume.md +72 -0
- package/commands/ashlr-savings.md +24 -0
- package/commands/ashlr-settings.md +50 -0
- package/commands/ashlr-spawn.md +61 -0
- package/commands/ashlr-start.md +60 -0
- package/commands/ashlr-status.md +64 -0
- package/commands/ashlr-team-invite.md +47 -0
- package/commands/ashlr-tier.md +122 -0
- package/commands/ashlr-tour.md +60 -0
- package/commands/ashlr-update.md +155 -0
- package/commands/ashlr-upgrade.md +96 -0
- package/commands/goal.md +58 -0
- package/commands/loop.md +40 -0
- package/docs/CNAME +1 -0
- package/docs/PRO_TIER.md +104 -0
- package/docs/README.md +21 -0
- package/docs/architecture.md +415 -0
- package/docs/ashlr-pipe.md +161 -0
- package/docs/assets/logo.svg +19 -0
- package/docs/assets/og.png +0 -0
- package/docs/assets/og.svg +41 -0
- package/docs/benchmarks-v2.json +355 -0
- package/docs/benchmarks.json +102 -0
- package/docs/benchmarks.md +211 -0
- package/docs/billing.md +185 -0
- package/docs/cloud-genome.md +155 -0
- package/docs/competitive-wozcode.md +92 -0
- package/docs/deploy.md +325 -0
- package/docs/email-templates.md +113 -0
- package/docs/embed-tuning.md +103 -0
- package/docs/genome.md +120 -0
- package/docs/github-oauth-onboarding.md +127 -0
- package/docs/hero-video-script.md +129 -0
- package/docs/index.html +2262 -0
- package/docs/install-prompt.md +78 -0
- package/docs/install-windows.md +132 -0
- package/docs/install.ps1 +171 -0
- package/docs/install.sh +146 -0
- package/docs/launch/README.md +114 -0
- package/docs/launch/hn.md +49 -0
- package/docs/launch/reddit.md +45 -0
- package/docs/launch/x.md +65 -0
- package/docs/launch-post.md +112 -0
- package/docs/legal.md +78 -0
- package/docs/llm-providers.md +99 -0
- package/docs/multi-host-mcp.md +217 -0
- package/docs/multi-turn-architecture.md +108 -0
- package/docs/operations/deployment.md +108 -0
- package/docs/operations/error-monitoring.md +70 -0
- package/docs/operations/weekly-digest.md +70 -0
- package/docs/operations.md +494 -0
- package/docs/platform-support.md +133 -0
- package/docs/policy-packs.md +188 -0
- package/docs/press-kit/fact-sheet.md +78 -0
- package/docs/press-kit/founder-bio.md +3 -0
- package/docs/press-kit/logo.svg +33 -0
- package/docs/press-kit/screenshots.md +146 -0
- package/docs/pricing.md +251 -0
- package/docs/pro-backend-architecture.md +523 -0
- package/docs/producthunt.md +52 -0
- package/docs/router-migration.md +110 -0
- package/docs/session-log-schema.md +68 -0
- package/docs/social.md +95 -0
- package/docs/team-genome.md +528 -0
- package/docs/telemetry.md +194 -0
- package/docs/test-isolation.md +100 -0
- package/docs/upgrade.md +159 -0
- package/hooks/_hook-errors.ts +87 -0
- package/hooks/_hook-perf-emit.ts +113 -0
- package/hooks/_hook-timing-ledger.ts +1133 -0
- package/hooks/_nudge-throttle.ts +127 -0
- package/hooks/_recent-blocks.ts +127 -0
- package/hooks/audit-upload.ts +86 -0
- package/hooks/codex-hooks.json +171 -0
- package/hooks/commit-attribution.ts +179 -0
- package/hooks/edit-batching-nudge.ts +154 -0
- package/hooks/genome-scribe-hook.ts +219 -0
- package/hooks/hooks.json +294 -0
- package/hooks/orient-nudge-hook.ts +242 -0
- package/hooks/policy-enforce.ts +214 -0
- package/hooks/post-tool-use-embedding.ts +93 -0
- package/hooks/post-tool-use-genome.sh +37 -0
- package/hooks/post-tool-use-genome.ts +69 -0
- package/hooks/posttooluse-correlate.ts +122 -0
- package/hooks/posttooluse-dedupe-output.ts +241 -0
- package/hooks/posttooluse-genome-refresh.ts +223 -0
- package/hooks/posttooluse-native-nudge.ts +205 -0
- package/hooks/posttooluse-stale-result.ts +277 -0
- package/hooks/pretooluse-bash.ts +63 -0
- package/hooks/pretooluse-budget-guard.ts +318 -0
- package/hooks/pretooluse-common.ts +985 -0
- package/hooks/pretooluse-eco-router.ts +196 -0
- package/hooks/pretooluse-edit.sh +93 -0
- package/hooks/pretooluse-edit.ts +197 -0
- package/hooks/pretooluse-glob.ts +70 -0
- package/hooks/pretooluse-grep.sh +85 -0
- package/hooks/pretooluse-grep.ts +96 -0
- package/hooks/pretooluse-notebookedit.ts +121 -0
- package/hooks/pretooluse-read.sh +118 -0
- package/hooks/pretooluse-read.ts +118 -0
- package/hooks/pretooluse-task.ts +130 -0
- package/hooks/pretooluse-webfetch.ts +66 -0
- package/hooks/pretooluse-websearch.ts +85 -0
- package/hooks/pretooluse-write.ts +128 -0
- package/hooks/pulse-emit.ts +197 -0
- package/hooks/session-end-consolidate.sh +35 -0
- package/hooks/session-end-consolidate.ts +188 -0
- package/hooks/session-end-stats-gc.ts +80 -0
- package/hooks/session-log-append.sh +94 -0
- package/hooks/session-log-append.ts +116 -0
- package/hooks/session-start.ts +993 -0
- package/hooks/sessionend-hook-health-nudge.ts +451 -0
- package/hooks/sessionend-savings-nudge.ts +318 -0
- package/hooks/sessionend-status-line-nudge.ts +296 -0
- package/hooks/sessionstart-brief.ts +140 -0
- package/hooks/sessionstart-cost-refactor.ts +95 -0
- package/hooks/sessionstart-efficient.ts +110 -0
- package/hooks/sessionstart-genome-author.ts +93 -0
- package/hooks/sessionstart-lean-tools.ts +98 -0
- package/hooks/sessionstart-search.ts +97 -0
- package/hooks/stop-accounting.ts +152 -0
- package/hooks/subagent-stop-rollup.ts +162 -0
- package/hooks/userpromptsubmit-brief-trigger.ts +156 -0
- package/package.json +56 -0
- package/ports/README.md +108 -0
- package/ports/cursor/mcp.json +11 -0
- package/ports/goose/recipe.yaml +26 -0
- package/scripts/ashlr-mcp.ts +40 -0
- package/scripts/auto-update.ts +177 -0
- package/scripts/baseline-scan.ts +831 -0
- package/scripts/bench-orchestrate.ts +377 -0
- package/scripts/benchmark-refs.ts +292 -0
- package/scripts/bootstrap.mjs +100 -0
- package/scripts/brief-eval.ts +234 -0
- package/scripts/bump-version.ts +82 -0
- package/scripts/bun-resolve.d.mts +11 -0
- package/scripts/bun-resolve.mjs +59 -0
- package/scripts/calibrate-grep.ts +467 -0
- package/scripts/capture-grep-workload.ts +260 -0
- package/scripts/check-tier.ts +61 -0
- package/scripts/check-version-sync.ts +97 -0
- package/scripts/cli-orchestrate-status.ts +386 -0
- package/scripts/cli-orchestrate.ts +303 -0
- package/scripts/cli.ts +478 -0
- package/scripts/cloud-smoke-test.ts +313 -0
- package/scripts/coach-report.ts +373 -0
- package/scripts/context-db-migrate.ts +137 -0
- package/scripts/context-status.ts +43 -0
- package/scripts/demo-run.ts +255 -0
- package/scripts/deploy-smoke.sh +140 -0
- package/scripts/doctor.ts +992 -0
- package/scripts/embed-file-worker.ts +104 -0
- package/scripts/embed-tune.ts +308 -0
- package/scripts/errors-report.ts +428 -0
- package/scripts/find-test-leak.ts +69 -0
- package/scripts/generate-badge.ts +357 -0
- package/scripts/genome-auto-consolidate.ts +533 -0
- package/scripts/genome-auto-propose.ts +578 -0
- package/scripts/genome-cloud-pull.ts +363 -0
- package/scripts/genome-cloud-push.ts +382 -0
- package/scripts/genome-cloud-sync.ts +587 -0
- package/scripts/genome-commit-watcher.ts +295 -0
- package/scripts/genome-init.ts +986 -0
- package/scripts/genome-key.ts +233 -0
- package/scripts/genome-keygen.ts +168 -0
- package/scripts/genome-link.ts +59 -0
- package/scripts/genome-refresh-worker.ts +364 -0
- package/scripts/genome-rewrap.ts +90 -0
- package/scripts/genome-synthesizer.ts +679 -0
- package/scripts/genome-team-init.ts +312 -0
- package/scripts/handoff-pack.ts +438 -0
- package/scripts/hook-bootstrap.mjs +75 -0
- package/scripts/hook-timing-reader.ts +371 -0
- package/scripts/hook-timings-report.ts +554 -0
- package/scripts/install-genome-hooks.ts +196 -0
- package/scripts/install-onnx-model.ts +154 -0
- package/scripts/install-permissions.ts +276 -0
- package/scripts/install-status-line.ts +150 -0
- package/scripts/mcp-entrypoint.sh +78 -0
- package/scripts/mcp-entrypoint.ts +130 -0
- package/scripts/mdx-angle-bracket-lint.ts +152 -0
- package/scripts/measure-cold-start.ts +126 -0
- package/scripts/migrate-stats-to-sqlite.ts +86 -0
- package/scripts/ollama-setup.ts +498 -0
- package/scripts/onboarding-wizard.ts +1691 -0
- package/scripts/orchestrate-emit-telemetry.ts +177 -0
- package/scripts/orchestrate-expand.ts +517 -0
- package/scripts/orchestrate-run.ts +744 -0
- package/scripts/print-legend.ts +50 -0
- package/scripts/product-metadata.ts +38 -0
- package/scripts/prune-old-memories.ts +208 -0
- package/scripts/publish.sh +88 -0
- package/scripts/read-calibration.ts +122 -0
- package/scripts/report-crash.ts +226 -0
- package/scripts/run-benchmark.ts +750 -0
- package/scripts/run-root-tests.ts +28 -0
- package/scripts/savings-dashboard.ts +1258 -0
- package/scripts/savings-report-extras.ts +447 -0
- package/scripts/savings-status-line.ts +873 -0
- package/scripts/session-event-emit.ts +266 -0
- package/scripts/session-greet.ts +686 -0
- package/scripts/session-log-report.ts +551 -0
- package/scripts/session-resume.ts +614 -0
- package/scripts/set-hook-mode.ts +83 -0
- package/scripts/smoke-cross-platform.ts +117 -0
- package/scripts/smoke-realtime.ts +257 -0
- package/scripts/smoke-tools.ts +21 -0
- package/scripts/stats-cloud-pull.ts +213 -0
- package/scripts/stats-cloud-sync.ts +261 -0
- package/scripts/telemetry-flush.ts +160 -0
- package/scripts/telemetry-status.ts +266 -0
- package/scripts/timing-budget.ts +35 -0
- package/scripts/ui-animation.ts +120 -0
- package/scripts/ui.ts +431 -0
- package/scripts/upgrade-flow.ts +775 -0
- package/scripts/weekly-digest.ts +394 -0
- package/servers/_accounting.ts +78 -0
- package/servers/_ask-router.ts +84 -0
- package/servers/_ast-chunker.ts +434 -0
- package/servers/_ast-helpers.ts +183 -0
- package/servers/_ast-languages.ts +153 -0
- package/servers/_ast-refactor/_shared.ts +221 -0
- package/servers/_ast-refactor/cross-file-rename.ts +560 -0
- package/servers/_ast-refactor/extract-function.ts +357 -0
- package/servers/_ast-refactor/file-local-rename.ts +172 -0
- package/servers/_ast-refactor.ts +41 -0
- package/servers/_ast-skeleton.ts +107 -0
- package/servers/_bash-summarizers-registry.ts +1096 -0
- package/servers/_crash-dump.ts +210 -0
- package/servers/_cwd-clamp.ts +342 -0
- package/servers/_edit-log.ts +28 -0
- package/servers/_edit-match.ts +236 -0
- package/servers/_edit-validate.ts +196 -0
- package/servers/_embed-calibration.ts +123 -0
- package/servers/_embedding-cache.ts +401 -0
- package/servers/_embedding-model.ts +329 -0
- package/servers/_events.ts +113 -0
- package/servers/_genome-cache.ts +154 -0
- package/servers/_genome-commits.ts +172 -0
- package/servers/_genome-crypto-v2.ts +242 -0
- package/servers/_genome-crypto.ts +259 -0
- package/servers/_genome-discoveries.ts +140 -0
- package/servers/_genome-embed-populator.ts +216 -0
- package/servers/_genome-freshness.ts +134 -0
- package/servers/_genome-issues.ts +171 -0
- package/servers/_genome-live.ts +263 -0
- package/servers/_genome-prs.ts +188 -0
- package/servers/_genome-search.ts +479 -0
- package/servers/_genome-sync.ts +297 -0
- package/servers/_history-tracker.ts +279 -0
- package/servers/_http-helpers.ts +151 -0
- package/servers/_identity-hash.ts +151 -0
- package/servers/_llm-providers/anthropic.ts +132 -0
- package/servers/_llm-providers/cloud.ts +195 -0
- package/servers/_llm-providers/index.ts +350 -0
- package/servers/_llm-providers/local.ts +127 -0
- package/servers/_llm-providers/onnx.ts +393 -0
- package/servers/_llm-providers/types.ts +27 -0
- package/servers/_manifest-v2.ts +447 -0
- package/servers/_mcp-host.ts +93 -0
- package/servers/_nudge-events.ts +451 -0
- package/servers/_orchestrate-executor.ts +316 -0
- package/servers/_prefetch.ts +435 -0
- package/servers/_pricing.ts +256 -0
- package/servers/_pro.ts +381 -0
- package/servers/_read-cache.ts +44 -0
- package/servers/_router-handlers.ts +46 -0
- package/servers/_router.ts +55 -0
- package/servers/_run-with-timeout.ts +173 -0
- package/servers/_savings-render.ts +214 -0
- package/servers/_stats-sqlite.ts +640 -0
- package/servers/_stats.ts +1183 -0
- package/servers/_status-line-cells.ts +469 -0
- package/servers/_streaks.ts +162 -0
- package/servers/_summarize.ts +208 -0
- package/servers/_task-graph-render.ts +217 -0
- package/servers/_task-graph.ts +545 -0
- package/servers/_telemetry.ts +719 -0
- package/servers/_test-parsers.ts +530 -0
- package/servers/_test-watch.ts +626 -0
- package/servers/_text-helpers.ts +37 -0
- package/servers/_token-measure.ts +160 -0
- package/servers/_tool-base.ts +248 -0
- package/servers/_weekly-digest.ts +391 -0
- package/servers/ask-server-handlers.ts +49 -0
- package/servers/ask-server.ts +174 -0
- package/servers/bash-server-handlers.ts +138 -0
- package/servers/bash-server.ts +1136 -0
- package/servers/bench.ts +186 -0
- package/servers/diff-semantic-server-handlers.ts +39 -0
- package/servers/diff-semantic-server.ts +566 -0
- package/servers/diff-server-handlers.ts +317 -0
- package/servers/diff-server.ts +20 -0
- package/servers/edit-server-handlers.ts +31 -0
- package/servers/edit-server.ts +209 -0
- package/servers/edit-structural-server-handlers.ts +322 -0
- package/servers/efficiency-server-handlers.ts +161 -0
- package/servers/efficiency-server.ts +1135 -0
- package/servers/flush-server-handlers.ts +21 -0
- package/servers/flush-server.ts +19 -0
- package/servers/genome-server-handlers.ts +118 -0
- package/servers/genome-server.ts +397 -0
- package/servers/github-server-handlers.ts +187 -0
- package/servers/github-server.ts +856 -0
- package/servers/glob-server-handlers.ts +233 -0
- package/servers/glob-server.ts +20 -0
- package/servers/grep-server-handlers.ts +61 -0
- package/servers/grep-server.ts +564 -0
- package/servers/http-server-handlers.ts +36 -0
- package/servers/http-server.ts +149 -0
- package/servers/logs-server-handlers.ts +42 -0
- package/servers/logs-server.ts +359 -0
- package/servers/ls-server-handlers.ts +166 -0
- package/servers/ls-server.ts +20 -0
- package/servers/multi-edit-server-handlers.ts +51 -0
- package/servers/multi-edit-server.ts +422 -0
- package/servers/notebook-edit-server-handlers.ts +34 -0
- package/servers/notebook-edit-server.ts +181 -0
- package/servers/orient-server-handlers.ts +52 -0
- package/servers/orient-server.ts +436 -0
- package/servers/pipe-server-handlers.ts +68 -0
- package/servers/pipe-server.ts +300 -0
- package/servers/read-server-handlers.ts +42 -0
- package/servers/read-server.ts +206 -0
- package/servers/rename-file-server-handlers.ts +67 -0
- package/servers/rename-file-server.ts +699 -0
- package/servers/savings-server-handlers.ts +27 -0
- package/servers/savings-server.ts +54 -0
- package/servers/search-replace-regex-server-handlers.ts +96 -0
- package/servers/search-replace-regex-server.ts +751 -0
- package/servers/sql-server-handlers.ts +58 -0
- package/servers/sql-server.ts +505 -0
- package/servers/task-server-handlers.ts +358 -0
- package/servers/task-server.ts +24 -0
- package/servers/test-server-handlers.ts +351 -0
- package/servers/test-server.ts +20 -0
- package/servers/tree-server-handlers.ts +503 -0
- package/servers/tree-server.ts +20 -0
- package/servers/webfetch-server-handlers.ts +166 -0
- package/servers/webfetch-server.ts +20 -0
- package/servers/websearch-server-handlers.ts +215 -0
- package/servers/websearch-server.ts +19 -0
- package/servers/write-server-handlers.ts +27 -0
- package/servers/write-server.ts +97 -0
- package/skills/ashlr-brief/SKILL.md +80 -0
- package/skills/ashlr-codex-doctor/SKILL.md +21 -0
- package/skills/ashlr-codex-efficient-tools/SKILL.md +17 -0
- package/skills/ashlr-codex-genome-refresh/SKILL.md +20 -0
- package/skills/ashlr-codex-parallel-explore/SKILL.md +20 -0
- package/skills/ashlr-codex-savings/SKILL.md +17 -0
- package/skills/ashlr-cost-refactor/SKILL.md +50 -0
- package/skills/ashlr-efficient/SKILL.md +64 -0
- package/skills/ashlr-genome-author/SKILL.md +43 -0
- package/skills/ashlr-lean-tools/SKILL.md +43 -0
- package/skills/ashlr-search/SKILL.md +46 -0
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ImageModelV4,
|
|
3
|
+
ImageModelV4CallOptions,
|
|
4
|
+
ImageModelV4File,
|
|
5
|
+
ImageModelV4ProviderMetadata,
|
|
6
|
+
} from '@ai-sdk/provider';
|
|
7
|
+
import {
|
|
8
|
+
convertBase64ToUint8Array,
|
|
9
|
+
DataContent,
|
|
10
|
+
ProviderOptions,
|
|
11
|
+
withUserAgentSuffix,
|
|
12
|
+
} from '@ai-sdk/provider-utils';
|
|
13
|
+
import { NoImageGeneratedError } from '../error/no-image-generated-error';
|
|
14
|
+
import {
|
|
15
|
+
DefaultGeneratedFile,
|
|
16
|
+
GeneratedFile,
|
|
17
|
+
} from '../generate-text/generated-file';
|
|
18
|
+
import { logWarnings } from '../logger/log-warnings';
|
|
19
|
+
import { resolveImageModel } from '../model/resolve-model';
|
|
20
|
+
import type { ImageModel } from '../types/image-model';
|
|
21
|
+
import { ImageModelResponseMetadata } from '../types/image-model-response-metadata';
|
|
22
|
+
import { addImageModelUsage, ImageModelUsage } from '../types/usage';
|
|
23
|
+
import { Warning } from '../types/warning';
|
|
24
|
+
import {
|
|
25
|
+
detectMediaType,
|
|
26
|
+
imageMediaTypeSignatures,
|
|
27
|
+
} from '../util/detect-media-type';
|
|
28
|
+
import { prepareRetries } from '../util/prepare-retries';
|
|
29
|
+
import { VERSION } from '../version';
|
|
30
|
+
import { GenerateImageResult } from './generate-image-result';
|
|
31
|
+
import { convertDataContentToUint8Array } from '../prompt/data-content';
|
|
32
|
+
import { splitDataUrl } from '../prompt/split-data-url';
|
|
33
|
+
|
|
34
|
+
export type GenerateImagePrompt =
|
|
35
|
+
| string
|
|
36
|
+
| {
|
|
37
|
+
images: Array<DataContent>;
|
|
38
|
+
text?: string;
|
|
39
|
+
mask?: DataContent;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Generates images using an image model.
|
|
44
|
+
*
|
|
45
|
+
* @param model - The image model to use.
|
|
46
|
+
* @param prompt - The prompt that should be used to generate the image.
|
|
47
|
+
* @param n - Number of images to generate. Default: 1.
|
|
48
|
+
* @param maxImagesPerCall - Maximum number of images to generate in a single API call.
|
|
49
|
+
* @param size - Size of the images to generate. Must have the format `{width}x{height}`.
|
|
50
|
+
* @param aspectRatio - Aspect ratio of the images to generate. Must have the format `{width}:{height}`.
|
|
51
|
+
* @param seed - Seed for the image generation.
|
|
52
|
+
* @param providerOptions - Additional provider-specific options that are passed through to the provider
|
|
53
|
+
* as body parameters.
|
|
54
|
+
* @param maxRetries - Maximum number of retries. Set to 0 to disable retries. Default: 2.
|
|
55
|
+
* @param abortSignal - An optional abort signal that can be used to cancel the call.
|
|
56
|
+
* @param headers - Additional HTTP headers to be sent with the request. Only applicable for HTTP-based providers.
|
|
57
|
+
*
|
|
58
|
+
* @returns A result object that contains the generated images.
|
|
59
|
+
*/
|
|
60
|
+
export async function generateImage({
|
|
61
|
+
model: modelArg,
|
|
62
|
+
prompt: promptArg,
|
|
63
|
+
n = 1,
|
|
64
|
+
maxImagesPerCall,
|
|
65
|
+
size,
|
|
66
|
+
aspectRatio,
|
|
67
|
+
seed,
|
|
68
|
+
providerOptions,
|
|
69
|
+
maxRetries: maxRetriesArg,
|
|
70
|
+
abortSignal,
|
|
71
|
+
headers,
|
|
72
|
+
}: {
|
|
73
|
+
/**
|
|
74
|
+
* The image model to use.
|
|
75
|
+
*/
|
|
76
|
+
model: ImageModel;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* The prompt that should be used to generate the image.
|
|
80
|
+
*/
|
|
81
|
+
prompt: GenerateImagePrompt;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Number of images to generate.
|
|
85
|
+
*/
|
|
86
|
+
n?: number;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Maximum number of images to generate in a single API call. If not provided, the model's default will be used.
|
|
90
|
+
*/
|
|
91
|
+
maxImagesPerCall?: number;
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Size of the images to generate. Must have the format `{width}x{height}`. If not provided, the default size will be used.
|
|
95
|
+
*/
|
|
96
|
+
size?: `${number}x${number}`;
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Aspect ratio of the images to generate. Must have the format `{width}:{height}`. If not provided, the default aspect ratio will be used.
|
|
100
|
+
*/
|
|
101
|
+
aspectRatio?: `${number}:${number}`;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Seed for the image generation. If not provided, the default seed will be used.
|
|
105
|
+
*/
|
|
106
|
+
seed?: number;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Additional provider-specific options that are passed through to the provider
|
|
110
|
+
* as body parameters.
|
|
111
|
+
*
|
|
112
|
+
* The outer record is keyed by the provider name, and the inner
|
|
113
|
+
* record is keyed by the provider-specific metadata key.
|
|
114
|
+
* ```ts
|
|
115
|
+
* {
|
|
116
|
+
* "openai": {
|
|
117
|
+
* "style": "vivid"
|
|
118
|
+
* }
|
|
119
|
+
* }
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
providerOptions?: ProviderOptions;
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Maximum number of retries per image model call. Set to 0 to disable retries.
|
|
126
|
+
*
|
|
127
|
+
* @default 2
|
|
128
|
+
*/
|
|
129
|
+
maxRetries?: number;
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Abort signal.
|
|
133
|
+
*/
|
|
134
|
+
abortSignal?: AbortSignal;
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Additional headers to include in the request.
|
|
138
|
+
* Only applicable for HTTP-based providers.
|
|
139
|
+
*/
|
|
140
|
+
headers?: Record<string, string>;
|
|
141
|
+
}): Promise<GenerateImageResult> {
|
|
142
|
+
const model = resolveImageModel(modelArg);
|
|
143
|
+
|
|
144
|
+
const headersWithUserAgent = withUserAgentSuffix(
|
|
145
|
+
headers ?? {},
|
|
146
|
+
`ai/${VERSION}`,
|
|
147
|
+
);
|
|
148
|
+
|
|
149
|
+
const { retry } = prepareRetries({
|
|
150
|
+
maxRetries: maxRetriesArg,
|
|
151
|
+
abortSignal,
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
// default to 1 if the model has not specified limits on
|
|
155
|
+
// how many images can be generated in a single call
|
|
156
|
+
const maxImagesPerCallWithDefault =
|
|
157
|
+
maxImagesPerCall ?? (await invokeModelMaxImagesPerCall(model)) ?? 1;
|
|
158
|
+
|
|
159
|
+
// parallelize calls to the model:
|
|
160
|
+
const callCount = Math.ceil(n / maxImagesPerCallWithDefault);
|
|
161
|
+
const callImageCounts = Array.from({ length: callCount }, (_, i) => {
|
|
162
|
+
if (i < callCount - 1) {
|
|
163
|
+
return maxImagesPerCallWithDefault;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
const remainder = n % maxImagesPerCallWithDefault;
|
|
167
|
+
return remainder === 0 ? maxImagesPerCallWithDefault : remainder;
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
const results = await Promise.all(
|
|
171
|
+
callImageCounts.map(
|
|
172
|
+
async callImageCount =>
|
|
173
|
+
await retry(() => {
|
|
174
|
+
const { prompt, files, mask } = normalizePrompt(promptArg);
|
|
175
|
+
|
|
176
|
+
return model.doGenerate({
|
|
177
|
+
prompt,
|
|
178
|
+
files,
|
|
179
|
+
mask,
|
|
180
|
+
n: callImageCount,
|
|
181
|
+
abortSignal,
|
|
182
|
+
headers: headersWithUserAgent,
|
|
183
|
+
size,
|
|
184
|
+
aspectRatio,
|
|
185
|
+
seed,
|
|
186
|
+
providerOptions: providerOptions ?? {},
|
|
187
|
+
});
|
|
188
|
+
}),
|
|
189
|
+
),
|
|
190
|
+
);
|
|
191
|
+
|
|
192
|
+
// collect result images, warnings, and response metadata
|
|
193
|
+
const images: Array<DefaultGeneratedFile> = [];
|
|
194
|
+
const warnings: Array<Warning> = [];
|
|
195
|
+
const responses: Array<ImageModelResponseMetadata> = [];
|
|
196
|
+
const providerMetadata: ImageModelV4ProviderMetadata = {};
|
|
197
|
+
let totalUsage: ImageModelUsage = {
|
|
198
|
+
inputTokens: undefined,
|
|
199
|
+
outputTokens: undefined,
|
|
200
|
+
totalTokens: undefined,
|
|
201
|
+
};
|
|
202
|
+
for (const result of results) {
|
|
203
|
+
images.push(
|
|
204
|
+
...result.images.map(
|
|
205
|
+
image =>
|
|
206
|
+
new DefaultGeneratedFile({
|
|
207
|
+
data: image,
|
|
208
|
+
mediaType:
|
|
209
|
+
detectMediaType({
|
|
210
|
+
data: image,
|
|
211
|
+
signatures: imageMediaTypeSignatures,
|
|
212
|
+
}) ?? 'image/png',
|
|
213
|
+
}),
|
|
214
|
+
),
|
|
215
|
+
);
|
|
216
|
+
warnings.push(...result.warnings);
|
|
217
|
+
|
|
218
|
+
if (result.usage != null) {
|
|
219
|
+
totalUsage = addImageModelUsage(totalUsage, result.usage);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
if (result.providerMetadata) {
|
|
223
|
+
for (const [providerName, metadata] of Object.entries<{
|
|
224
|
+
images: unknown;
|
|
225
|
+
}>(result.providerMetadata)) {
|
|
226
|
+
if (providerName === 'gateway') {
|
|
227
|
+
const currentEntry = providerMetadata[providerName];
|
|
228
|
+
if (currentEntry != null && typeof currentEntry === 'object') {
|
|
229
|
+
providerMetadata[providerName] = {
|
|
230
|
+
...(currentEntry as object),
|
|
231
|
+
...metadata,
|
|
232
|
+
} as ImageModelV4ProviderMetadata[string];
|
|
233
|
+
} else {
|
|
234
|
+
providerMetadata[providerName] =
|
|
235
|
+
metadata as ImageModelV4ProviderMetadata[string];
|
|
236
|
+
}
|
|
237
|
+
const imagesValue = (
|
|
238
|
+
providerMetadata[providerName] as { images?: unknown }
|
|
239
|
+
).images;
|
|
240
|
+
if (Array.isArray(imagesValue) && imagesValue.length === 0) {
|
|
241
|
+
delete (providerMetadata[providerName] as { images?: unknown })
|
|
242
|
+
.images;
|
|
243
|
+
}
|
|
244
|
+
} else {
|
|
245
|
+
providerMetadata[providerName] ??= { images: [] };
|
|
246
|
+
providerMetadata[providerName].images.push(
|
|
247
|
+
...result.providerMetadata[providerName].images,
|
|
248
|
+
);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
responses.push(result.response);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
logWarnings({ warnings, provider: model.provider, model: model.modelId });
|
|
257
|
+
|
|
258
|
+
if (!images.length) {
|
|
259
|
+
throw new NoImageGeneratedError({ responses });
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
return new DefaultGenerateImageResult({
|
|
263
|
+
images,
|
|
264
|
+
warnings,
|
|
265
|
+
responses,
|
|
266
|
+
providerMetadata,
|
|
267
|
+
usage: totalUsage,
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
class DefaultGenerateImageResult implements GenerateImageResult {
|
|
272
|
+
readonly images: Array<GeneratedFile>;
|
|
273
|
+
readonly warnings: Array<Warning>;
|
|
274
|
+
readonly responses: Array<ImageModelResponseMetadata>;
|
|
275
|
+
readonly providerMetadata: ImageModelV4ProviderMetadata;
|
|
276
|
+
readonly usage: ImageModelUsage;
|
|
277
|
+
|
|
278
|
+
constructor(options: {
|
|
279
|
+
images: Array<GeneratedFile>;
|
|
280
|
+
warnings: Array<Warning>;
|
|
281
|
+
responses: Array<ImageModelResponseMetadata>;
|
|
282
|
+
providerMetadata: ImageModelV4ProviderMetadata;
|
|
283
|
+
usage: ImageModelUsage;
|
|
284
|
+
}) {
|
|
285
|
+
this.images = options.images;
|
|
286
|
+
this.warnings = options.warnings;
|
|
287
|
+
this.responses = options.responses;
|
|
288
|
+
this.providerMetadata = options.providerMetadata;
|
|
289
|
+
this.usage = options.usage;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
get image() {
|
|
293
|
+
return this.images[0];
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
async function invokeModelMaxImagesPerCall(model: ImageModelV4) {
|
|
298
|
+
const isFunction = model.maxImagesPerCall instanceof Function;
|
|
299
|
+
|
|
300
|
+
if (!isFunction) {
|
|
301
|
+
return model.maxImagesPerCall;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
return model.maxImagesPerCall({
|
|
305
|
+
modelId: model.modelId,
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
function normalizePrompt(
|
|
310
|
+
prompt: GenerateImagePrompt,
|
|
311
|
+
): Pick<ImageModelV4CallOptions, 'prompt' | 'files' | 'mask'> {
|
|
312
|
+
if (typeof prompt === 'string') {
|
|
313
|
+
return { prompt, files: undefined, mask: undefined };
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
return {
|
|
317
|
+
prompt: prompt.text,
|
|
318
|
+
files: prompt.images.map(toImageModelV4File),
|
|
319
|
+
mask: prompt.mask ? toImageModelV4File(prompt.mask) : undefined,
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
function toImageModelV4File(dataContent: DataContent): ImageModelV4File {
|
|
324
|
+
if (typeof dataContent === 'string' && dataContent.startsWith('http')) {
|
|
325
|
+
return {
|
|
326
|
+
type: 'url',
|
|
327
|
+
url: dataContent,
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
// Handle data URLs
|
|
332
|
+
if (typeof dataContent === 'string' && dataContent.startsWith('data:')) {
|
|
333
|
+
const { mediaType: dataUrlMediaType, base64Content } =
|
|
334
|
+
splitDataUrl(dataContent);
|
|
335
|
+
|
|
336
|
+
if (base64Content != null) {
|
|
337
|
+
const uint8Data = convertBase64ToUint8Array(base64Content);
|
|
338
|
+
return {
|
|
339
|
+
type: 'file',
|
|
340
|
+
data: uint8Data,
|
|
341
|
+
mediaType:
|
|
342
|
+
dataUrlMediaType ||
|
|
343
|
+
detectMediaType({
|
|
344
|
+
data: uint8Data,
|
|
345
|
+
signatures: imageMediaTypeSignatures,
|
|
346
|
+
}) ||
|
|
347
|
+
'image/png',
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
const uint8Data = convertDataContentToUint8Array(dataContent);
|
|
353
|
+
return {
|
|
354
|
+
type: 'file',
|
|
355
|
+
data: uint8Data,
|
|
356
|
+
mediaType:
|
|
357
|
+
detectMediaType({
|
|
358
|
+
data: uint8Data,
|
|
359
|
+
signatures: imageMediaTypeSignatures,
|
|
360
|
+
}) || 'image/png',
|
|
361
|
+
};
|
|
362
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CallWarning,
|
|
3
|
+
FinishReason,
|
|
4
|
+
LanguageModelRequestMetadata,
|
|
5
|
+
LanguageModelResponseMetadata,
|
|
6
|
+
ProviderMetadata,
|
|
7
|
+
} from '../types';
|
|
8
|
+
import { LanguageModelUsage } from '../types/usage';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The result of a `generateObject` call.
|
|
12
|
+
*/
|
|
13
|
+
export interface GenerateObjectResult<OBJECT> {
|
|
14
|
+
/**
|
|
15
|
+
* The generated object (typed according to the schema).
|
|
16
|
+
*/
|
|
17
|
+
readonly object: OBJECT;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The reasoning that was used to generate the object.
|
|
21
|
+
* Concatenated from all reasoning parts.
|
|
22
|
+
*/
|
|
23
|
+
readonly reasoning: string | undefined;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* The reason why the generation finished.
|
|
27
|
+
*/
|
|
28
|
+
readonly finishReason: FinishReason;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* The token usage of the generated response.
|
|
32
|
+
*/
|
|
33
|
+
readonly usage: LanguageModelUsage;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Warnings from the model provider (e.g. unsupported settings).
|
|
37
|
+
*/
|
|
38
|
+
readonly warnings: CallWarning[] | undefined;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Additional request information.
|
|
42
|
+
*/
|
|
43
|
+
readonly request: LanguageModelRequestMetadata;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Additional response information.
|
|
47
|
+
*/
|
|
48
|
+
readonly response: LanguageModelResponseMetadata & {
|
|
49
|
+
/**
|
|
50
|
+
* Response body (available only for providers that use HTTP requests).
|
|
51
|
+
*/
|
|
52
|
+
body?: unknown;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Additional provider-specific metadata. They are passed through
|
|
57
|
+
* from the provider to the AI SDK and enable provider-specific
|
|
58
|
+
* results that can be fully encapsulated in the provider.
|
|
59
|
+
*/
|
|
60
|
+
readonly providerMetadata: ProviderMetadata | undefined;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Converts the object to a JSON response.
|
|
64
|
+
* The response will have a status code of 200 and a content type of `application/json; charset=utf-8`.
|
|
65
|
+
*/
|
|
66
|
+
toJsonResponse(init?: ResponseInit): Response;
|
|
67
|
+
}
|