eve 0.65.0 → 0.66.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/README.md +1 -2
- package/dist/src/_virtual/_rolldown/runtime.js +1 -1
- package/dist/src/chunks/{use-eve-agent-BIouJCii.js → use-eve-agent-BUeSjwIk.js} +242 -1
- package/dist/src/chunks/{use-eve-agent-BRvEh9sO.js → use-eve-agent-ydPlURM4.js} +242 -1
- package/dist/src/cli/dev/tui/argument-typeahead.d.ts +36 -0
- package/dist/src/cli/dev/tui/argument-typeahead.js +2 -0
- package/dist/src/cli/dev/tui/blocks.js +1 -1
- package/dist/src/cli/dev/tui/prompt-command-handler.js +1 -1
- package/dist/src/cli/dev/tui/runner.d.ts +3 -0
- package/dist/src/cli/dev/tui/runner.js +1 -1
- package/dist/src/cli/dev/tui/setup-commands.d.ts +2 -8
- package/dist/src/cli/dev/tui/setup-commands.js +1 -2
- package/dist/src/cli/dev/tui/setup-flow.d.ts +0 -3
- package/dist/src/cli/dev/tui/terminal-renderer.d.ts +3 -0
- package/dist/src/cli/dev/tui/terminal-renderer.js +10 -11
- package/dist/src/cli/dev/tui/test/fake-setup-flow-renderer.js +1 -1
- package/dist/src/cli/dev/tui/tui.js +1 -1
- package/dist/src/cli/dev/tui/vercel-trusted-sources-policy.d.ts +1 -1
- package/dist/src/cli/dev/tui/vercel-trusted-sources.js +1 -1
- package/dist/src/cli/invoke/result.d.ts +1 -1
- package/dist/src/cli/invoke/result.js +1 -1
- package/dist/src/cli/telemetry/preference.js +1 -1
- package/dist/src/client/index.d.ts +1 -3
- package/dist/src/client/index.js +1 -1
- package/dist/src/compiled/.vendor-stamp.json +4 -2
- package/dist/src/compiled/@agentclientprotocol/sdk/index.js +2 -51
- package/dist/src/compiled/@ai-sdk/anthropic/index.js +2 -2
- package/dist/src/compiled/@ai-sdk/google/index.js +7 -7
- package/dist/src/compiled/@ai-sdk/mcp/index.js +1 -1
- package/dist/src/compiled/@ai-sdk/openai/index.js +4 -4
- package/dist/src/compiled/@ai-sdk/otel/index.js +1 -1
- package/dist/src/compiled/@cfworker/json-schema/index.d.ts +18 -0
- package/dist/src/compiled/@cfworker/json-schema/index.js +2 -0
- package/dist/src/compiled/@modelcontextprotocol/server/index.js +9 -58
- package/dist/src/compiled/@opentelemetry/api/index.js +1 -1
- package/dist/src/compiled/@opentelemetry/otlp-transformer/index.js +1 -1
- package/dist/src/compiled/@photon-ai/chat-adapter-imessage/index.js +55 -55
- package/dist/src/compiled/@vercel/blob/index.js +14 -36
- package/dist/src/compiled/@vercel/oidc/index.js +6 -28
- package/dist/src/compiled/@vercel/otel/index.js +1 -1
- package/dist/src/compiled/@vercel/sandbox/index.js +13 -13
- package/dist/src/compiled/@vercel/sdk/LICENSE +201 -0
- package/dist/src/compiled/@vercel/sdk/index.d.ts +41 -0
- package/dist/src/compiled/@vercel/sdk/index.js +1 -0
- package/dist/src/compiled/@workflow/core/index.js +1 -1
- package/dist/src/compiled/@workflow/core/private.js +1 -1
- package/dist/src/compiled/@workflow/core/runtime/helpers.js +1 -1
- package/dist/src/compiled/@workflow/core/runtime.js +2 -2
- package/dist/src/compiled/@workflow/core/serialization.js +1 -1
- package/dist/src/compiled/@workflow/core/workflow.js +1 -1
- package/dist/src/compiled/@workflow/errors/index.js +1 -1
- package/dist/src/compiled/@workflow/world-local/index.js +5 -5
- package/dist/src/compiled/@workflow/world-vercel/index.js +16 -16
- package/dist/src/compiled/_chunks/client/core-CspsxXR-.js +52 -0
- package/dist/src/compiled/_chunks/client/rolldown-runtime-DK3Fl9T5.js +1 -0
- package/dist/src/compiled/_chunks/node/auth-Dztlx9pE.js +2 -0
- package/dist/src/compiled/_chunks/workflow/{attribute-changes-DFx4eluc.js → attribute-changes-89Nwz7XW.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{chunk-5MU5Z6L3-CrYztnvh.js → chunk-5MU5Z6L3-z9-dfnHp.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{chunk-NWCAEW5Y-ClfmNvkQ.js → chunk-NWCAEW5Y-8afLJrun.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{dist-C3919PVU.js → dist-C3ZE62yI.js} +3 -3
- package/dist/src/compiled/_chunks/workflow/dist-CNT2vjZ4.js +1 -0
- package/dist/src/compiled/_chunks/workflow/{dist-xTushGCp.js → dist-DtXwQbZr.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{esm-DyLz8Egm.js → esm-DtrPCf49.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{experimental-evaluation-D8_K_Pe9.js → experimental-evaluation-Dm32egEG.js} +2 -2
- package/dist/src/compiled/_chunks/workflow/frames-DnrfSd1P.js +3 -0
- package/dist/src/compiled/_chunks/workflow/{functions-C06vHfWP.js → functions-DpZiBxgQ.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{getMachineId-bsd-WEBNKY2R-DcIEvZzd.js → getMachineId-bsd-WEBNKY2R-D5OkV-EY.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{getMachineId-darwin-LT47KAXP-C4nRhfn9.js → getMachineId-darwin-LT47KAXP-BqwKrkSO.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{getMachineId-linux-LTVQO6VW-BqQf2T4W.js → getMachineId-linux-LTVQO6VW-CJlbJ4KP.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{getMachineId-unsupported-UKWBA27G-oYffWhib.js → getMachineId-unsupported-UKWBA27G-C4Y3-LZG.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{getMachineId-win-NLJKOPY6-CpL96LtN.js → getMachineId-win-NLJKOPY6-CsPs71SE.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{global-DFW-hO6M.js → global-DIlFoH2w.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{helpers-Bw52uyzw.js → helpers-k3zcudWr.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{logger-DFNCa8Nl.js → logger-Bzc8jWWj.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/resume-hook-BmJ263ZR.js +1 -0
- package/dist/src/compiled/_chunks/workflow/{rolldown-runtime-DPpTSio4.js → rolldown-runtime-B_knIduE.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{run-BT6SQv5f.js → run-NLvREued.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{serialization-Cl0SYU0I.js → serialization-HCDeQWcR.js} +2 -2
- package/dist/src/compiled/_chunks/workflow/{signal-exit-B9U6kH7R.js → signal-exit-DZKTacNU.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/sleep-Bi508qmg.js +1 -0
- package/dist/src/compiled/_chunks/workflow/{token-CrFhCmWs.js → token-1wSBbi5N.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{token-U5XEWlVM.js → token-BhlnqoHM.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{token-util-BkqzD0OM.js → token-util-Cm4Ec1Bg.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/token-util-DaeRTzDa.js +5 -0
- package/dist/src/compiled/_chunks/workflow/{wait-until-Dzhr6tzf.js → wait-until-DXLZx3tU.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{wrapper-CKui_eTd.js → wrapper-CzrF_dmI.js} +3 -3
- package/dist/src/compiled/_chunks/workflow/ws-transport-BSM_Cl7a.js +1 -0
- package/dist/src/compiled/jose/index.js +1 -1
- package/dist/src/compiled/zod/index.js +1 -51
- package/dist/src/compiled/zod/v3.js +1 -0
- package/dist/src/compiled/zod/v4/core.js +1 -0
- package/dist/src/compiled/zod-validation-error/index.js +1 -1
- package/dist/src/compiler/extension-compatibility.d.ts +20 -14
- package/dist/src/compiler/extension-compatibility.js +1 -1
- package/dist/src/context/build-base-tool-context.js +1 -1
- package/dist/src/context/build-callback-context.js +1 -1
- package/dist/src/context/dynamic-skill-lifecycle.d.ts +3 -3
- package/dist/src/context/dynamic-skill-lifecycle.js +1 -1
- package/dist/src/context/keys.d.ts +18 -4
- package/dist/src/context/keys.js +1 -1
- package/dist/src/context/session-context.d.ts +5 -4
- package/dist/src/execution/dynamic-workflow/tool.js +1 -1
- package/dist/src/execution/route-child-delivery.js +1 -1
- package/dist/src/execution/sandbox/bindings/docker-templates.d.ts +6 -0
- package/dist/src/execution/sandbox/bindings/docker-templates.js +1 -1
- package/dist/src/execution/sandbox/bindings/docker.d.ts +6 -2
- package/dist/src/execution/sandbox/bindings/docker.js +1 -1
- package/dist/src/execution/sandbox/bindings/just-bash-runtime.d.ts +2 -2
- package/dist/src/execution/sandbox/bindings/just-bash.d.ts +2 -2
- package/dist/src/execution/sandbox/bindings/local-provider-utils.js +1 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.d.ts +7 -2
- package/dist/src/execution/sandbox/bindings/microsandbox.d.ts +6 -2
- package/dist/src/execution/sandbox/bindings/vercel.d.ts +6 -3
- package/dist/src/execution/sandbox/bindings/vercel.js +1 -1
- package/dist/src/execution/sandbox/ensure.js +1 -1
- package/dist/src/execution/sandbox/logging-session.js +2 -2
- package/dist/src/execution/sandbox/provider-host.js +1 -1
- package/dist/src/execution/sandbox/session.d.ts +5 -2
- package/dist/src/execution/sandbox/session.js +1 -1
- package/dist/src/execution/session/event-sink.d.ts +7 -13
- package/dist/src/execution/session/event-sink.js +1 -1
- package/dist/src/execution/session/handoff.d.ts +2 -2
- package/dist/src/execution/session/handoff.js +1 -1
- package/dist/src/execution/session/turn-step.js +1 -1
- package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
- package/dist/src/execution/skills/instructions.d.ts +6 -8
- package/dist/src/execution/skills/instructions.js +2 -2
- package/dist/src/execution/tools/agent-router-workflow.js +1 -1
- package/dist/src/execution/tools/agent-router.d.ts +1 -2
- package/dist/src/execution/tools/agent-router.js +1 -1
- package/dist/src/execution/tools/ask-question-workflow.js +1 -1
- package/dist/src/execution/tools/ask-question.d.ts +17 -18
- package/dist/src/execution/tools/ask-question.js +2 -2
- package/dist/src/execution/tools/connection-search.js +1 -1
- package/dist/src/execution/tools/load-skill.d.ts +9 -5
- package/dist/src/execution/tools/load-skill.js +1 -1
- package/dist/src/execution/tools/sleep-workflow.js +1 -1
- package/dist/src/execution/tools/sleep.d.ts +8 -9
- package/dist/src/execution/tools/sleep.js +1 -1
- package/dist/src/execution/tools/subagent/emit-event-step.d.ts +2 -1
- package/dist/src/execution/tools/subagent/emit-event-step.js +1 -1
- package/dist/src/execution/tools/subagent/task-agent-requests.js +1 -1
- package/dist/src/execution/tools/workflow/body.js +1 -1
- package/dist/src/extensions/code/extension/extension.d.ts +57 -0
- package/dist/src/extensions/code/extension/extension.js +1 -0
- package/dist/src/extensions/code/extension/hooks/authenticate.d.ts +2 -0
- package/dist/src/extensions/code/extension/hooks/authenticate.js +1 -0
- package/dist/src/extensions/code/extension/instructions.md +87 -0
- package/dist/src/extensions/code/extension/lib/command-failure.d.ts +7 -0
- package/dist/src/extensions/code/extension/lib/command-failure.js +2 -0
- package/dist/src/extensions/code/extension/lib/computer-use-driver-source.d.ts +14 -0
- package/dist/src/extensions/code/extension/lib/computer-use-driver-source.js +1309 -0
- package/dist/src/extensions/code/extension/lib/computer-use-sandbox.d.ts +9 -0
- package/dist/src/extensions/code/extension/lib/computer-use-sandbox.js +120 -0
- package/dist/src/extensions/code/extension/lib/computer-use.d.ts +36 -0
- package/dist/src/extensions/code/extension/lib/computer-use.js +78 -0
- package/dist/src/extensions/code/extension/lib/connect-authentication.d.ts +7 -0
- package/dist/src/extensions/code/extension/lib/connect-authentication.js +1 -0
- package/dist/src/extensions/code/extension/lib/credentials.d.ts +13 -0
- package/dist/src/extensions/code/extension/lib/credentials.js +3 -0
- package/dist/src/extensions/code/extension/lib/diagnostics.d.ts +30 -0
- package/dist/src/extensions/code/extension/lib/diagnostics.js +6 -0
- package/dist/src/extensions/code/extension/lib/generated-paths.d.ts +18 -0
- package/dist/src/extensions/code/extension/lib/generated-paths.js +2 -0
- package/dist/src/extensions/code/extension/lib/github-shell-schema.d.ts +11 -0
- package/dist/src/extensions/code/extension/lib/github-shell-schema.js +1 -0
- package/dist/src/extensions/code/extension/lib/github-shell.d.ts +53 -0
- package/dist/src/extensions/code/extension/lib/github-shell.js +1 -0
- package/dist/src/extensions/code/extension/lib/grep-search.d.ts +61 -0
- package/dist/src/extensions/code/extension/lib/grep-search.js +6 -0
- package/dist/src/extensions/code/extension/lib/guidelines.d.ts +25 -0
- package/dist/src/extensions/code/extension/lib/guidelines.js +2 -0
- package/dist/src/extensions/code/extension/lib/patch.d.ts +35 -0
- package/dist/src/extensions/code/extension/lib/patch.js +20 -0
- package/dist/src/extensions/code/extension/lib/prwatch-github.d.ts +70 -0
- package/dist/src/extensions/code/extension/lib/prwatch-github.js +1 -0
- package/dist/src/extensions/code/extension/lib/prwatch-registry.d.ts +27 -0
- package/dist/src/extensions/code/extension/lib/prwatch-registry.js +1 -0
- package/dist/src/extensions/code/extension/lib/prwatch.d.ts +2 -0
- package/dist/src/extensions/code/extension/lib/prwatch.js +1 -0
- package/dist/src/extensions/code/extension/lib/repository-root.d.ts +4 -0
- package/dist/src/extensions/code/extension/lib/repository-root.js +1 -0
- package/dist/src/extensions/code/extension/lib/sandbox.d.ts +12 -0
- package/dist/src/extensions/code/extension/lib/sandbox.js +2 -0
- package/dist/src/extensions/code/extension/lib/shell.d.ts +1 -0
- package/dist/src/extensions/code/extension/lib/shell.js +1 -0
- package/dist/src/extensions/code/extension/lib/signed-commit.d.ts +2 -0
- package/dist/src/extensions/code/extension/lib/signed-commit.js +130 -0
- package/dist/src/extensions/code/extension/lib/tooling.d.ts +27 -0
- package/dist/src/extensions/code/extension/lib/tooling.js +92 -0
- package/dist/src/extensions/code/extension/skills/investigate/SKILL.md +30 -0
- package/dist/src/extensions/code/extension/skills/lookup-agent-run/SKILL.md +29 -0
- package/dist/src/extensions/code/extension/skills/pr/SKILL.md +53 -0
- package/dist/src/extensions/code/extension/skills/review/SKILL.md +21 -0
- package/dist/src/extensions/code/extension/subagents/worker/agent.d.ts +17 -0
- package/dist/src/extensions/code/extension/subagents/worker/agent.js +1 -0
- package/dist/src/extensions/code/extension/subagents/worker/instructions.md +20 -0
- package/dist/src/extensions/code/extension/subagents/worker/sandbox.d.ts +2 -0
- package/dist/src/extensions/code/extension/subagents/worker/sandbox.js +1 -0
- package/dist/src/extensions/code/extension/subagents/worker/tools/glob.d.ts +1 -0
- package/dist/src/extensions/code/extension/subagents/worker/tools/glob.js +1 -0
- package/dist/src/extensions/code/extension/subagents/worker/tools/grep.d.ts +1 -0
- package/dist/src/extensions/code/extension/subagents/worker/tools/grep.js +1 -0
- package/dist/src/extensions/code/extension/subagents/worker/tools/load_skill.d.ts +2 -0
- package/dist/src/extensions/code/extension/subagents/worker/tools/load_skill.js +1 -0
- package/dist/src/extensions/code/extension/subagents/worker/tools/read_file.d.ts +1 -0
- package/dist/src/extensions/code/extension/subagents/worker/tools/read_file.js +1 -0
- package/dist/src/extensions/code/extension/subagents/worker/tools/web_fetch.d.ts +2 -0
- package/dist/src/extensions/code/extension/subagents/worker/tools/web_fetch.js +1 -0
- package/dist/src/extensions/code/extension/subagents/worker/tools/web_search.d.ts +2 -0
- package/dist/src/extensions/code/extension/subagents/worker/tools/web_search.js +1 -0
- package/dist/src/extensions/code/extension/subagents/worker/tools/write_file.d.ts +2 -0
- package/dist/src/extensions/code/extension/subagents/worker/tools/write_file.js +1 -0
- package/dist/src/extensions/code/extension/tools/apply_patch.d.ts +28 -0
- package/dist/src/extensions/code/extension/tools/apply_patch.js +2 -0
- package/dist/src/extensions/code/extension/tools/computer_use.d.ts +400 -0
- package/dist/src/extensions/code/extension/tools/computer_use.js +1 -0
- package/dist/src/extensions/code/extension/tools/gh.d.ts +27 -0
- package/dist/src/extensions/code/extension/tools/gh.js +1 -0
- package/dist/src/extensions/code/extension/tools/grep.d.ts +28 -0
- package/dist/src/extensions/code/extension/tools/grep.js +1 -0
- package/dist/src/extensions/code/tools.d.ts +4 -0
- package/dist/src/extensions/code/tools.js +1 -0
- package/dist/src/harness/compaction.js +1 -1
- package/dist/src/harness/final-output.js +1 -1
- package/dist/src/harness/input-extraction.js +1 -1
- package/dist/src/harness/tool-loop.js +2 -2
- package/dist/src/harness/tools.js +1 -1
- package/dist/src/internal/application/optional-package-import.d.ts +9 -0
- package/dist/src/internal/application/optional-package-import.js +1 -0
- package/dist/src/internal/application/optional-package-install.d.ts +1 -5
- package/dist/src/internal/application/optional-package-install.js +2 -2
- package/dist/src/internal/application/package.js +1 -1
- package/dist/src/node_modules/.pnpm/@vercel_cli-config@0.2.7/node_modules/@vercel/cli-config/dist/index.js +21 -0
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/envpath.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/errors.js +2 -0
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/errutils.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/exec.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/fsutils.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/index.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/lookup.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/safety.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/authorization.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/connector.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/index.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/installation.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/internal/base-url.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/internal/default-scopes.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/internal/env.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/internal/url-validation.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/token.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/auth-errors.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/exchange-vercel-oidc-token.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/get-context.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/get-vercel-oidc-token-sync.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/get-vercel-oidc-token-with-refresh.js +2 -0
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/index.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/oauth.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/token-error.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/token-io.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/token-util.js +2 -0
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/token.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/verify-vercel-oidc-token.js +1 -0
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/version.js +1 -0
- package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/index.js +1 -0
- package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js +1 -0
- package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js +1 -0
- package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js +1 -0
- package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js +1 -0
- package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js +1 -0
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/index.js +1 -0
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/command.js +1 -0
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/error.js +2 -0
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/kill.js +1 -0
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/promise.js +1 -0
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/stdio.js +1 -0
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/stream.js +1 -0
- package/dist/src/node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/buffer-stream.js +1 -0
- package/dist/src/node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/index.js +1 -0
- package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/core.js +1 -0
- package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/main.js +1 -0
- package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/realtime.js +1 -0
- package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/signals.js +1 -0
- package/dist/src/node_modules/.pnpm/is-stream@2.0.1/node_modules/is-stream/index.js +1 -0
- package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js +1 -0
- package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js +1 -0
- package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/index.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/compact/decrypt.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/compact/encrypt.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/flattened/decrypt.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/flattened/encrypt.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/general/decrypt.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/general/encrypt.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwk/embedded.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwk/thumbprint.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwks/local.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwks/remote.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/compact/sign.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/compact/verify.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/flattened/sign.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/flattened/verify.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/general/sign.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/general/verify.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/decrypt.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/encrypt.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/produce.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/sign.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/unsecured.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/verify.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/export.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/generate_key_pair.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/generate_secret.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/import.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/aesgcmkw.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/buffer_utils.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/cek.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_iv_length.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_key_type.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_p2s.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/crypto_key.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/decrypt_key_management.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/encrypt_key_management.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/epoch.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/invalid_key_input.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_disjoint.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_jwk.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_object.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/iv.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/jwt_claims_set.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/private_symbols.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/secs.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/validate_algorithms.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/validate_crit.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/aeskw.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/asn1.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/base64url.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/cbc_tag.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/check_cek_length.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/check_key_length.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/ciphers.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/decrypt.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/digest.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/dsa_digest.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/ecdhes.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/encrypt.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/fetch_jwks.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/generate.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/get_named_curve.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/get_sign_verify_key.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/hmac_digest.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/is_key_like.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/is_key_object.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/jwk_to_key.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/key_to_jwk.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/node_key.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/normalize_key.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/pbes2kw.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/random.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/rsaes.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/runtime.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/sign.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/timing_safe_equal.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/verify.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/webcrypto.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/base64url.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/decode_jwt.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/decode_protected_header.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/errors.js +1 -0
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/runtime.js +1 -0
- package/dist/src/node_modules/.pnpm/merge-stream@2.0.0/node_modules/merge-stream/index.js +1 -0
- package/dist/src/node_modules/.pnpm/mimic-fn@2.1.0/node_modules/mimic-fn/index.js +1 -0
- package/dist/src/node_modules/.pnpm/npm-run-path@4.0.1/node_modules/npm-run-path/index.js +1 -0
- package/dist/src/node_modules/.pnpm/onetime@5.1.2/node_modules/onetime/index.js +1 -0
- package/dist/src/node_modules/.pnpm/path-key@3.1.1/node_modules/path-key/index.js +1 -0
- package/dist/src/node_modules/.pnpm/shebang-command@2.0.0/node_modules/shebang-command/index.js +1 -0
- package/dist/src/node_modules/.pnpm/shebang-regex@3.0.0/node_modules/shebang-regex/index.js +1 -0
- package/dist/src/node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/index.js +1 -0
- package/dist/src/node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/signals.js +1 -0
- package/dist/src/node_modules/.pnpm/strip-final-newline@2.0.0/node_modules/strip-final-newline/index.js +2 -0
- package/dist/src/node_modules/.pnpm/which@2.0.2/node_modules/which/which.js +1 -0
- package/dist/src/public/channels/github/checkout.d.ts +7 -2
- package/dist/src/public/channels/github/checkout.js +1 -1
- package/dist/src/public/channels/github/defaults.js +1 -1
- package/dist/src/public/channels/slack/api-errors.d.ts +33 -0
- package/dist/src/public/channels/slack/api-errors.js +1 -0
- package/dist/src/public/channels/slack/api.js +1 -1
- package/dist/src/public/channels/slack/interaction-cards.js +1 -1
- package/dist/src/public/channels/slack/interactions.js +1 -1
- package/dist/src/public/definitions/sandbox.d.ts +1 -1
- package/dist/src/public/memory/file/provider.js +1 -1
- package/dist/src/public/sandbox/docker.d.ts +7 -0
- package/dist/src/public/sandbox/index.d.ts +1 -1
- package/dist/src/public/sandbox/microsandbox.d.ts +7 -0
- package/dist/src/public/sandbox/vercel.d.ts +7 -0
- package/dist/src/public/skills/index.d.ts +1 -2
- package/dist/src/runtime/connections/mcp-client.d.ts +0 -7
- package/dist/src/runtime/connections/mcp-client.js +1 -1
- package/dist/src/runtime/connections/openapi-client.d.ts +0 -3
- package/dist/src/runtime/connections/openapi-client.js +1 -1
- package/dist/src/runtime/workspace/seed-files.js +1 -1
- package/dist/src/sandbox/providers/docker.d.ts +4 -4
- package/dist/src/sandbox/providers/just-bash.d.ts +2 -2
- package/dist/src/sandbox/providers/microsandbox.d.ts +4 -4
- package/dist/src/sandbox/providers/vercel.d.ts +4 -3
- package/dist/src/sandbox/state.d.ts +2 -0
- package/dist/src/self-modification/config.d.ts +6 -0
- package/dist/src/self-modification/extension/config-schema.d.ts +25 -0
- package/dist/src/self-modification/extension/config-schema.js +1 -0
- package/dist/src/self-modification/extension/extension.d.ts +3 -47
- package/dist/src/self-modification/extension/extension.js +1 -1
- package/dist/src/self-modification/extension/subagents/agent/tools/registry_add.js +1 -1
- package/dist/src/self-modification/git-workspace.d.ts +5 -1
- package/dist/src/self-modification/git.d.ts +5 -1
- package/dist/src/services/dev-client/request-headers.d.ts +1 -1
- package/dist/src/services/dev-client/request-headers.js +1 -1
- package/dist/src/setup/flows/model.d.ts +0 -108
- package/dist/src/setup/flows/model.js +1 -1
- package/dist/src/setup/integrations/discord/api.js +1 -1
- package/dist/src/setup/integrations/discord/connect.js +1 -1
- package/dist/src/setup/integrations/github/connect.js +1 -1
- package/dist/src/setup/integrations/linear/connect.js +1 -1
- package/dist/src/setup/integrations/linq/connect.js +1 -1
- package/dist/src/setup/integrations/photon/connect.js +1 -1
- package/dist/src/setup/integrations/teams/connect.js +1 -1
- package/dist/src/setup/project-resolution.js +1 -1
- package/dist/src/setup/scaffold/create/project.js +1 -1
- package/dist/src/setup/slack-connect.d.ts +1 -1
- package/dist/src/setup/slack-connect.js +1 -1
- package/dist/src/setup/vercel-api-failure.js +1 -1
- package/dist/src/setup/vercel-deployment.js +1 -1
- package/dist/src/setup/vercel-project-api.d.ts +1 -1
- package/dist/src/setup/vercel-project-api.js +1 -1
- package/dist/src/setup/vercel-project-framework.js +1 -1
- package/dist/src/setup/vercel-project.js +0 -0
- package/dist/src/shared/connection-types.d.ts +0 -2
- package/dist/src/shared/sandbox-network-policy.d.ts +5 -4
- package/dist/src/shared/sandbox-session.d.ts +0 -15
- package/dist/src/shared/skill-package.d.ts +3 -0
- package/dist/src/shared/skill-package.js +1 -1
- package/dist/src/svelte/index.js +1 -1
- package/dist/src/svelte/use-eve-agent.js +1 -1
- package/dist/src/tasks/json.d.ts +72 -2
- package/dist/src/tasks/json.js +1 -1
- package/dist/src/tools/framework/agent-contract.d.ts +7 -6
- package/dist/src/tools/framework/agent-contract.js +1 -1
- package/dist/src/tools/framework/agent.d.ts +4 -13
- package/dist/src/tools/framework/task-cancel.d.ts +1 -17
- package/dist/src/tools/framework/task-contract.d.ts +16 -137
- package/dist/src/tools/framework/task-contract.js +1 -1
- package/dist/src/tools/provided/bash.d.ts +11 -12
- package/dist/src/tools/provided/bash.js +1 -1
- package/dist/src/tools/provided/glob.d.ts +13 -14
- package/dist/src/tools/provided/glob.js +1 -1
- package/dist/src/tools/provided/grep.d.ts +17 -18
- package/dist/src/tools/provided/grep.js +1 -1
- package/dist/src/tools/provided/read-file.d.ts +14 -15
- package/dist/src/tools/provided/read-file.js +1 -1
- package/dist/src/tools/provided/web-fetch.d.ts +13 -18
- package/dist/src/tools/provided/web-fetch.js +1 -1
- package/dist/src/tools/provided/workflow.js +1 -1
- package/dist/src/tools/provided/write-file.d.ts +10 -11
- package/dist/src/tools/provided/write-file.js +1 -1
- package/dist/src/tools/schema.d.ts +40 -10
- package/dist/src/tools/schema.js +1 -1
- package/dist/src/vue/index.js +1 -1
- package/dist/src/vue/use-eve-agent.js +1 -1
- package/docs/README.md +1 -1
- package/docs/channels/slack.mdx +1 -1
- package/docs/connections/overview.mdx +1 -1
- package/docs/extensions.md +4 -0
- package/docs/getting-started.mdx +1 -1
- package/docs/guides/deployment/vercel.mdx +6 -0
- package/docs/guides/dev-tui.md +1 -1
- package/docs/guides/dynamic-capabilities.md +2 -0
- package/docs/guides/hooks.md +6 -3
- package/docs/guides/instrumentation/agent-runs.mdx +101 -0
- package/docs/guides/instrumentation/instrumentation.mdx +2 -1
- package/docs/guides/instrumentation/meta.json +1 -1
- package/docs/guides/instrumentation/migration.md +5 -1
- package/docs/guides/instrumentation/otel.mdx +8 -27
- package/docs/guides/self-modification.md +37 -0
- package/docs/guides/session-context.md +11 -13
- package/docs/install-integrations.mdx +1 -1
- package/docs/meta.json +1 -0
- package/docs/reference/cli.md +1 -1
- package/docs/reference/typescript-api.md +1 -2
- package/docs/sandbox/index.mdx +11 -0
- package/docs/skills.mdx +3 -10
- package/docs/subagents/index.mdx +1 -1
- package/docs/tools/overview.mdx +7 -1
- package/docs/tools/workflows.mdx +1 -1
- package/package.json +30 -1
- package/dist/src/cli/dev/tui/model-picker.d.ts +0 -50
- package/dist/src/cli/dev/tui/model-picker.js +0 -1
- package/dist/src/compiled/_chunks/client/errors-Cd0_QQdM.js +0 -2
- package/dist/src/compiled/_chunks/node/auth-DDrvYko5.js +0 -2
- package/dist/src/compiled/_chunks/node/schemas-g-rLPCNX.js +0 -50
- package/dist/src/compiled/_chunks/workflow/coerce-D0oqvQ_w.js +0 -1
- package/dist/src/compiled/_chunks/workflow/dist-DjECvUyK.js +0 -2
- package/dist/src/compiled/_chunks/workflow/frames-D_Q-7A1N.js +0 -3
- package/dist/src/compiled/_chunks/workflow/resume-hook-BhA_nDEV.js +0 -1
- package/dist/src/compiled/_chunks/workflow/schemas-4CmFgxN_.js +0 -50
- package/dist/src/compiled/_chunks/workflow/sleep-DB4AH9-A.js +0 -1
- package/dist/src/compiled/_chunks/workflow/token-util-pP4KRRl0.js +0 -27
- package/dist/src/compiled/_chunks/workflow/ws-transport-BpTMh40s.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/lib/primitives.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/lib/schemas.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/aclaction.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/sdkvalidationerror.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/updateprojectblock.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/updateprojectprojectsbranchmatcher.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/defaultToZeroValue.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/fp.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/primitives.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/rfcdate.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/smartUnion.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/unrecognized.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/index.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/ZodError.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/errors.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/external.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/helpers/errorUtil.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/helpers/parseUtil.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/helpers/typeAliases.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/helpers/util.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/index.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/locales/en.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/types.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/checks.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/coerce.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/compat.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/deep-partial.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/errors.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/external.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/from-json-schema.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/in-out.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/iso.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/parse.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/schemas.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/api.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/checks.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/compile.js +0 -2
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/core.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/doc.js +0 -3
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/errors.js +0 -2
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/index.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/json-schema-generator.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/json-schema-processors.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/json-schema.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/memoizer.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/parse.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/regexes.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/registries.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/schemas.js +0 -46
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/to-json-schema.js +0 -3
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/util.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/versions.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/visit.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ar.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/az.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/be.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/bg.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/bn.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ca.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ckb.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/cs.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/da.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/de.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/el.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/en.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/eo.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/es.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fa.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fi.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fr-CA.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fr.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/gu.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/he.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hi.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hr.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hu.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hy.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/id.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/index.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/is.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/it.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ja.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ka.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/kh.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/km.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/kn.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ko.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/lt.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/mk.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ms.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ne.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/nl.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/nn.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/no.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ota.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/pl.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ps.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/pt-BR.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/pt.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ro.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ru.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/sk.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/sl.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/sv.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ta.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/th.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/tk.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/tr.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ua.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/uk.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ur.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/uz.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/vi.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/yo.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/zh-CN.js +0 -1
- package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/zh-TW.js +0 -1
- package/dist/src/runtime/skills/sandbox-access.d.ts +0 -22
- package/dist/src/runtime/skills/sandbox-access.js +0 -1
- package/dist/src/shared/skill-types.d.ts +0 -22
- package/dist/src/shared/skill-types.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# eve
|
|
2
2
|
|
|
3
|
+
## 0.66.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- da906b6: Breaking: `ctx.getSkill()` and the `SkillHandle` and `SkillFile` types from `eve/skills` are removed. The model still reads skill supporting files with its sandbox tools; if your own tool or hook code needs that data, import it from a module in `lib/` instead. Existing extension builds keep loading unless they call `ctx.getSkill()`.
|
|
8
|
+
- ee286fe: Pass a configured sandbox environment to `ctx.getSandbox(environment)` to preserve its provider-specific session capabilities in the returned eve sandbox handle. The common `SandboxSession` no longer exposes optional `setNetworkPolicy`; use the configured environment when accessing that capability.
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- c541dec: Leave temperature at the model provider's default when generating compaction summaries so providers that reject explicit sampling parameters can compact normally.
|
|
13
|
+
- 1b6366f: Tolerate concurrent Docker sandbox template publication when another Eve application publishes the same deterministic image first.
|
|
14
|
+
- d50a774: Add the `eve/extensions/code` built-in extension for coding agents: mount it with `import code from "eve/extensions/code"` to get `apply_patch`, `gh`, `grep`, computer use, coding skills, and a read-only worker subagent. Sandbox, tool, and PR-watch helpers are exported from `eve/extensions/code/sandbox`, `eve/extensions/code/tools`, and `eve/extensions/code/prwatch`.
|
|
15
|
+
- 23dda94: `subagent.called` and `subagent.completed` hooks can now call `ctx.getSandbox()` for the parent session, and sandbox changes they make are kept for the parent's next turn.
|
|
16
|
+
- 5132625: Add inline, keyboard-navigable catalog completions for `/model` and `/add` in the development TUI.
|
|
17
|
+
- 92505dd: Fix `Cannot read properties of undefined (reading 'push')` failures in turns with MCP tools such as Notion, and with the file-memory tools, when an app installs a different Zod version than eve bundles. Tool schemas now reach the AI SDK only as JSON Schema, MCP and other JSON Schema tools are advertised exactly as published and validated with a standard JSON Schema validator, and the `*_INPUT_SCHEMA` and `*_OUTPUT_SCHEMA` constants from `eve/tools/*` are JSON Schema-backed Standard Schemas instead of Zod objects.
|
|
18
|
+
|
|
19
|
+
eve now ships a single private copy of Zod instead of bundling several. `eve/client` no longer exports `AgentInfoResultSchema`, `HealthResultSchema`, `inputOptionSchema`, `inputRequestKindSchema`, `inputRequestSchema`, or `inputResponseSchema`, and `eve/self-modification` no longer exports `selfModificationConfigSchema`; use the exported types together with `isInputRequest`, `isInputResponse`, and `parseInputResponse`.
|
|
20
|
+
- 136d339: Load optional sandbox provider packages consistently from the application during preparation, start, and resume. Providers installed automatically by `eve dev` can now be used immediately without restarting the development server.
|
|
21
|
+
- da906b6: Dynamic skills no longer start a sandbox to announce or load instructions. Skills that return supporting files are written only when their contents or sandbox change, and a changed package replaces its previous files instead of leaving stale ones behind.
|
|
22
|
+
- 09fed04: The Slack channel's `views.open` and answered-card `chat.update` now go through the channel's own Slack API transport. Slack sees the same calls, and a `views.open` that fails after Slack responds is still logged and acknowledged.
|
|
23
|
+
|
|
24
|
+
A failed `views.open` is now logged as `Slack views.open failed` with the error attached, where it was `Slack views.open returned non-2xx` with a `status` field. Alerts or log queries keyed on either need updating.
|
|
25
|
+
|
|
3
26
|
## 0.65.0
|
|
4
27
|
|
|
5
28
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -61,7 +61,7 @@ Every authored directory has a typed helper. Import each from the matching subpa
|
|
|
61
61
|
| `defineInstructions(...)` | `eve/instructions` | `instructions.ts` (or `instructions.md`) |
|
|
62
62
|
| `defineTool(...)`, `defineDynamic(...)`, `disableTool(...)` | `eve/tools` | `tools/<name>.ts` |
|
|
63
63
|
| `bash`, `readFile`, `writeFile`, and other provided definitions | `eve/tools/<name>` | `tools/<name>.ts` |
|
|
64
|
-
| `defineSkill(...)
|
|
64
|
+
| `defineSkill(...)` | `eve/skills` | `skills/<name>.ts` (or `skills/<name>.md`) |
|
|
65
65
|
| `defineHook(...)` | `eve/hooks` | `hooks/<slug>.ts` |
|
|
66
66
|
| `defineChannel(...)`, `POST`, `GET` | `eve/channels` | `channels/<name>.ts` |
|
|
67
67
|
| `eveChannel(...)`, `slackChannel(...)`, `vercelOidc(...)` | `eve/channels/eve`, `/slack`, `/auth` | reused from `channels/<name>.ts` |
|
|
@@ -73,7 +73,6 @@ Runtime accessors live on the subpath that owns the concern:
|
|
|
73
73
|
|
|
74
74
|
- `getSession()` — current session, turn, auth, parent lineage (`eve/context`)
|
|
75
75
|
- `getSandbox()` — live sandbox handle for the current agent (`eve/sandbox`)
|
|
76
|
-
- `getSkill(identifier)` — handle for a named skill visible to the current agent (`eve/skills`)
|
|
77
76
|
- `getContext(key)`, `requireContext(key)`, `hasContext(key)`, `setContext(key)`, `ensureContext(key, factory)` — unified context helpers (`eve/context`)
|
|
78
77
|
|
|
79
78
|
The complete API reference, including types and lower-level runtime primitives, is in the [TypeScript API Reference](https://eve.dev/docs/reference/typescript-api).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"node:module";var __defProp=Object.defineProperty,
|
|
1
|
+
import"node:module";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__commonJSMin=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),__copyProps=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=__getOwnPropNames(t),a=0,o=i.length,s;a<o;a++)s=i[a],!__hasOwnProp.call(e,s)&&s!==n&&__defProp(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=__getOwnPropDesc(t,s))||r.enumerable});return e},__toESM=(e,t,n)=>(n=e==null?{}:__create(__getProtoOf(e)),__copyProps(t||!e||!e.__esModule||!__hasOwnProp.call(e,`default`)?__defProp(n,`default`,{value:e,enumerable:!0}):n,e));export{__commonJSMin,__toESM};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { computed, onScopeDispose, shallowRef } from "vue";
|
|
2
2
|
import { z } from "#compiled/zod/index.js";
|
|
3
3
|
import { asSchema } from "ai";
|
|
4
|
+
import { Validator } from "#compiled/@cfworker/json-schema/index.js";
|
|
4
5
|
|
|
5
6
|
//#region src/protocol/routes.ts
|
|
6
7
|
const EVE_ROUTE_PREFIX = "/eve/v1";
|
|
@@ -1436,7 +1437,22 @@ const JSON_SCHEMA_TARGET = "draft-07";
|
|
|
1436
1437
|
function serializeOutputSchema(source) {
|
|
1437
1438
|
return serializeSchema(source, "output");
|
|
1438
1439
|
}
|
|
1439
|
-
|
|
1440
|
+
function defineJsonSchema(schema, check) {
|
|
1441
|
+
const emit = () => structuredClone(schema);
|
|
1442
|
+
const toolSchema = { "~standard": {
|
|
1443
|
+
version: 1,
|
|
1444
|
+
vendor: "eve",
|
|
1445
|
+
validate: createJsonSchemaValidator(schema, check),
|
|
1446
|
+
jsonSchema: {
|
|
1447
|
+
input: emit,
|
|
1448
|
+
output: emit
|
|
1449
|
+
}
|
|
1450
|
+
} };
|
|
1451
|
+
plainJsonSchemas.add(toolSchema);
|
|
1452
|
+
return toolSchema;
|
|
1453
|
+
}
|
|
1454
|
+
const plainJsonSchemas = /* @__PURE__ */ new WeakSet();
|
|
1455
|
+
const UNSPECIFIED_INPUT_SCHEMA = defineJsonSchema({});
|
|
1440
1456
|
function serializeSchema(source, direction) {
|
|
1441
1457
|
if (source === null || source === void 0) return source;
|
|
1442
1458
|
return toJsonObject(source, direction);
|
|
@@ -1463,6 +1479,231 @@ function getStandardSchemaProperties(value) {
|
|
|
1463
1479
|
const standard = value["~standard"];
|
|
1464
1480
|
return typeof standard === "object" && standard !== null ? standard : void 0;
|
|
1465
1481
|
}
|
|
1482
|
+
function createJsonSchemaValidator(schema, check) {
|
|
1483
|
+
let validator;
|
|
1484
|
+
let warned = false;
|
|
1485
|
+
const passThrough = (value, reason) => {
|
|
1486
|
+
if (!warned) {
|
|
1487
|
+
warned = true;
|
|
1488
|
+
console.warn(`[eve] Tool schema cannot validate values locally; passing them through unvalidated: ${reason}`);
|
|
1489
|
+
}
|
|
1490
|
+
return { value };
|
|
1491
|
+
};
|
|
1492
|
+
return (value) => {
|
|
1493
|
+
if (validator === void 0) {
|
|
1494
|
+
const built = buildValidator(schema);
|
|
1495
|
+
if (typeof built === "string") {
|
|
1496
|
+
validator = null;
|
|
1497
|
+
return passThrough(value, built);
|
|
1498
|
+
}
|
|
1499
|
+
validator = built;
|
|
1500
|
+
}
|
|
1501
|
+
if (validator === null) return { value };
|
|
1502
|
+
let result;
|
|
1503
|
+
try {
|
|
1504
|
+
result = validator.validate(value);
|
|
1505
|
+
} catch (error) {
|
|
1506
|
+
if (value === void 0) return { issues: [{ message: "Expected a JSON value." }] };
|
|
1507
|
+
return passThrough(value, toErrorMessage(error));
|
|
1508
|
+
}
|
|
1509
|
+
if (!result.valid) return { issues: toIssues(result.errors) };
|
|
1510
|
+
const filled = applyDefaults(schema, schema, value);
|
|
1511
|
+
const message = check?.(filled);
|
|
1512
|
+
return message === void 0 ? { value: filled } : { issues: [{ message }] };
|
|
1513
|
+
};
|
|
1514
|
+
}
|
|
1515
|
+
function applyDefaults(root, schema, value) {
|
|
1516
|
+
let result = value;
|
|
1517
|
+
for (const node of followRefs(root, schema)) {
|
|
1518
|
+
const { items, properties } = node;
|
|
1519
|
+
if (isObject(result) && isObject(properties)) result = fillProperties(root, properties, result);
|
|
1520
|
+
else if (Array.isArray(result) && isObject(items)) {
|
|
1521
|
+
const list = result;
|
|
1522
|
+
const next = list.map((item) => applyDefaults(root, items, item));
|
|
1523
|
+
if (next.some((item, index) => item !== list[index])) result = next;
|
|
1524
|
+
}
|
|
1525
|
+
}
|
|
1526
|
+
return result;
|
|
1527
|
+
}
|
|
1528
|
+
function fillProperties(root, properties, value) {
|
|
1529
|
+
let result = value;
|
|
1530
|
+
for (const [key, property] of Object.entries(properties)) {
|
|
1531
|
+
const current = Object.hasOwn(value, key) ? value[key] : void 0;
|
|
1532
|
+
const next = current === void 0 ? findDefault(root, property) : applyDefaults(root, property, current);
|
|
1533
|
+
if (next === current) continue;
|
|
1534
|
+
if (result === value) result = { ...value };
|
|
1535
|
+
result[key] = next;
|
|
1536
|
+
}
|
|
1537
|
+
return result;
|
|
1538
|
+
}
|
|
1539
|
+
function findDefault(root, schema) {
|
|
1540
|
+
for (const node of followRefs(root, schema)) if ("default" in node) return structuredClone(node.default);
|
|
1541
|
+
}
|
|
1542
|
+
function* followRefs(root, schema) {
|
|
1543
|
+
const seen = /* @__PURE__ */ new Set();
|
|
1544
|
+
let node = schema;
|
|
1545
|
+
while (isObject(node) && !seen.has(node)) {
|
|
1546
|
+
seen.add(node);
|
|
1547
|
+
yield node;
|
|
1548
|
+
node = resolveLocalRef(root, node.$ref);
|
|
1549
|
+
}
|
|
1550
|
+
}
|
|
1551
|
+
function resolveLocalRef(root, ref) {
|
|
1552
|
+
if (typeof ref !== "string" || ref !== "#" && !ref.startsWith("#/")) return void 0;
|
|
1553
|
+
let node = root;
|
|
1554
|
+
for (const segment of decodePointer(ref)) {
|
|
1555
|
+
if (typeof node !== "object" || node === null || !Object.hasOwn(node, segment)) return;
|
|
1556
|
+
node = node[segment];
|
|
1557
|
+
}
|
|
1558
|
+
return node;
|
|
1559
|
+
}
|
|
1560
|
+
function buildValidator(schema) {
|
|
1561
|
+
try {
|
|
1562
|
+
const copy = structuredClone(schema);
|
|
1563
|
+
return prepareForValidation(copy) ?? new Validator(copy, "2020-12", false);
|
|
1564
|
+
} catch (error) {
|
|
1565
|
+
return toErrorMessage(error);
|
|
1566
|
+
}
|
|
1567
|
+
}
|
|
1568
|
+
const JSON_TYPES = /* @__PURE__ */ new Set([
|
|
1569
|
+
"array",
|
|
1570
|
+
"boolean",
|
|
1571
|
+
"integer",
|
|
1572
|
+
"null",
|
|
1573
|
+
"number",
|
|
1574
|
+
"object",
|
|
1575
|
+
"string"
|
|
1576
|
+
]);
|
|
1577
|
+
const EXCLUSIVE_BOUNDS = [["exclusiveMinimum", "minimum"], ["exclusiveMaximum", "maximum"]];
|
|
1578
|
+
const SUBSCHEMA_KEYWORDS = [
|
|
1579
|
+
"additionalItems",
|
|
1580
|
+
"additionalProperties",
|
|
1581
|
+
"contains",
|
|
1582
|
+
"else",
|
|
1583
|
+
"if",
|
|
1584
|
+
"not",
|
|
1585
|
+
"propertyNames",
|
|
1586
|
+
"then",
|
|
1587
|
+
"unevaluatedItems",
|
|
1588
|
+
"unevaluatedProperties"
|
|
1589
|
+
];
|
|
1590
|
+
const SUBSCHEMA_LIST_KEYWORDS = [
|
|
1591
|
+
"allOf",
|
|
1592
|
+
"anyOf",
|
|
1593
|
+
"oneOf",
|
|
1594
|
+
"prefixItems"
|
|
1595
|
+
];
|
|
1596
|
+
const SUBSCHEMA_MAP_KEYWORDS = [
|
|
1597
|
+
"$defs",
|
|
1598
|
+
"definitions",
|
|
1599
|
+
"dependencies",
|
|
1600
|
+
"dependentSchemas",
|
|
1601
|
+
"patternProperties",
|
|
1602
|
+
"properties"
|
|
1603
|
+
];
|
|
1604
|
+
function prepareForValidation(schema) {
|
|
1605
|
+
if (typeof schema === "boolean") return void 0;
|
|
1606
|
+
if (typeof schema !== "object" || schema === null || Array.isArray(schema)) return "a subschema is neither an object nor a boolean";
|
|
1607
|
+
const node = schema;
|
|
1608
|
+
delete node.format;
|
|
1609
|
+
for (const [flag, bound] of EXCLUSIVE_BOUNDS) {
|
|
1610
|
+
if (typeof node[flag] !== "boolean") continue;
|
|
1611
|
+
if (node[flag] && typeof node[bound] === "number") {
|
|
1612
|
+
node[flag] = node[bound];
|
|
1613
|
+
delete node[bound];
|
|
1614
|
+
} else delete node[flag];
|
|
1615
|
+
}
|
|
1616
|
+
const { enum: values, pattern, required, type } = node;
|
|
1617
|
+
if (type !== void 0 && !(Array.isArray(type) ? type.every(isJsonType) : isJsonType(type))) return `unsupported type ${JSON.stringify(type)}`;
|
|
1618
|
+
if (values !== void 0 && !Array.isArray(values)) return "`enum` is not an array";
|
|
1619
|
+
if (required !== void 0 && !(Array.isArray(required) && required.every((key) => typeof key === "string"))) return "`required` is not an array of strings";
|
|
1620
|
+
if (pattern !== void 0 && !isRegExpSource(pattern)) return `invalid pattern ${JSON.stringify(pattern)}`;
|
|
1621
|
+
for (const keyword of SUBSCHEMA_KEYWORDS) if (keyword in node) {
|
|
1622
|
+
const problem = prepareForValidation(node[keyword]);
|
|
1623
|
+
if (problem !== void 0) return problem;
|
|
1624
|
+
}
|
|
1625
|
+
const items = node.items;
|
|
1626
|
+
for (const subschema of Array.isArray(items) ? items : items === void 0 ? [] : [items]) {
|
|
1627
|
+
const problem = prepareForValidation(subschema);
|
|
1628
|
+
if (problem !== void 0) return problem;
|
|
1629
|
+
}
|
|
1630
|
+
for (const keyword of SUBSCHEMA_LIST_KEYWORDS) {
|
|
1631
|
+
const list = node[keyword];
|
|
1632
|
+
if (list === void 0) continue;
|
|
1633
|
+
if (!Array.isArray(list)) return `\`${keyword}\` is not an array`;
|
|
1634
|
+
for (const subschema of list) {
|
|
1635
|
+
const problem = prepareForValidation(subschema);
|
|
1636
|
+
if (problem !== void 0) return problem;
|
|
1637
|
+
}
|
|
1638
|
+
}
|
|
1639
|
+
for (const keyword of SUBSCHEMA_MAP_KEYWORDS) {
|
|
1640
|
+
const map = node[keyword];
|
|
1641
|
+
if (map === void 0) continue;
|
|
1642
|
+
if (typeof map !== "object" || map === null || Array.isArray(map)) return `\`${keyword}\` is not an object`;
|
|
1643
|
+
for (const [key, subschema] of Object.entries(map)) {
|
|
1644
|
+
if (keyword === "patternProperties" && !isRegExpSource(key)) return `invalid pattern ${JSON.stringify(key)}`;
|
|
1645
|
+
if (keyword === "dependencies" && Array.isArray(subschema)) continue;
|
|
1646
|
+
const problem = prepareForValidation(subschema);
|
|
1647
|
+
if (problem !== void 0) return problem;
|
|
1648
|
+
}
|
|
1649
|
+
}
|
|
1650
|
+
}
|
|
1651
|
+
function isJsonType(value) {
|
|
1652
|
+
return typeof value === "string" && JSON_TYPES.has(value);
|
|
1653
|
+
}
|
|
1654
|
+
function isRegExpSource(value) {
|
|
1655
|
+
if (typeof value !== "string") return false;
|
|
1656
|
+
try {
|
|
1657
|
+
new RegExp(value, "u");
|
|
1658
|
+
return true;
|
|
1659
|
+
} catch {
|
|
1660
|
+
return false;
|
|
1661
|
+
}
|
|
1662
|
+
}
|
|
1663
|
+
const CLOSED_OBJECT_KEYWORD = /\/(?:additional|unevaluated)Properties$/;
|
|
1664
|
+
function toIssues(errors) {
|
|
1665
|
+
const failures = [];
|
|
1666
|
+
for (let index = 0; index < errors.length; index++) {
|
|
1667
|
+
const unit = errors[index];
|
|
1668
|
+
const rejected = errors[index + 1];
|
|
1669
|
+
if (CLOSED_OBJECT_KEYWORD.test(unit.keywordLocation) && rejected?.keyword === "false") {
|
|
1670
|
+
const key = decodePointer(rejected.instanceLocation).at(-1);
|
|
1671
|
+
failures.push({
|
|
1672
|
+
keyword: "false",
|
|
1673
|
+
location: rejected.instanceLocation,
|
|
1674
|
+
message: `Unrecognized key: ${JSON.stringify(key)}`,
|
|
1675
|
+
object: unit.instanceLocation
|
|
1676
|
+
});
|
|
1677
|
+
index++;
|
|
1678
|
+
} else failures.push({
|
|
1679
|
+
keyword: unit.keyword,
|
|
1680
|
+
location: unit.instanceLocation,
|
|
1681
|
+
message: unit.error
|
|
1682
|
+
});
|
|
1683
|
+
}
|
|
1684
|
+
const relevant = failures.filter((failure) => failure.object === void 0 || !failures.some((other) => other.object === void 0 && (other.location === failure.location || other.location.startsWith(`${failure.location}/`))));
|
|
1685
|
+
return relevant.filter((failure, index) => {
|
|
1686
|
+
const next = relevant[index + 1];
|
|
1687
|
+
if (next === void 0) return true;
|
|
1688
|
+
if (next.location.startsWith(`${failure.location}/`)) return false;
|
|
1689
|
+
return !(failure.keyword === "$ref" && next.location === failure.location);
|
|
1690
|
+
}).map(({ location, message, object }) => {
|
|
1691
|
+
const path = decodePointer(object ?? location);
|
|
1692
|
+
return path.length === 0 ? { message } : {
|
|
1693
|
+
message,
|
|
1694
|
+
path
|
|
1695
|
+
};
|
|
1696
|
+
});
|
|
1697
|
+
}
|
|
1698
|
+
function decodePointer(location) {
|
|
1699
|
+
return location.split("/").slice(1).map((segment) => {
|
|
1700
|
+
let decoded = segment;
|
|
1701
|
+
try {
|
|
1702
|
+
decoded = decodeURIComponent(segment);
|
|
1703
|
+
} catch {}
|
|
1704
|
+
return decoded.replaceAll("~1", "/").replaceAll("~0", "~");
|
|
1705
|
+
});
|
|
1706
|
+
}
|
|
1466
1707
|
|
|
1467
1708
|
//#endregion
|
|
1468
1709
|
//#region src/client/session.ts
|
|
@@ -2,6 +2,7 @@ import { onMount } from "svelte";
|
|
|
2
2
|
import { createSubscriber } from "svelte/reactivity";
|
|
3
3
|
import { z } from "#compiled/zod/index.js";
|
|
4
4
|
import { asSchema } from "ai";
|
|
5
|
+
import { Validator } from "#compiled/@cfworker/json-schema/index.js";
|
|
5
6
|
|
|
6
7
|
//#region src/protocol/routes.ts
|
|
7
8
|
const EVE_ROUTE_PREFIX = "/eve/v1";
|
|
@@ -1437,7 +1438,22 @@ const JSON_SCHEMA_TARGET = "draft-07";
|
|
|
1437
1438
|
function serializeOutputSchema(source) {
|
|
1438
1439
|
return serializeSchema(source, "output");
|
|
1439
1440
|
}
|
|
1440
|
-
|
|
1441
|
+
function defineJsonSchema(schema, check) {
|
|
1442
|
+
const emit = () => structuredClone(schema);
|
|
1443
|
+
const toolSchema = { "~standard": {
|
|
1444
|
+
version: 1,
|
|
1445
|
+
vendor: "eve",
|
|
1446
|
+
validate: createJsonSchemaValidator(schema, check),
|
|
1447
|
+
jsonSchema: {
|
|
1448
|
+
input: emit,
|
|
1449
|
+
output: emit
|
|
1450
|
+
}
|
|
1451
|
+
} };
|
|
1452
|
+
plainJsonSchemas.add(toolSchema);
|
|
1453
|
+
return toolSchema;
|
|
1454
|
+
}
|
|
1455
|
+
const plainJsonSchemas = /* @__PURE__ */ new WeakSet();
|
|
1456
|
+
const UNSPECIFIED_INPUT_SCHEMA = defineJsonSchema({});
|
|
1441
1457
|
function serializeSchema(source, direction) {
|
|
1442
1458
|
if (source === null || source === void 0) return source;
|
|
1443
1459
|
return toJsonObject(source, direction);
|
|
@@ -1464,6 +1480,231 @@ function getStandardSchemaProperties(value) {
|
|
|
1464
1480
|
const standard = value["~standard"];
|
|
1465
1481
|
return typeof standard === "object" && standard !== null ? standard : void 0;
|
|
1466
1482
|
}
|
|
1483
|
+
function createJsonSchemaValidator(schema, check) {
|
|
1484
|
+
let validator;
|
|
1485
|
+
let warned = false;
|
|
1486
|
+
const passThrough = (value, reason) => {
|
|
1487
|
+
if (!warned) {
|
|
1488
|
+
warned = true;
|
|
1489
|
+
console.warn(`[eve] Tool schema cannot validate values locally; passing them through unvalidated: ${reason}`);
|
|
1490
|
+
}
|
|
1491
|
+
return { value };
|
|
1492
|
+
};
|
|
1493
|
+
return (value) => {
|
|
1494
|
+
if (validator === void 0) {
|
|
1495
|
+
const built = buildValidator(schema);
|
|
1496
|
+
if (typeof built === "string") {
|
|
1497
|
+
validator = null;
|
|
1498
|
+
return passThrough(value, built);
|
|
1499
|
+
}
|
|
1500
|
+
validator = built;
|
|
1501
|
+
}
|
|
1502
|
+
if (validator === null) return { value };
|
|
1503
|
+
let result;
|
|
1504
|
+
try {
|
|
1505
|
+
result = validator.validate(value);
|
|
1506
|
+
} catch (error) {
|
|
1507
|
+
if (value === void 0) return { issues: [{ message: "Expected a JSON value." }] };
|
|
1508
|
+
return passThrough(value, toErrorMessage(error));
|
|
1509
|
+
}
|
|
1510
|
+
if (!result.valid) return { issues: toIssues(result.errors) };
|
|
1511
|
+
const filled = applyDefaults(schema, schema, value);
|
|
1512
|
+
const message = check?.(filled);
|
|
1513
|
+
return message === void 0 ? { value: filled } : { issues: [{ message }] };
|
|
1514
|
+
};
|
|
1515
|
+
}
|
|
1516
|
+
function applyDefaults(root, schema, value) {
|
|
1517
|
+
let result = value;
|
|
1518
|
+
for (const node of followRefs(root, schema)) {
|
|
1519
|
+
const { items, properties } = node;
|
|
1520
|
+
if (isObject(result) && isObject(properties)) result = fillProperties(root, properties, result);
|
|
1521
|
+
else if (Array.isArray(result) && isObject(items)) {
|
|
1522
|
+
const list = result;
|
|
1523
|
+
const next = list.map((item) => applyDefaults(root, items, item));
|
|
1524
|
+
if (next.some((item, index) => item !== list[index])) result = next;
|
|
1525
|
+
}
|
|
1526
|
+
}
|
|
1527
|
+
return result;
|
|
1528
|
+
}
|
|
1529
|
+
function fillProperties(root, properties, value) {
|
|
1530
|
+
let result = value;
|
|
1531
|
+
for (const [key, property] of Object.entries(properties)) {
|
|
1532
|
+
const current = Object.hasOwn(value, key) ? value[key] : void 0;
|
|
1533
|
+
const next = current === void 0 ? findDefault(root, property) : applyDefaults(root, property, current);
|
|
1534
|
+
if (next === current) continue;
|
|
1535
|
+
if (result === value) result = { ...value };
|
|
1536
|
+
result[key] = next;
|
|
1537
|
+
}
|
|
1538
|
+
return result;
|
|
1539
|
+
}
|
|
1540
|
+
function findDefault(root, schema) {
|
|
1541
|
+
for (const node of followRefs(root, schema)) if ("default" in node) return structuredClone(node.default);
|
|
1542
|
+
}
|
|
1543
|
+
function* followRefs(root, schema) {
|
|
1544
|
+
const seen = /* @__PURE__ */ new Set();
|
|
1545
|
+
let node = schema;
|
|
1546
|
+
while (isObject(node) && !seen.has(node)) {
|
|
1547
|
+
seen.add(node);
|
|
1548
|
+
yield node;
|
|
1549
|
+
node = resolveLocalRef(root, node.$ref);
|
|
1550
|
+
}
|
|
1551
|
+
}
|
|
1552
|
+
function resolveLocalRef(root, ref) {
|
|
1553
|
+
if (typeof ref !== "string" || ref !== "#" && !ref.startsWith("#/")) return void 0;
|
|
1554
|
+
let node = root;
|
|
1555
|
+
for (const segment of decodePointer(ref)) {
|
|
1556
|
+
if (typeof node !== "object" || node === null || !Object.hasOwn(node, segment)) return;
|
|
1557
|
+
node = node[segment];
|
|
1558
|
+
}
|
|
1559
|
+
return node;
|
|
1560
|
+
}
|
|
1561
|
+
function buildValidator(schema) {
|
|
1562
|
+
try {
|
|
1563
|
+
const copy = structuredClone(schema);
|
|
1564
|
+
return prepareForValidation(copy) ?? new Validator(copy, "2020-12", false);
|
|
1565
|
+
} catch (error) {
|
|
1566
|
+
return toErrorMessage(error);
|
|
1567
|
+
}
|
|
1568
|
+
}
|
|
1569
|
+
const JSON_TYPES = /* @__PURE__ */ new Set([
|
|
1570
|
+
"array",
|
|
1571
|
+
"boolean",
|
|
1572
|
+
"integer",
|
|
1573
|
+
"null",
|
|
1574
|
+
"number",
|
|
1575
|
+
"object",
|
|
1576
|
+
"string"
|
|
1577
|
+
]);
|
|
1578
|
+
const EXCLUSIVE_BOUNDS = [["exclusiveMinimum", "minimum"], ["exclusiveMaximum", "maximum"]];
|
|
1579
|
+
const SUBSCHEMA_KEYWORDS = [
|
|
1580
|
+
"additionalItems",
|
|
1581
|
+
"additionalProperties",
|
|
1582
|
+
"contains",
|
|
1583
|
+
"else",
|
|
1584
|
+
"if",
|
|
1585
|
+
"not",
|
|
1586
|
+
"propertyNames",
|
|
1587
|
+
"then",
|
|
1588
|
+
"unevaluatedItems",
|
|
1589
|
+
"unevaluatedProperties"
|
|
1590
|
+
];
|
|
1591
|
+
const SUBSCHEMA_LIST_KEYWORDS = [
|
|
1592
|
+
"allOf",
|
|
1593
|
+
"anyOf",
|
|
1594
|
+
"oneOf",
|
|
1595
|
+
"prefixItems"
|
|
1596
|
+
];
|
|
1597
|
+
const SUBSCHEMA_MAP_KEYWORDS = [
|
|
1598
|
+
"$defs",
|
|
1599
|
+
"definitions",
|
|
1600
|
+
"dependencies",
|
|
1601
|
+
"dependentSchemas",
|
|
1602
|
+
"patternProperties",
|
|
1603
|
+
"properties"
|
|
1604
|
+
];
|
|
1605
|
+
function prepareForValidation(schema) {
|
|
1606
|
+
if (typeof schema === "boolean") return void 0;
|
|
1607
|
+
if (typeof schema !== "object" || schema === null || Array.isArray(schema)) return "a subschema is neither an object nor a boolean";
|
|
1608
|
+
const node = schema;
|
|
1609
|
+
delete node.format;
|
|
1610
|
+
for (const [flag, bound] of EXCLUSIVE_BOUNDS) {
|
|
1611
|
+
if (typeof node[flag] !== "boolean") continue;
|
|
1612
|
+
if (node[flag] && typeof node[bound] === "number") {
|
|
1613
|
+
node[flag] = node[bound];
|
|
1614
|
+
delete node[bound];
|
|
1615
|
+
} else delete node[flag];
|
|
1616
|
+
}
|
|
1617
|
+
const { enum: values, pattern, required, type } = node;
|
|
1618
|
+
if (type !== void 0 && !(Array.isArray(type) ? type.every(isJsonType) : isJsonType(type))) return `unsupported type ${JSON.stringify(type)}`;
|
|
1619
|
+
if (values !== void 0 && !Array.isArray(values)) return "`enum` is not an array";
|
|
1620
|
+
if (required !== void 0 && !(Array.isArray(required) && required.every((key) => typeof key === "string"))) return "`required` is not an array of strings";
|
|
1621
|
+
if (pattern !== void 0 && !isRegExpSource(pattern)) return `invalid pattern ${JSON.stringify(pattern)}`;
|
|
1622
|
+
for (const keyword of SUBSCHEMA_KEYWORDS) if (keyword in node) {
|
|
1623
|
+
const problem = prepareForValidation(node[keyword]);
|
|
1624
|
+
if (problem !== void 0) return problem;
|
|
1625
|
+
}
|
|
1626
|
+
const items = node.items;
|
|
1627
|
+
for (const subschema of Array.isArray(items) ? items : items === void 0 ? [] : [items]) {
|
|
1628
|
+
const problem = prepareForValidation(subschema);
|
|
1629
|
+
if (problem !== void 0) return problem;
|
|
1630
|
+
}
|
|
1631
|
+
for (const keyword of SUBSCHEMA_LIST_KEYWORDS) {
|
|
1632
|
+
const list = node[keyword];
|
|
1633
|
+
if (list === void 0) continue;
|
|
1634
|
+
if (!Array.isArray(list)) return `\`${keyword}\` is not an array`;
|
|
1635
|
+
for (const subschema of list) {
|
|
1636
|
+
const problem = prepareForValidation(subschema);
|
|
1637
|
+
if (problem !== void 0) return problem;
|
|
1638
|
+
}
|
|
1639
|
+
}
|
|
1640
|
+
for (const keyword of SUBSCHEMA_MAP_KEYWORDS) {
|
|
1641
|
+
const map = node[keyword];
|
|
1642
|
+
if (map === void 0) continue;
|
|
1643
|
+
if (typeof map !== "object" || map === null || Array.isArray(map)) return `\`${keyword}\` is not an object`;
|
|
1644
|
+
for (const [key, subschema] of Object.entries(map)) {
|
|
1645
|
+
if (keyword === "patternProperties" && !isRegExpSource(key)) return `invalid pattern ${JSON.stringify(key)}`;
|
|
1646
|
+
if (keyword === "dependencies" && Array.isArray(subschema)) continue;
|
|
1647
|
+
const problem = prepareForValidation(subschema);
|
|
1648
|
+
if (problem !== void 0) return problem;
|
|
1649
|
+
}
|
|
1650
|
+
}
|
|
1651
|
+
}
|
|
1652
|
+
function isJsonType(value) {
|
|
1653
|
+
return typeof value === "string" && JSON_TYPES.has(value);
|
|
1654
|
+
}
|
|
1655
|
+
function isRegExpSource(value) {
|
|
1656
|
+
if (typeof value !== "string") return false;
|
|
1657
|
+
try {
|
|
1658
|
+
new RegExp(value, "u");
|
|
1659
|
+
return true;
|
|
1660
|
+
} catch {
|
|
1661
|
+
return false;
|
|
1662
|
+
}
|
|
1663
|
+
}
|
|
1664
|
+
const CLOSED_OBJECT_KEYWORD = /\/(?:additional|unevaluated)Properties$/;
|
|
1665
|
+
function toIssues(errors) {
|
|
1666
|
+
const failures = [];
|
|
1667
|
+
for (let index = 0; index < errors.length; index++) {
|
|
1668
|
+
const unit = errors[index];
|
|
1669
|
+
const rejected = errors[index + 1];
|
|
1670
|
+
if (CLOSED_OBJECT_KEYWORD.test(unit.keywordLocation) && rejected?.keyword === "false") {
|
|
1671
|
+
const key = decodePointer(rejected.instanceLocation).at(-1);
|
|
1672
|
+
failures.push({
|
|
1673
|
+
keyword: "false",
|
|
1674
|
+
location: rejected.instanceLocation,
|
|
1675
|
+
message: `Unrecognized key: ${JSON.stringify(key)}`,
|
|
1676
|
+
object: unit.instanceLocation
|
|
1677
|
+
});
|
|
1678
|
+
index++;
|
|
1679
|
+
} else failures.push({
|
|
1680
|
+
keyword: unit.keyword,
|
|
1681
|
+
location: unit.instanceLocation,
|
|
1682
|
+
message: unit.error
|
|
1683
|
+
});
|
|
1684
|
+
}
|
|
1685
|
+
const relevant = failures.filter((failure) => failure.object === void 0 || !failures.some((other) => other.object === void 0 && (other.location === failure.location || other.location.startsWith(`${failure.location}/`))));
|
|
1686
|
+
return relevant.filter((failure, index) => {
|
|
1687
|
+
const next = relevant[index + 1];
|
|
1688
|
+
if (next === void 0) return true;
|
|
1689
|
+
if (next.location.startsWith(`${failure.location}/`)) return false;
|
|
1690
|
+
return !(failure.keyword === "$ref" && next.location === failure.location);
|
|
1691
|
+
}).map(({ location, message, object }) => {
|
|
1692
|
+
const path = decodePointer(object ?? location);
|
|
1693
|
+
return path.length === 0 ? { message } : {
|
|
1694
|
+
message,
|
|
1695
|
+
path
|
|
1696
|
+
};
|
|
1697
|
+
});
|
|
1698
|
+
}
|
|
1699
|
+
function decodePointer(location) {
|
|
1700
|
+
return location.split("/").slice(1).map((segment) => {
|
|
1701
|
+
let decoded = segment;
|
|
1702
|
+
try {
|
|
1703
|
+
decoded = decodeURIComponent(segment);
|
|
1704
|
+
} catch {}
|
|
1705
|
+
return decoded.replaceAll("~1", "/").replaceAll("~0", "~");
|
|
1706
|
+
});
|
|
1707
|
+
}
|
|
1467
1708
|
|
|
1468
1709
|
//#endregion
|
|
1469
1710
|
//#region src/client/session.ts
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Theme } from "./theme.js";
|
|
2
|
+
export interface PromptArgumentSuggestion {
|
|
3
|
+
readonly value: string;
|
|
4
|
+
readonly label: string;
|
|
5
|
+
readonly hint?: string;
|
|
6
|
+
/** Follow-up values available after selecting this exact value. */
|
|
7
|
+
readonly next?: readonly PromptArgumentSuggestion[];
|
|
8
|
+
}
|
|
9
|
+
export type ArgumentTypeaheadCommand = "model" | "add";
|
|
10
|
+
export interface ArgumentTypeaheadQuery {
|
|
11
|
+
readonly command: ArgumentTypeaheadCommand;
|
|
12
|
+
readonly argument: string;
|
|
13
|
+
/** Complete arguments before the one currently being typed. */
|
|
14
|
+
readonly completed: readonly string[];
|
|
15
|
+
/** Offset of the current argument in the composer draft. */
|
|
16
|
+
readonly argumentStart: number;
|
|
17
|
+
}
|
|
18
|
+
export interface ArgumentTypeaheadState extends ArgumentTypeaheadQuery {
|
|
19
|
+
readonly suggestions: readonly PromptArgumentSuggestion[];
|
|
20
|
+
readonly selectedIndex: number;
|
|
21
|
+
}
|
|
22
|
+
export declare function isArgumentTypeaheadCommand(command: string): command is ArgumentTypeaheadCommand;
|
|
23
|
+
export declare function argumentTypeaheadLoadingLabel(command: ArgumentTypeaheadCommand): string;
|
|
24
|
+
/**
|
|
25
|
+
* Parses the active token in an inline command drawer. The command grammar
|
|
26
|
+
* deliberately uses literal spaces, matching slash-command dispatch.
|
|
27
|
+
*/
|
|
28
|
+
export declare function argumentTypeaheadQuery(text: string): ArgumentTypeaheadQuery | undefined;
|
|
29
|
+
/** Filters catalog entries case-insensitively across their visible labels and ids. */
|
|
30
|
+
export declare function argumentTypeaheadFor(query: ArgumentTypeaheadQuery, catalog: readonly PromptArgumentSuggestion[], previous?: ArgumentTypeaheadState): ArgumentTypeaheadState;
|
|
31
|
+
export declare function moveArgumentTypeaheadSelection(state: ArgumentTypeaheadState, delta: 1 | -1): ArgumentTypeaheadState;
|
|
32
|
+
export declare function selectedArgumentSuggestion(state: ArgumentTypeaheadState): PromptArgumentSuggestion | undefined;
|
|
33
|
+
/** Replaces only the active argument, retaining selected preceding model tokens. */
|
|
34
|
+
export declare function argumentTypeaheadCompletion(state: ArgumentTypeaheadState, suggestion: PromptArgumentSuggestion): string;
|
|
35
|
+
/** Paints canonical catalog values under the command's active argument column. */
|
|
36
|
+
export declare function renderArgumentSuggestions(state: ArgumentTypeaheadState, theme: Theme, width: number): string[];
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{sanitizeForTerminal}from"#cli/ui/output.js";import{sliceVisible,visibleLength}from"#cli/ui/terminal-text.js";const ARGUMENT_LIMIT={add:1,model:2};function isArgumentTypeaheadCommand(e){return e===`model`||e===`add`}function argumentTypeaheadLoadingLabel(e){return e===`model`?`models`:`registry`}function argumentTypeaheadQuery(e){if(!e.startsWith(`/`))return;let t=e.indexOf(` `);if(t<0)return;let n=e.slice(1,t);if(!isArgumentTypeaheadCommand(n))return;let r=[],i=t;for(;i<e.length;){for(;e[i]===` `;)i+=1;if(i===e.length)break;let t=i;for(;i<e.length&&e[i]!==` `;)i+=1;r.push({value:e.slice(t,i),start:t})}let a=r.length+ +!!e.endsWith(` `);if(e.slice(t).includes(`
|
|
2
|
+
`)||a>ARGUMENT_LIMIT[n])return;let o=r.at(-1),s=r.map(e=>e.value);return!e.endsWith(` `)&&o!==void 0&&s.pop(),{command:n,argument:e.endsWith(` `)?``:o?.value??``,completed:s,argumentStart:e.endsWith(` `)?e.length:o?.start??e.length}}function sanitizeSuggestion(e){let t={value:sanitizeForTerminal(e.value),label:sanitizeForTerminal(e.label)};return e.hint!==void 0&&(t.hint=sanitizeForTerminal(e.hint)),e.next!==void 0&&(t.next=e.next.map(sanitizeSuggestion)),t}function argumentTypeaheadFor(e,t,n){let r=t.map(sanitizeSuggestion),i=e.completed.length===0?r:r.find(t=>t.value===e.completed[0])?.next??[],a=e.argument.toLowerCase(),o=i.filter(e=>e.value.toLowerCase().includes(a)||e.label.toLowerCase().includes(a)||(e.hint?.toLowerCase().includes(a)??!1)),s=n?.suggestions[n.selectedIndex],c=s===void 0?-1:o.findIndex(e=>e.value===s.value);return{...e,suggestions:o,selectedIndex:c>=0?c:0}}function moveArgumentTypeaheadSelection(e,t){return e.suggestions.length===0?e:{...e,selectedIndex:(e.selectedIndex+t+e.suggestions.length)%e.suggestions.length}}function selectedArgumentSuggestion(e){return e.suggestions[e.selectedIndex]}function argumentTypeaheadCompletion(e,t){return`/${e.command} ${[...e.completed,t.value].join(` `)}`}function renderArgumentSuggestions(e,t,n){let r=t.colors,i=Math.min(8,e.suggestions.length),a=Math.max(0,Math.min(e.selectedIndex-Math.floor(i/2),e.suggestions.length-i));return e.suggestions.slice(a,a+i).map((t,i)=>{let o=a+i===e.selectedIndex?r.bold(t.value):r.dim(t.value),s=`${` `.repeat(e.argumentStart+2)}${o}`;return visibleLength(s)>n?sliceVisible(s,n):s})}export{argumentTypeaheadCompletion,argumentTypeaheadFor,argumentTypeaheadLoadingLabel,argumentTypeaheadQuery,isArgumentTypeaheadCommand,moveArgumentTypeaheadSelection,renderArgumentSuggestions,selectedArgumentSuggestion};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import{renderMarkdown}from"./markdown.js";import{isPromptControlCommand}from"./prompt-commands.js";import{elisionText}from"./rail.js";import{renderTool}from"./tool-rows.js";import{clipVisible,sliceVisible,visibleLength,wrapVisibleLine}from"#cli/ui/terminal-text.js";function renderBlockLines(e,t,n,r){let i=e.depth??0,a=nestingPrefix(i,n),o=renderBody(e,Math.max(8,t-visibleLength(a)),n,r);if(e.closesRail===!0&&i>0){let e=closingPrefix(i,n);return o.map((t,n)=>`${n===o.length-1?e:a}${t}`)}return o.map(e=>`${a}${e}`)}function nestingPrefix(e,t){return e<=0?``:` ${`${t.colors.dim(t.glyph.rule)} `.repeat(e)}`}function closingPrefix(e,t){return` ${`${t.colors.dim(t.glyph.rule)} `.repeat(e-1)}${t.colors.dim(t.glyph.corner)} `}function renderBody(e,t,n,r){if(e.elided!==void 0&&e.kind===`subagent-step`)return[` ${elisionText(e.elided,n)}`];switch(e.kind){case`user`:return renderUser(e,t,n);case`assistant`:case`subagent-step`:return renderProse(e,t,n,r);case`reasoning`:return renderReasoning(e,t,n);case`tool`:case`subagent-tool`:return renderTool(e,t,n,r);case`error`:return renderError(e,t,n);case`notice`:return renderNotice(e,t,n);case`warning`:return renderWarning(e,t,n);case`result`:return renderResult(e,t,n);case`flow`:return renderFlow(e,t,n);case`command`:return renderCommand(e,n);case`question`:case`connection-auth`:return renderPreformatted(e,t,n);case`sandbox`:return renderSandbox(e,t,n,r);case`log`:return renderLog(e,t,n);case`subagent`:return renderSubagentHeader(e,t,n,r);case`subagent-close`:{let r=` ${n.colors.dim(n.glyph.corner)}`;return e.body!==void 0&&e.body.length>0?[clipVisible(`${r} ${n.colors.dim(e.body)}`,Math.max(1,t))]:[r]}case`turn-stats`:return renderTurnStats(e,t,n);case`session-boundary`:case`agent-header`:return(e.body??``).split(`
|
|
2
2
|
`)}}function renderUser(e,t,n){let r=e.promptOrigin===`steer`?n.colors.yellow(n.glyph.user):n.colors.cyan(n.glyph.user);return wrap(e.body??``,t-2).map(e=>`${r} ${e}`)}function renderProse(e,t,n,r){let i=[],a=e.kind===`subagent-step`;if(a&&e.collapsed===!0){let r=firstNonEmptyLine(e.body)??(e.reasoning===void 0?void 0:firstNonEmptyLine(e.reasoning));return r===void 0?[]:[n.colors.dim(sliceVisible(r,Math.max(1,t)))]}let o=r.renderMarkdown??!0,s=a?``:`${n.colors.bold(n.glyph.brand)} `,c=a?``:` `;e.reasoning&&e.reasoning.trim().length>0&&i.push(...renderReasoningLines(e.reasoning,t,n));let l=(e.body??``).trim();return l.length===0&&i.length===0?[`${s}${n.colors.dim(`thinking${n.glyph.ellipsis}`)}`]:(l.length>0&&(o?renderMarkdown(l,t-c.length):l).split(`
|
|
3
3
|
`).flatMap(e=>wrapVisibleLine(e,t-c.length)).forEach((e,t)=>{t===0&&!a&&i.length===0?i.push(`${s}${e}`):i.push(`${c}${e}`)}),i.length>0?i:[`${s}`])}function renderReasoning(e,t,n){return e.collapsed?[`${n.colors.gray(n.glyph.reasoning)} ${n.colors.dim(e.title??`thinking`)}`]:renderReasoningLines(e.body??``,t,n,n.glyph.reasoning)}function renderReasoningLines(e,t,n,r){let i=r?2:0,a=wrap(e.trim(),t-i);return a.length===0?[]:a.map((e,t)=>`${r?t===0?`${n.colors.gray(r)} `:` `:``}${n.colors.dim(n.colors.italic(e))}`)}function renderError(e,t,n){let r=n.colors.red(n.colors.bold(n.glyph.error)),i=e.title??`Error`,a=[`${r} ${n.colors.red(n.colors.bold(i))}`];for(let r of wrap(e.body??``,t-2))a.push(` ${colorizeError(r,n)}`);if(e.hint!==void 0&&e.hint.trim().length>0)for(let[r,i]of wrap(e.hint,t-4).entries()){let e=r===0?`${n.glyph.arrow} `:` `;a.push(` ${n.colors.cyan(`${e}${i}`)}`)}return a.push(...renderErrorDetail(e.detail,t,n)),a}function renderErrorDetail(e,t,n){if(e===void 0||e.trim().length===0)return[];let r=e.split(`
|
|
4
|
-
`),i=r.slice(0,12),a=i.map(e=>` ${n.colors.dim(truncatePlain(e,Math.max(1,t-2)))}`),o=r.length-i.length;return o>0&&a.push(` ${n.colors.dim(`${n.glyph.ellipsis} +${o} more line${o===1?``:`s`}`)}`),a}const URL_PATTERN=/(https?:\/\/\S+)/u;function colorizeError(e,t){return URL_PATTERN.test(e)?e.split(URL_PATTERN).map((e,n)=>n%2==1?t.colors.cyan(e):t.colors.red(e)).join(``):t.colors.red(e)}function renderNotice(e,t,n){let r=n.colors.dim(n.glyph.dot),i=wrap(e.body??``,t-2);return i.length===0?[r]:i.map(e=>`${r} ${n.colors.dim(e)}`)}function renderAttentionRows(e,t,n){let r=n.colors.yellow(n.glyph.warning);return wrap(e,t-2).map((e,t)=>`${t===0?r:` `} ${paintCommands(e,n)}`)}function renderWarning(e,t,n){return renderAttentionRows(e.body??``,t,n)}function paintCommands(e,t){return e.replace(/\/[a-z:-]+/g,e=>isPromptControlCommand(e)?t.colors.blue(e):e)}function renderCommand(e,t){let n=t.colors,r=e.status===`error`?`${n.red(t.glyph.error)} `:``;return[`${n.cyan(t.glyph.user)} ${r}${n.
|
|
4
|
+
`),i=r.slice(0,12),a=i.map(e=>` ${n.colors.dim(truncatePlain(e,Math.max(1,t-2)))}`),o=r.length-i.length;return o>0&&a.push(` ${n.colors.dim(`${n.glyph.ellipsis} +${o} more line${o===1?``:`s`}`)}`),a}const URL_PATTERN=/(https?:\/\/\S+)/u;function colorizeError(e,t){return URL_PATTERN.test(e)?e.split(URL_PATTERN).map((e,n)=>n%2==1?t.colors.cyan(e):t.colors.red(e)).join(``):t.colors.red(e)}function renderNotice(e,t,n){let r=n.colors.dim(n.glyph.dot),i=wrap(e.body??``,t-2);return i.length===0?[r]:i.map(e=>`${r} ${n.colors.dim(e)}`)}function renderAttentionRows(e,t,n){let r=n.colors.yellow(n.glyph.warning);return wrap(e,t-2).map((e,t)=>`${t===0?r:` `} ${paintCommands(e,n)}`)}function renderWarning(e,t,n){return renderAttentionRows(e.body??``,t,n)}function paintCommands(e,t){return e.replace(/\/[a-z:-]+/g,e=>isPromptControlCommand(e)?t.colors.blue(e):e)}function renderCommand(e,t){let n=t.colors,r=e.status===`error`?`${n.red(t.glyph.error)} `:``;return[`${n.cyan(t.glyph.user)} ${r}${n.bold(e.body??``)}`]}function paintOutcomeMarker(e,t,n=e){let r=n.trimStart().slice(0,1);return r===`✓`?e.replace(r,t.colors.green(t.glyph.success)):r===`⨯`?e.replace(r,t.colors.red(t.glyph.error)):r===`–`?e.replace(r,t.colors.yellow(t.glyph.dash)):e}function renderFlow(e,t,n){let r=n.colors,i=e.title??`info`,a=i===`success`?r.green(n.glyph.success):i===`warning`?r.yellow(n.glyph.warning):i===`error`?r.red(n.glyph.error):r.dim(n.glyph.dot),o=wrap(e.body??``,t-2),paint=e=>i===`info`?r.dim(e):paintOutcomeMarker(e,n);return o.map((e,t)=>`${t===0?a:` `} ${paint(e)}`)}function renderResult(e,t,n){let r=wrap(e.body??``,t-7);if(e.status===`done`){let e=n.colors.dim(n.glyph.elbow),t=n.colors.green(n.glyph.success),i=n.colors.dim(n.glyph.rule),a=n.colors.dim(n.glyph.corner);return r.length===0?[` ${e} ${t}`]:r.map((n,o)=>o===0?` ${e} ${t} ${n}`:` ${o===r.length-1?a:i} ${n}`)}let i=n.colors.dim(n.glyph.elbow);if(r.length===0)return[` ${i}`];let dim=e=>paintOutcomeMarker(n.colors.dim(e.replaceAll(`\x1B[22m`,`\x1B[22m\x1B[2m`)),n,e);return r.map((e,t)=>t===0?` ${i} ${dim(e)}`:` ${dim(e)}`)}function renderPreformatted(e,t,n){let r=e.kind===`connection-auth`?n.colors.yellow(n.glyph.connection):n.colors.yellow(n.colors.bold(n.glyph.question)),i=e.kind===`question`?` `:` `,a=wrap(e.title??``,t-2),o=a.length===0?[`${r} `]:a.map((e,t)=>t===0?`${r} ${n.colors.bold(e)}`:` ${n.colors.bold(e)}`);for(let n of(e.body??``).split(`
|
|
5
5
|
`))for(let e of wrapVisibleLine(n,Math.max(1,t-i.length)))o.push(`${i}${e}`);return o}function renderSandbox(e,t,n,r){let i=n.colors.cyan(n.glyph.rule),a=n.colors.dim(`sandbox ${n.glyph.dot} `),o=visibleLength(a),s=` `.repeat(o),c=r.previous?.kind===`sandbox`,l=(e.body??``).split(`
|
|
6
6
|
`),u=[];for(let e of l){let r=wrapVisibleLine(e,Math.max(1,t-2-o));for(let e of r){let t=u.length===0&&!c?a:s;u.push(`${i} ${t}${n.colors.gray(e)}`)}}return u.length>0?u:[`${i}`]}function renderLog(e,t,n){let r=e.title===`stderr`,i=r?n.colors.red:n.colors.gray,a=n.colors.dim(n.glyph.rule),o=r?`stderr`:`stdout`,s=[`${n.colors.dim(n.glyph.reasoning)} ${n.colors.dim(o)}`];e.elided!==void 0&&e.elided>0&&s.push(`${a} ${elisionText(e.elided,n)}`);for(let r of(e.body??``).split(`
|
|
7
7
|
`))for(let e of wrapVisibleLine(r,Math.max(1,t-2)))s.push(`${a} ${n.colors.dim(i(e))}`);return s}function renderTurnStats(e,t,n){let r=`${n.glyph.corner} ${e.body??``}`;return[n.colors.dim(truncatePlain(r,Math.max(1,t)))]}function renderSubagentHeader(e,t,n,r){let i=truncatePlain(e.title===void 0||e.title===`agent`?`self`:e.title,Math.max(8,t-16)),a=e.subtitle!==void 0&&e.subtitle.startsWith(`#`),o=a?`:${e.subtitle.slice(1)}`:``,s=` ${e.status===`done`?n.colors.green(n.glyph.subagent):r.activityPulse.trim().length>0?n.colors.orange(n.glyph.subagent):n.colors.dim(n.glyph.subagent)} subagent(${i}${o})`;return!a&&e.subtitle!==void 0&&e.subtitle.length>0&&(s+=` ${n.colors.dim(e.subtitle)}`),[s]}function firstNonEmptyLine(e){return e===void 0?void 0:e.split(/\r?\n/u).find(e=>e.trim().length>0)?.trim()}function wrap(e,t){return e.trim().length===0?[]:e.split(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isPromptCommandAvailableFor}from"./prompt-commands.js";import{toErrorMessage}from"#shared/errors.js";function createPromptCommandHandler(e){return{async handle(t,n){let{target:r}=e;if(r.kind===`remote`&&!isPromptCommandAvailableFor(t.name,`remote`))return{message:`/${t.name} needs eve dev running the local server (it is not available with --url).`};if(t.name===`model
|
|
1
|
+
import{isPromptCommandAvailableFor}from"./prompt-commands.js";import{toErrorMessage}from"#shared/errors.js";function createPromptCommandHandler(e){return{async handle(t,n){let{target:r}=e;if(r.kind===`remote`&&!isPromptCommandAvailableFor(t.name,`remote`))return{message:`/${t.name} needs eve dev running the local server (it is not available with --url).`};if(t.name===`model`){if(t.argument.length===0)return{message:`Choose a model from the inline /model suggestions.`};if(r.kind!==`local`)return{message:`/model needs eve dev running the local server (it is not available with --url).`};let n=r.agentRoot??r.workspaceRoot;try{let{modelChangeRefusalForUneditableModel:r}=await import(`#setup/flows/model.js`),{changeAgentModel:i,changeAgentModelSettings:a,formatApplyModelOutcome:o,formatApplyModelSettingsOutcome:s}=await import(`#setup/flows/model-source-change.js`),[c,l,...u]=t.argument.split(/\s+/u);if(c===void 0||u.length>0||l!==void 0&&![`default`,`none`,`minimal`,`low`,`medium`,`high`,`xhigh`].includes(l))return{message:"Use `/model provider/model [default|none|minimal|low|medium|high|xhigh]`."};let d=await(e.modelChangeRefusal??r)(n);return d===null?l===void 0?{message:o(await(e.applyModel??i)({appRoot:n,slug:c}))}:{message:s(await a({appRoot:n,patch:{model:{kind:`set`,value:c},reasoning:l==="default"?{kind:`remove`}:{kind:`set`,value:l},gatewayServiceTier:{kind:`keep`}}}))}:{message:d}}catch(e){return{message:`Couldn't change the model: ${toErrorMessage(e)}`}}}if(t.name===`add`&&t.argument.length===0)return{message:`Choose an integration from the inline /add suggestions.`};let i=n.renderer.setupFlow;if(i===void 0)return{message:`/${t.name} is not supported by this renderer.`};let a;try{a=await import(`./setup-commands.js`)}catch(e){return{message:`/${t.name} failed: ${toErrorMessage(e)}`}}let{runTuiSetupCommand:o,SETUP_FLOW_CONFIG:s}=a,c=s[t.name];i.begin(c.title,c.indicator);let l=!0;try{let a={command:t.name,appRoot:r.workspaceRoot,renderer:i,withExclusiveTerminal:n.withExclusiveTerminal,chatGptAccountLabel:n.chatGptAccountLabel};r.agentRoot!==void 0&&(a.agentRoot=r.agentRoot),n.initialModelStep!==void 0&&(a.initialModelStep=n.initialModelStep),n.onOnboardingScreen!==void 0&&(a.onOnboardingScreen=n.onOnboardingScreen),t.name===`add`&&(a.initialRegistryAddress=t.argument),e.flows!==void 0&&(a.flows=e.flows);let s=await o(a);l=s.preserveFlowDiagnostics;let{preserveFlowDiagnostics:c,partial:u,...d}=s;return n.settleOutcome===void 0?d:await n.settleOutcome(d)}finally{i.end({preserveDiagnostics:l})}}}}export{createPromptCommandHandler};
|