eve 0.27.5 → 0.27.7
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 +18 -0
- package/dist/src/channel/forwarded-principal.d.ts +74 -0
- package/dist/src/channel/forwarded-principal.js +1 -0
- package/dist/src/channel/routes.d.ts +7 -0
- package/dist/src/channel/send.js +1 -1
- package/dist/src/channel/session.d.ts +5 -0
- package/dist/src/channel/session.js +1 -1
- package/dist/src/channel/types.d.ts +7 -0
- package/dist/src/chunks/{use-eve-agent-BtkhbY2I.js → use-eve-agent-JPfBHZJr.js} +37 -7
- package/dist/src/chunks/{use-eve-agent-NUjD28Iu.js → use-eve-agent-r5tkzjmt.js} +37 -7
- package/dist/src/cli/commands/channels.d.ts +5 -2
- package/dist/src/cli/commands/channels.js +1 -1
- package/dist/src/cli/dev/local-server-child.d.ts +1 -0
- package/dist/src/cli/dev/local-server-child.js +1 -0
- package/dist/src/cli/dev/local-server-cleanup.d.ts +5 -0
- package/dist/src/cli/dev/local-server-cleanup.js +1 -0
- package/dist/src/cli/dev/local-server-process.d.ts +35 -0
- package/dist/src/cli/dev/local-server-process.js +1 -0
- package/dist/src/cli/dev/tui/remote-auth.js +1 -1
- package/dist/src/cli/dev/tui/runner.d.ts +4 -0
- package/dist/src/cli/dev/tui/runner.js +1 -1
- package/dist/src/cli/dev/tui/terminal-renderer.d.ts +3 -0
- package/dist/src/cli/dev/tui/terminal-renderer.js +12 -12
- package/dist/src/cli/dev/tui/tui.d.ts +2 -0
- package/dist/src/cli/dev/tui/tui.js +1 -1
- package/dist/src/cli/dev/wait-for-ui.d.ts +13 -0
- package/dist/src/cli/dev/wait-for-ui.js +1 -0
- package/dist/src/cli/run.js +2 -2
- package/dist/src/cli/shutdown.d.ts +23 -0
- package/dist/src/cli/shutdown.js +1 -0
- package/dist/src/client/client.js +1 -1
- package/dist/src/client/open-stream.d.ts +17 -2
- package/dist/src/client/open-stream.js +1 -1
- package/dist/src/client/session.d.ts +5 -1
- package/dist/src/client/session.js +1 -1
- package/dist/src/client/types.d.ts +9 -1
- package/dist/src/compiled/@workflow/core/index.js +1 -1
- package/dist/src/compiled/@workflow/core/runtime.js +1 -1
- package/dist/src/compiled/@workflow/core/workflow.js +1 -1
- package/dist/src/compiled/_chunks/workflow/{attribute-changes-Dk1fP6vt.js → attribute-changes-CB7nRYoY.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{functions-Dv8dc_-I.js → functions-DareOZz_.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{resume-hook-czpG5xnP.js → resume-hook-g1vh0WRC.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{run-6zaMjFY6.js → run-lsS-QDok.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{sleep-B2u06FWc.js → sleep-BXg5I9l2.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/wrapper-DnoQohyD.js +8 -0
- package/dist/src/compiler/normalize-subagent.js +1 -1
- package/dist/src/evals/autoevals-client.js +1 -1
- package/dist/src/evals/cli/eval.js +2 -2
- package/dist/src/evals/expect/index.js +1 -1
- package/dist/src/evals/judge.js +1 -1
- package/dist/src/execution/dispatch-runtime-actions-step.js +1 -1
- package/dist/src/execution/remote-agent-dispatch.d.ts +5 -1
- package/dist/src/execution/remote-agent-dispatch.js +1 -1
- package/dist/src/execution/sandbox/bash-tool.js +1 -1
- package/dist/src/execution/sandbox/bindings/docker-container.js +1 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.js +1 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-runtime.js +1 -1
- package/dist/src/execution/sandbox/development-cleanup.js +1 -1
- package/dist/src/execution/sandbox/ensure.js +1 -1
- package/dist/src/execution/subagent-invocation.d.ts +10 -0
- package/dist/src/execution/subagent-invocation.js +2 -2
- package/dist/src/execution/subagent-tool.js +1 -1
- package/dist/src/execution/workflow-runtime.js +1 -1
- package/dist/src/harness/emission.js +1 -1
- package/dist/src/harness/input-requests.js +1 -1
- package/dist/src/harness/runtime-actions.d.ts +4 -0
- package/dist/src/harness/runtime-actions.js +1 -1
- package/dist/src/harness/tool-call-input-errors.d.ts +20 -0
- package/dist/src/harness/tool-call-input-errors.js +1 -1
- package/dist/src/internal/application/build-workspace.d.ts +0 -1
- package/dist/src/internal/application/build-workspace.js +1 -1
- package/dist/src/internal/application/optional-package-install.js +1 -1
- package/dist/src/internal/application/package.js +1 -1
- package/dist/src/internal/application/paths.d.ts +1 -6
- package/dist/src/internal/application/paths.js +1 -1
- package/dist/src/internal/authored-module-map-loader.js +1 -1
- package/dist/src/internal/nitro/host/build-application.js +1 -1
- package/dist/src/internal/nitro/host/configure-nitro-routes.d.ts +4 -4
- package/dist/src/internal/nitro/host/configure-nitro-routes.js +2 -2
- package/dist/src/internal/nitro/host/create-application-nitro.d.ts +11 -7
- package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
- package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +1 -1
- package/dist/src/internal/nitro/host/sandbox-shutdown-plugin.js +1 -1
- package/dist/src/internal/nitro/host/start-development-server.js +2 -2
- package/dist/src/internal/nitro/host/types.d.ts +0 -4
- package/dist/src/internal/nitro/host/vercel-build-output-config.d.ts +29 -1
- package/dist/src/internal/nitro/host/vercel-build-output-config.js +1 -1
- package/dist/src/internal/workflow/queue-namespace.d.ts +8 -0
- package/dist/src/internal/workflow/queue-namespace.js +1 -1
- package/dist/src/internal/workflow-bundle/builder-support.d.ts +0 -5
- package/dist/src/internal/workflow-bundle/builder.d.ts +0 -5
- package/dist/src/internal/workflow-bundle/builder.js +2 -2
- package/dist/src/internal/workflow-bundle/vercel-workflow-output.d.ts +0 -51
- package/dist/src/internal/workflow-bundle/vercel-workflow-output.js +1 -3
- package/dist/src/internal/workflow-bundle/workflow-builders.d.ts +0 -7
- package/dist/src/internal/workflow-bundle/workflow-builders.js +1 -1
- package/dist/src/node_modules/.pnpm/{autoevals@0.0.132_ws@8.21.1 → autoevals@0.0.132_ws@8.21.1_bufferutil@4.1.0_}/node_modules/autoevals/jsdist/index.js +1 -1
- package/dist/src/packages/eve-catalog/src/index.js +1 -1
- package/dist/src/protocol/message.d.ts +1 -0
- package/dist/src/protocol/message.js +2 -2
- package/dist/src/public/channels/eve.d.ts +20 -0
- package/dist/src/public/channels/eve.js +2 -2
- package/dist/src/public/definitions/remote-agent.d.ts +15 -0
- package/dist/src/public/sandbox/backends/default.js +1 -1
- package/dist/src/runtime/resolve-agent-graph.js +1 -1
- package/dist/src/runtime/sessions/compiled-agent-cache.js +1 -1
- package/dist/src/runtime/types.d.ts +1 -0
- package/dist/src/setup/boxes/add-channels.d.ts +9 -7
- package/dist/src/setup/boxes/add-channels.js +2 -2
- package/dist/src/setup/boxes/select-channels.d.ts +4 -5
- package/dist/src/setup/channel-setup-deployment.d.ts +11 -0
- package/dist/src/setup/channel-setup-deployment.js +1 -0
- package/dist/src/setup/channel-setup-environment.d.ts +16 -0
- package/dist/src/setup/channel-setup-environment.js +1 -0
- package/dist/src/setup/channel-setup-integration.d.ts +31 -0
- package/dist/src/setup/channel-setup-integration.js +1 -0
- package/dist/src/setup/channel-setup-integrations.d.ts +7 -0
- package/dist/src/setup/channel-setup-integrations.js +1 -0
- package/dist/src/setup/channel-setup-runner.d.ts +7 -0
- package/dist/src/setup/channel-setup-runner.js +1 -0
- package/dist/src/setup/channel-setup-slack.d.ts +3 -0
- package/dist/src/setup/channel-setup-slack.js +1 -0
- package/dist/src/setup/channel-setup-ui.d.ts +18 -0
- package/dist/src/setup/channel-setup-ui.js +2 -0
- package/dist/src/setup/channel-setup-web.d.ts +3 -0
- package/dist/src/setup/channel-setup-web.js +1 -0
- package/dist/src/setup/flows/channels.d.ts +5 -10
- package/dist/src/setup/flows/channels.js +1 -1
- package/dist/src/setup/flows/install-vercel-cli.js +1 -1
- package/dist/src/setup/flows/login.js +1 -1
- package/dist/src/setup/index.js +1 -1
- package/dist/src/setup/scaffold/channels-catalog.d.ts +0 -2
- package/dist/src/setup/scaffold/channels-catalog.js +1 -1
- package/dist/src/setup/scaffold/create/project.js +1 -1
- package/dist/src/setup/scaffold/update/channels.d.ts +5 -3
- package/dist/src/setup/scaffold/update/channels.js +5 -2
- package/dist/src/setup/slack-connect-lifecycle.d.ts +3 -2
- package/dist/src/setup/slack-connect-lifecycle.js +1 -1
- package/dist/src/setup/slack-connect.d.ts +2 -0
- package/dist/src/setup/slack-connect.js +1 -1
- package/dist/src/setup/slackbot.d.ts +4 -0
- package/dist/src/setup/slackbot.js +1 -1
- package/dist/src/svelte/index.js +1 -1
- package/dist/src/svelte/use-eve-agent.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 +21 -20
- package/docs/channels/custom.mdx +1 -1
- package/docs/channels/overview.mdx +2 -0
- package/docs/channels/slack.mdx +2 -0
- package/docs/concepts/{execution-model-and-durability.md → execution-model-and-durability.mdx} +16 -0
- package/docs/concepts/security-model.md +2 -0
- package/docs/concepts/sessions-runs-and-streaming.md +9 -0
- package/docs/getting-started.mdx +13 -196
- package/docs/guides/auth-and-route-protection.md +20 -0
- package/docs/guides/client/overview.mdx +2 -0
- package/docs/guides/client/streaming.mdx +15 -0
- package/docs/guides/remote-agents.md +31 -8
- package/docs/installation.mdx +60 -0
- package/docs/meta.json +7 -6
- package/docs/project-structure.mdx +53 -0
- package/docs/reference/cli.md +1 -1
- package/docs/tutorial/meta.json +1 -1
- package/package.json +1 -1
- package/dist/src/compiled/_chunks/workflow/wrapper-Cc2otuUR.js +0 -6
- package/docs/introduction.mdx +0 -103
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/_vendor/partial-json-parser/parser.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/auth/workload-identity-auth.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/azure.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/client.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/core/api-promise.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/core/error.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/core/pagination.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/core/resource.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/core/streaming.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/core/uploads.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/error.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/index.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/decoders/line.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/detect-platform.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/errors.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/headers.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/parse.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/qs/formats.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/qs/stringify.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/qs/utils.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/request-options.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/shims.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/to-file.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/tslib.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/uploads.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/base64.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/bytes.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/env.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/log.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/path.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/query.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/sleep.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/uuid.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/values.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/AbstractChatCompletionRunner.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/AssistantStream.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/ChatCompletionRunner.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/ChatCompletionStream.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/ChatCompletionStreamingRunner.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/EventStream.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/ResponsesParser.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/RunnableFunction.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/Util.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/chatCompletionUtils.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/parser.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/responses/ResponseStream.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/admin.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/admin-api-keys.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/audit-logs.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/certificates.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/data-retention.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/groups/groups.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/groups/roles.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/groups/users.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/invites.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/organization.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/api-keys.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/certificates.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/data-retention.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/groups/groups.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/groups/roles.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/hosted-tool-permissions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/model-permissions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/projects.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/rate-limits.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/roles.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/service-accounts.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/spend-alerts.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/users/roles.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/users/users.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/roles.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/spend-alerts.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/usage.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/users/roles.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/users/users.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/audio/audio.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/audio/speech.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/audio/transcriptions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/audio/translations.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/batches.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/assistants.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/beta.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/chatkit/chatkit.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/chatkit/sessions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/chatkit/threads.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/realtime/realtime.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/realtime/sessions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/realtime/transcription-sessions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/threads/messages.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/threads/runs/runs.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/threads/runs/steps.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/threads/threads.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/chat/chat.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/chat/completions/completions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/chat/completions/index.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/chat/completions/messages.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/chat/index.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/completions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/containers/containers.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/containers/files/content.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/containers/files/files.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/conversations/conversations.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/conversations/items.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/embeddings.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/evals/evals.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/evals/runs/output-items.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/evals/runs/runs.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/files.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/alpha/alpha.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/alpha/graders.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/checkpoints/checkpoints.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/checkpoints/permissions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/fine-tuning.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/jobs/checkpoints.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/jobs/jobs.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/methods.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/graders/grader-models.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/graders/graders.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/images.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/index.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/models.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/moderations.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/realtime/calls.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/realtime/client-secrets.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/realtime/realtime.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/responses/input-items.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/responses/input-tokens.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/responses/responses.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/shared.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/skills/content.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/skills/skills.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/skills/versions/content.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/skills/versions/versions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/uploads/parts.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/uploads/uploads.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/vector-stores/file-batches.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/vector-stores/files.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/vector-stores/vector-stores.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/videos.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/webhooks/index.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/webhooks/webhooks.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/webhooks.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/streaming.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_zod@3.25.76 → openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/version.js +0 -0
package/docs/concepts/{execution-model-and-durability.md → execution-model-and-durability.mdx}
RENAMED
|
@@ -38,6 +38,22 @@ export default defineAgent({
|
|
|
38
38
|
|
|
39
39
|
The world package backs workflow state, queues, hooks, and streams. Keep secrets and deployment-specific options in runtime environment variables read by that package, not in `agent.ts`. Custom worlds must implement the runtime protocol expected by eve's vendored `@workflow/*` packages (currently the `5.0.0-beta` line); the Workflow SDK rejects incompatible protocol versions during initialization. See [Self-host eve](../guides/deployment/self-hosting#persist-workflow-state), [agent.ts](../agent-config#workflow-world), and [Workflow Worlds](https://workflow-sdk.dev/worlds).
|
|
40
40
|
|
|
41
|
+
## Agent loop and sandbox
|
|
42
|
+
|
|
43
|
+
An eve agent spans two execution environments with different responsibilities:
|
|
44
|
+
|
|
45
|
+
<AgentRuntimeDiagram />
|
|
46
|
+
|
|
47
|
+
The agent loop runs as a durable workflow in the app runtime. Model calls, tool executors, hooks, instrumentation, and connection clients also run there with full Node.js access.
|
|
48
|
+
|
|
49
|
+
App-side code reaches the sandbox through `ctx.getSandbox()`. The built-in `bash`, `read_file`, `write_file`, `glob`, and `grep` tools use it, and authored tools can use it when they need isolated filesystem or process access.
|
|
50
|
+
|
|
51
|
+
The [sandbox](../sandbox) owns the per-session filesystem and processes. Authored skills are materialized under `$HOME/.agents/skills`, and `agent/sandbox/workspace/**` seeds `/workspace`. The loop and sandbox have decoupled lifetimes: the durable workflow can park or restart independently, while the app runtime opens or reuses sandbox compute only when code needs it.
|
|
52
|
+
|
|
53
|
+
This split gives the agent a real filesystem and process environment without putting credentials or trusted integration code in model-controlled compute. The workflow can park without holding sandbox compute, while sandbox capacity and backends can change independently of durable orchestration. Because access flows through app-side tools, sandbox work gets the same approval and instrumentation path as any other tool call.
|
|
54
|
+
|
|
55
|
+
Provider keys, tool secrets, and MCP, OpenAPI, and connection credentials stay in the app runtime. When a sandbox process needs authenticated network access, [credential brokering](./security-model#credential-brokering) handles the request without exposing the credential to the process.
|
|
56
|
+
|
|
41
57
|
## Resuming after a crash
|
|
42
58
|
|
|
43
59
|
Crash the process, hit a timeout, or redeploy mid-turn, and the run picks up from the last completed step rather than replaying the whole turn. Completed steps never re-run; eve replays the recorded result. A step interrupted mid-execution re-runs, so make non-idempotent side effects like charges or emails idempotent, or gate them with approval.
|
|
@@ -20,6 +20,8 @@ The sandbox is the isolated side. The model runs shell commands there through th
|
|
|
20
20
|
|
|
21
21
|
A concrete trace makes the boundary clear. When the model calls a custom `charge_card` tool, its `execute` runs in the app runtime, reads `process.env.STRIPE_KEY`, calls Stripe, and returns `{ ok: true }`. The model sees only `{ ok: true }`: the key never leaves the app runtime, and nothing about the call touches the sandbox. The built-in `write_file` is the mirror image, running in the app runtime and proxying the write into the sandbox `/workspace`. Either way the model drives the work through tool calls and their results, never by holding a credential or reaching the runtime directly.
|
|
22
22
|
|
|
23
|
+
See [Agent loop and sandbox](./execution-model-and-durability#agent-loop-and-sandbox) for how eve connects these contexts while keeping their state and lifetimes separate.
|
|
24
|
+
|
|
23
25
|
## Data flow at a glance
|
|
24
26
|
|
|
25
27
|
```mermaid
|
|
@@ -124,6 +124,15 @@ curl "http://127.0.0.1:2000/eve/v1/session/<sessionId>/stream?startIndex=-1"
|
|
|
124
124
|
|
|
125
125
|
This gives a consumer that only persisted `sessionId` a lightweight way to recover the current `continuationToken`. Because a tail-relative position does not resolve to an absolute consumed-event count, client tail reads do not automatically reconnect or advance the stored cursor.
|
|
126
126
|
|
|
127
|
+
For a catch-up read that stops instead of following the live stream, pass `includeTailIndex=1`. The response then carries the `x-eve-stream-tail-index` header: the zero-based index of the last durably recorded event, or `-1` before the first. Read from your cursor until it passes that tail, then disconnect — reconnecting from the updated cursor if the connection drops first:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
curl -i "http://127.0.0.1:2000/eve/v1/session/<sessionId>/stream?startIndex=<count>&includeTailIndex=1"
|
|
131
|
+
# x-eve-stream-tail-index: <tail>
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
The lookup is opt-in; requests without the parameter get no header. The TypeScript client wraps this into `stream({ follow: false })`.
|
|
135
|
+
|
|
127
136
|
## Use the client from TypeScript
|
|
128
137
|
|
|
129
138
|
For scripts, server-to-server calls, tests, evals, and custom UIs, `eve/client` wraps these routes in a typed client so you don't hand-roll the POST and NDJSON stream loop.
|
package/docs/getting-started.mdx
CHANGED
|
@@ -1,206 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Getting Started"
|
|
3
|
-
description: "
|
|
3
|
+
description: "Create an eve project, learn its filesystem layout, and start adding capabilities."
|
|
4
|
+
contentType: "Landing"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
|
-
eve
|
|
7
|
+
eve agents are TypeScript projects. You describe an agent with files under `agent/`, then eve runs it as a durable service.
|
|
7
8
|
|
|
8
|
-
##
|
|
9
|
+
## Start in order
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
1. [Install eve](/docs/installation): create a project, configure a model credential, and run it locally
|
|
12
|
+
2. [Learn the project structure](/docs/project-structure): see which files eve discovers and where each capability belongs
|
|
13
|
+
3. [Build your first agent](/docs/tutorial/first-agent): add tools, state, and an interface for a useful workflow
|
|
13
14
|
|
|
14
|
-
|
|
15
|
+
## What you need
|
|
15
16
|
|
|
16
|
-
-
|
|
17
|
-
-
|
|
17
|
+
- Node.js 24 or newer
|
|
18
|
+
- npm, which Node.js includes
|
|
19
|
+
- A model credential for the model your agent uses
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+
## Choose your next step
|
|
20
22
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
## Quick start
|
|
24
|
-
|
|
25
|
-
`npx` runs `eve init` without installing eve first:
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
npx eve@latest init my-agent
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
The command:
|
|
32
|
-
|
|
33
|
-
- Creates a child directory using the current workspace or launcher package manager, and uses eve's default model
|
|
34
|
-
- Installs dependencies and initializes Git
|
|
35
|
-
- When a supported coding-agent REPL (Claude Code, Codex, Cursor, Droid, Gemini CLI, opencode, or Pi) is on `PATH`, asks whether to open an available REPL or start the development server; otherwise starts the server and opens the interactive [terminal UI](./guides/dev-tui)
|
|
36
|
-
|
|
37
|
-
Type a message and watch the model loop run. Pass `--channel-web-nextjs` to add the Web Chat application. Every app ships the built-in HTTP channel (`agent/channels/eve.ts`) regardless.
|
|
38
|
-
|
|
39
|
-
When you choose one of those REPLs, eve starts it with a project-specific
|
|
40
|
-
prompt that guides the setup. The prompt distinguishes `eve dev`, which starts
|
|
41
|
-
eve's HMR server and the agent's terminal REPL, from `eve dev --no-ui`, which is
|
|
42
|
-
the controllable background mode for verification.
|
|
43
|
-
|
|
44
|
-
`eve init` holds the terminal, so stop it with Ctrl+C to get your shell back before editing the generated agent. The command does not create a Vercel project or deploy.
|
|
45
|
-
|
|
46
|
-
To add eve to an existing project, run `eve init .` from a directory that already has a `package.json` and no `agent/` files yet. eve adds the missing `eve`, `ai`, and `zod` dependencies without touching anything else the project owns. The eve dependency and the Node engine come from the same release. eve pins `engines.node` to the lowest major that release supports (for example `24.x`). It keeps an existing range only when every version that range allows stays within that major; otherwise it replaces the range and prints a warning.
|
|
47
|
-
|
|
48
|
-
## Manual installation
|
|
49
|
-
|
|
50
|
-
To wire eve into an existing app by hand instead of using `eve init`, first declare a compatible Node runtime in `package.json`:
|
|
51
|
-
|
|
52
|
-
```json
|
|
53
|
-
{
|
|
54
|
-
"engines": {
|
|
55
|
-
"node": "24.x"
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
Then install the dependencies and author the two files the runtime needs. The `eve init` scaffold adds `ai` and `zod` for you; by hand you install all three:
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
npm install eve@latest ai zod
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### Project files
|
|
67
|
-
|
|
68
|
-
A minimal agent is two files; you add tools as you need them.
|
|
69
|
-
|
|
70
|
-
`agent/instructions.md` is the always-on system prompt:
|
|
71
|
-
|
|
72
|
-
```md
|
|
73
|
-
You are a concise assistant. Use tools when they are available.
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
`agent/agent.ts` holds runtime config:
|
|
77
|
-
|
|
78
|
-
```ts
|
|
79
|
-
import { defineAgent } from "eve";
|
|
80
|
-
|
|
81
|
-
export default defineAgent({
|
|
82
|
-
model: "anthropic/claude-sonnet-5",
|
|
83
|
-
});
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
Before using real customer data, confirm the selected model provider's terms, routing path, and retention settings are appropriate for that data.
|
|
87
|
-
|
|
88
|
-
Even at this size the agent can already do real work. The default harness gives it file, shell, web, and delegation tools out of the box. See [Default harness](./concepts/default-harness) for the full set and how to override or disable any of them.
|
|
89
|
-
|
|
90
|
-
### Add your first tool
|
|
91
|
-
|
|
92
|
-
The filename becomes the tool name the model sees, and it must be snake_case ASCII. Create `agent/tools/get_weather.ts`:
|
|
93
|
-
|
|
94
|
-
```ts
|
|
95
|
-
import { defineTool } from "eve/tools";
|
|
96
|
-
import { z } from "zod";
|
|
97
|
-
|
|
98
|
-
// The model sees this tool as `get_weather`, from the filename.
|
|
99
|
-
export default defineTool({
|
|
100
|
-
description: "Get the current weather for a city.",
|
|
101
|
-
inputSchema: z.object({ city: z.string().min(1) }),
|
|
102
|
-
async execute({ city }) {
|
|
103
|
-
return { city, condition: "Sunny", temperatureF: 72 };
|
|
104
|
-
},
|
|
105
|
-
});
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
Tools run in your app runtime with full `process.env`, not inside the [sandbox](./sandbox). More in [Tools](./tools).
|
|
109
|
-
|
|
110
|
-
## Run the app
|
|
111
|
-
|
|
112
|
-
A scaffolded app has a `dev` script, so from the app root run:
|
|
113
|
-
|
|
114
|
-
```bash
|
|
115
|
-
npm run dev
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
The manual path authors no `dev` script. Run the binary through `npx` instead:
|
|
119
|
-
|
|
120
|
-
```bash
|
|
121
|
-
npx eve dev
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
Other commands the eve binary provides (prefix each with `npx`, or add a matching package.json script):
|
|
125
|
-
|
|
126
|
-
- `eve info`: show the active routes and compiled artifacts
|
|
127
|
-
- `eve build`: compile the agent into `.eve/` and build the host output
|
|
128
|
-
- `eve start`: serve the built output
|
|
129
|
-
- `eve dev`: start the local runtime and open the interactive [terminal UI](./guides/dev-tui)
|
|
130
|
-
|
|
131
|
-
In the dev TUI, type a message and watch it happen in order. First the `get_weather` call, then its result, then the reply.
|
|
132
|
-
|
|
133
|
-
The same CLI can point at a deployment. `npx eve dev https://your-app.vercel.app` drives a deployed app, which is handy for preview and production smoke tests. See [Deployment](./guides/deployment/overview).
|
|
134
|
-
|
|
135
|
-
## Send a message
|
|
136
|
-
|
|
137
|
-
Every eve app exposes the same stable HTTP API. Start a durable session:
|
|
138
|
-
|
|
139
|
-
```bash
|
|
140
|
-
curl -X POST http://127.0.0.1:2000/eve/v1/session \
|
|
141
|
-
-H 'content-type: application/json' \
|
|
142
|
-
-d '{"message":"What is the weather in Brooklyn?"}'
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
The response comes back with two things you'll reuse:
|
|
146
|
-
|
|
147
|
-
- a `continuationToken` in the JSON body, to resume this conversation
|
|
148
|
-
- an `x-eve-session-id` header that identifies the run to stream
|
|
149
|
-
|
|
150
|
-
## Stream the session
|
|
151
|
-
|
|
152
|
-
Attach to the session stream:
|
|
153
|
-
|
|
154
|
-
```bash
|
|
155
|
-
curl http://127.0.0.1:2000/eve/v1/session/<sessionId>/stream
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
The stream is NDJSON, served as `application/x-ndjson; charset=utf-8`. For this run you'll see a handful of lifecycle events:
|
|
159
|
-
|
|
160
|
-
- `session.started`
|
|
161
|
-
- `actions.requested` (the `get_weather` call)
|
|
162
|
-
- `action.result`
|
|
163
|
-
- `message.completed` (the reply)
|
|
164
|
-
- `session.completed`
|
|
165
|
-
|
|
166
|
-
`reasoning.appended` and `message.appended` are optional live-streaming events. Clients that can't surface incremental output can ignore them and rely on `reasoning.completed` and `message.completed`.
|
|
167
|
-
|
|
168
|
-
Note: consider the privacy, confidentiality, and user-experience implications for displaying, storing, or transmitting reasoning events in your application.
|
|
169
|
-
|
|
170
|
-
The full set covers more lifecycle, human-in-the-loop, and authorization events, including `input.requested`, `turn.failed`, `authorization.required`, and `authorization.completed`. See [Sessions, runs and streaming](./concepts/sessions-runs-and-streaming) for every event and its data shape.
|
|
171
|
-
|
|
172
|
-
## Send a follow-up message
|
|
173
|
-
|
|
174
|
-
When the session is waiting for the next user message, post a follow-up with the token:
|
|
175
|
-
|
|
176
|
-
```bash
|
|
177
|
-
curl -X POST http://127.0.0.1:2000/eve/v1/session/<sessionId> \
|
|
178
|
-
-H 'content-type: application/json' \
|
|
179
|
-
-d '{"continuationToken":"<token>","message":"Now do Queens."}'
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
See [Sessions, runs and streaming](./concepts/sessions-runs-and-streaming) for the full contract.
|
|
183
|
-
|
|
184
|
-
## Setting up with a coding agent
|
|
185
|
-
|
|
186
|
-
If a coding agent (Claude Code, Cursor, and the like) is doing the setup, hand it this prompt:
|
|
187
|
-
|
|
188
|
-
<CopyPrompt text="Set up an eve agent for the user. eve is a filesystem-first TypeScript framework for durable agents, published as the npm package eve. Read its docs: once eve is installed they are bundled in the package at node_modules/eve/docs; before eve is installed, read the published Introduction and Getting Started pages. If the project has no eve app, scaffold one with `npx eve@latest init <name>`; add `--channel-web-nextjs` only when the user wants Web Chat. In a coding-agent launch, init installs dependencies and prints the project-specific dev command instead of starting the interactive terminal UI. A fresh project also initializes Git; an existing app keeps its repository and scripts. To add eve to an existing app, run `eve init .`, or install the dependencies by hand with `npm install eve@latest ai zod` (init adds ai and zod; the by-hand path needs all three). Make sure agent/agent.ts and agent/instructions.md exist, then add a first typed tool at agent/tools/get_weather.ts using defineTool from eve/tools with a Zod inputSchema and an inline execute. Start eve in a controllable background process with `npx eve dev --no-ui`, wait for the server URL, then exercise the HTTP API: create a session with POST /eve/v1/session, attach to GET /eve/v1/session/:id/stream, and send a follow-up with the returned continuationToken. Stop the dev process after verification. Verify with the project's typecheck, adapt model and provider choices to the project, and do not commit unless the user asks.">
|
|
189
|
-
Set up an eve agent: read the eve docs (bundled at node_modules/eve/docs once eve is
|
|
190
|
-
installed), scaffold with `npx eve@latest init <name>` (or `npm install eve@latest ai zod` in an existing app), add
|
|
191
|
-
a typed tool at agent/tools/get_weather.ts, run it with `npx eve dev --no-ui`, then create a session, stream
|
|
192
|
-
it, and send a follow-up.
|
|
193
|
-
</CopyPrompt>
|
|
194
|
-
|
|
195
|
-
Once `eve` is a dependency, the package bundles the full docs, so the agent can read them locally at `node_modules/eve/docs/` without fetching anything.
|
|
196
|
-
|
|
197
|
-
To add a platform channel after setup, run `eve channels add slack` from an interactive terminal. The init flags are covered in [Quick start](#quick-start).
|
|
198
|
-
|
|
199
|
-
## What to read next
|
|
200
|
-
|
|
201
|
-
- [Instructions](./instructions) and [Tools](./tools): the core building blocks
|
|
202
|
-
- [Channels](./channels/overview): reach the agent from Slack, Discord, or a web UI
|
|
203
|
-
- [Frontend](./guides/frontend/overview): browser chat with `useEveAgent`
|
|
204
|
-
- [TypeScript SDK](./guides/client/overview): call the agent from scripts or server-side code
|
|
205
|
-
- [Sessions, runs and streaming](./concepts/sessions-runs-and-streaming): the durable session model
|
|
206
|
-
- [Build an agent](./tutorial/first-agent): the full end-to-end walkthrough
|
|
23
|
+
Start with [Installation](/docs/installation) when you need a new project. Read [Project structure](/docs/project-structure) when you already have an eve project or want to add a capability.
|
|
@@ -220,6 +220,26 @@ You do not have to keep `vercelOidc()` in the final policy. For a self-hosted ap
|
|
|
220
220
|
|
|
221
221
|
Keep secret values (`ROUTE_AUTH_BASIC_PASSWORD`, signing keys) in environment variables. Route-auth secrets never land in compiled artifacts. The runtime re-materializes them from the authored channel definition at boot.
|
|
222
222
|
|
|
223
|
+
## Accepting forwarded identity from another deployment
|
|
224
|
+
|
|
225
|
+
A `defineRemoteAgent({ forwardPrincipal: true })` caller (see [Remote agents](./remote-agents#forwarding-the-caller-identity)) asserts its end user's principal on the create-session request as a `forwardedPrincipal` body field. By default every such assertion is rejected with `403` — accepting someone else's word for who the user is requires naming exactly which forwarders you trust. Do that with `trustedForwarders` on `eveChannel`:
|
|
226
|
+
|
|
227
|
+
```ts title="agent/channels/eve.ts"
|
|
228
|
+
import { eveChannel } from "eve/channels/eve";
|
|
229
|
+
import { vercelOidc, vercelSubject } from "eve/channels/auth";
|
|
230
|
+
|
|
231
|
+
export default eveChannel({
|
|
232
|
+
auth: [vercelOidc()],
|
|
233
|
+
// Only the router deployment may assert a forwarded principal.
|
|
234
|
+
trustedForwarders: (forwarder) =>
|
|
235
|
+
forwarder.subject === vercelSubject({ teamSlug: "acme", projectName: "router" }),
|
|
236
|
+
});
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
The predicate authorizes the _forwarder_ (the verified route-auth principal — who is asserting), not the forwarded principal (what is asserted). Match it precisely: a permissive predicate like `() => true` lets any caller that passes route auth assert any principal, including preview deployments of your own project when `vercelOidc()` is in the walk. `trustedForwarders` exists only on your authored channel — the framework default channel never accepts a forwarded principal, so a receiving deployment must author `agent/channels/eve.ts`.
|
|
240
|
+
|
|
241
|
+
When the predicate accepts, the forwarded principal replaces the session principal: `ctx.session.auth.current` and `.initiator` carry the forwarded user exactly as if they had called your deployment directly, so user-scoped connections, local subagents, and further `forwardPrincipal` hops all see that user. The forwarder is recorded on the accepted contexts as the `eve:forwarded-by` attribute (always overwritten by the receiver, so a forwarder cannot falsify it). Rejections fail loud: a forwarded body without `trustedForwarders` configured or with a forwarder the predicate refuses is a `403`, and a malformed payload is a `400`. Only principal metadata is ever accepted — tokens and credentials never cross the hop.
|
|
242
|
+
|
|
223
243
|
## What reaches `ctx.session.auth`
|
|
224
244
|
|
|
225
245
|
Inside runtime code, `ctx.session.auth` carries the result of the channel's route auth (the walk above) forward as the caller snapshot:
|
|
@@ -108,6 +108,8 @@ const response = await session.send({
|
|
|
108
108
|
await response.result();
|
|
109
109
|
```
|
|
110
110
|
|
|
111
|
+
Per-request headers override client-level values with the same name. For example, a turn can set its application user's `Authorization` header while `vercelOidc` continues to send the deployment-protection credential in `x-vercel-trusted-oidc-idp-token`.
|
|
112
|
+
|
|
111
113
|
## Sessions
|
|
112
114
|
|
|
113
115
|
Create a `ClientSession` for each conversation:
|
|
@@ -157,6 +157,21 @@ for await (const event of session.stream({ startIndex: -1 })) {
|
|
|
157
157
|
|
|
158
158
|
Tail-relative attachments do not automatically reconnect or advance the session's stored absolute `streamIndex`. Break after the event you need when using one as a tail lookup.
|
|
159
159
|
|
|
160
|
+
## Bounded catch-up reads
|
|
161
|
+
|
|
162
|
+
Pass `follow: false` to read from the cursor to the durable tail and then stop, instead of following the live stream (the default):
|
|
163
|
+
|
|
164
|
+
```ts
|
|
165
|
+
for await (const event of session.stream({ follow: false })) {
|
|
166
|
+
console.log(event.type);
|
|
167
|
+
}
|
|
168
|
+
// Returns once every event recorded before the stream opened is consumed.
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
The first connection pins the bound to the tail the server reports at open time; events recorded afterward are not part of the read. Reconnects during the read keep that original bound, and the session's stored `streamIndex` still advances past the consumed events, so a follow-up `stream()` or `send()` picks up exactly where the bounded read ended. When the cursor is already at or past the tail, the iterator returns immediately without yielding.
|
|
172
|
+
|
|
173
|
+
Because a tail-relative cursor cannot be bounded, `follow: false` throws when combined with a negative `startIndex`. It also fails if the server does not report the durable tail (an agent running an older eve version).
|
|
174
|
+
|
|
160
175
|
`stream()` throws if the session has no `sessionId`, because there's no stream to attach to before the first send.
|
|
161
176
|
|
|
162
177
|
## Abort a request
|
|
@@ -20,14 +20,15 @@ export default defineRemoteAgent({
|
|
|
20
20
|
|
|
21
21
|
`defineRemoteAgent` accepts:
|
|
22
22
|
|
|
23
|
-
| Parameter
|
|
24
|
-
|
|
|
25
|
-
| `url`
|
|
26
|
-
| `description`
|
|
27
|
-
| `auth`
|
|
28
|
-
| `
|
|
29
|
-
| `
|
|
30
|
-
| `
|
|
23
|
+
| Parameter | Type | Required | Default | Description |
|
|
24
|
+
| ------------------ | --------------------------------------------- | -------- | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
25
|
+
| `url` | `string \| (() => string \| Promise<string>)` | Yes | n/a | Base URL of the remote eve deployment to call. A string is baked at compile time; a function is resolved at runtime (see [Runtime URLs](#runtime-urls)). |
|
|
26
|
+
| `description` | `string` | Yes | n/a | Model-visible delegation description. |
|
|
27
|
+
| `auth` | `OutboundAuthFn` | No | none | Outbound auth hook from `eve/agents/auth`. |
|
|
28
|
+
| `forwardPrincipal` | `boolean` | No | `false` | Forward the dispatching turn's session principal to the remote deployment (see [Forwarding the caller identity](#forwarding-the-caller-identity)). |
|
|
29
|
+
| `headers` | `HeadersValue` | No | none | Static or lazily resolved request headers. |
|
|
30
|
+
| `path` | `string` | No | `/eve/v1/session` | Route appended to `url` for the create-session request. |
|
|
31
|
+
| `outputSchema` | `StandardSchema \| JSON Schema` | No | none | Structured return type the caller requires. Lowered to JSON Schema at compile time and enforced by the remote like any task-mode output schema. |
|
|
31
32
|
|
|
32
33
|
## Runtime URLs
|
|
33
34
|
|
|
@@ -60,6 +61,28 @@ A remote agent lowers to the same `{ message, outputSchema? }` tool shape as a l
|
|
|
60
61
|
|
|
61
62
|
If you are calling another Vercel-deployed eve agent, reach for `vercelOidc()`. The remote verifies the OIDC token to authorize the caller. See [Auth & route protection](./auth-and-route-protection) for the receiving side.
|
|
62
63
|
|
|
64
|
+
## Forwarding the caller identity
|
|
65
|
+
|
|
66
|
+
Outbound auth authenticates your _deployment_ to the remote, so by default the remote session runs as your calling app — not as the end user who is talking to your agent. That breaks per-user workloads on the remote deployment, most directly per-user [Vercel Connect](./auth-and-route-protection#tool-and-connection-auth), which requires an authenticated `user` principal on the session.
|
|
67
|
+
|
|
68
|
+
Set `forwardPrincipal: true` to forward the dispatching turn's session principal across the hop:
|
|
69
|
+
|
|
70
|
+
```ts title="agent/subagents/site-ops.ts"
|
|
71
|
+
import { defineRemoteAgent } from "eve";
|
|
72
|
+
import { vercelOidc } from "eve/agents/auth";
|
|
73
|
+
|
|
74
|
+
export default defineRemoteAgent({
|
|
75
|
+
url: "https://site-ops.example.com",
|
|
76
|
+
description: "Executes site operations as the requesting user.",
|
|
77
|
+
auth: vercelOidc(), // transport trust: authenticates *this* deployment
|
|
78
|
+
forwardPrincipal: true, // identity: asserts the current session principal
|
|
79
|
+
});
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
The create-session request then carries the parent turn's `session.auth.current` and `session.auth.initiator` as a `forwardedPrincipal` body field (`initiator` is optional on the wire; when absent, the receiver seeds both from `current`). Only principal metadata crosses the wire — never tokens or credentials. The receiving deployment mints its own per-user credentials through its own connections.
|
|
83
|
+
|
|
84
|
+
Forwarding is explicit on both sides. The receiver names which forwarders it trusts with `eveChannel({ trustedForwarders })` (see [Auth & route protection](./auth-and-route-protection#accepting-forwarded-identity-from-another-deployment)); a receiver that refuses the forwarder — or has no `trustedForwarders` at all — rejects with a 403 and the dispatch fails. One caveat: a receiver on an eve version that predates principal forwarding drops the unknown field and runs the session as your app's service identity (per-user connections there fail with `principal_required`), so upgrade both deployments together when enabling forwarding. When the dispatching turn has no auth at all, the field is omitted and the call proceeds on transport trust alone.
|
|
85
|
+
|
|
63
86
|
## How remote dispatch and callbacks work
|
|
64
87
|
|
|
65
88
|
A local subagent runs inline. A remote one runs in its own deployment, so dispatch is asynchronous:
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Installation"
|
|
3
|
+
description: "Create an eve project, configure a model credential, and run it locally."
|
|
4
|
+
contentType: "How-to"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Create an eve project with `eve init`. The scaffold installs dependencies, creates the agent files, and starts the local development server.
|
|
8
|
+
|
|
9
|
+
## Configure a model credential
|
|
10
|
+
|
|
11
|
+
The default scaffolded model routes through the Vercel AI Gateway. Set `AI_GATEWAY_API_KEY`, or link a Vercel project to use `VERCEL_OIDC_TOKEN`.
|
|
12
|
+
|
|
13
|
+
You can also use a direct provider model. Install its AI SDK provider package and set that provider's API key before you run the agent.
|
|
14
|
+
|
|
15
|
+
Choose a model, provider, and channel that meet your data-processing and compliance requirements.
|
|
16
|
+
|
|
17
|
+
## Create a project
|
|
18
|
+
|
|
19
|
+
Run `eve init` with a project name:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx eve@latest init my-agent
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The command creates `my-agent/`, installs dependencies, initializes Git, and starts eve's development server. If a supported coding-agent REPL is available, eve offers to open it instead.
|
|
26
|
+
|
|
27
|
+
## Run the agent
|
|
28
|
+
|
|
29
|
+
From the project root, run the generated development command:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
cd my-agent
|
|
33
|
+
npm run dev
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
The terminal UI sends messages to your agent. Stop the server with Ctrl+C when you need your shell for another command.
|
|
37
|
+
|
|
38
|
+
## Add eve to an existing project
|
|
39
|
+
|
|
40
|
+
Run `eve init .` from a project with a `package.json` and no existing `agent/` files:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
npx eve@latest init .
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
eve adds the missing `eve`, `ai`, and `zod` dependencies without changing files the project already owns.
|
|
47
|
+
|
|
48
|
+
## Install manually
|
|
49
|
+
|
|
50
|
+
Install the runtime dependencies when you do not want to use the scaffold:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npm install eve@latest ai zod
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Declare Node.js 24 in `package.json`, then create `agent/agent.ts` and `agent/instructions.md`. [Project structure](/docs/project-structure) shows the required layout, and [`agent.ts`](./agent-config) documents the runtime configuration.
|
|
57
|
+
|
|
58
|
+
## Continue building
|
|
59
|
+
|
|
60
|
+
Read [Project structure](/docs/project-structure) before adding instructions, tools, connections, or channels.
|
package/docs/meta.json
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"pages": [
|
|
3
|
-
"
|
|
3
|
+
"---Getting Started---",
|
|
4
4
|
"getting-started",
|
|
5
|
-
"
|
|
5
|
+
"installation",
|
|
6
|
+
"project-structure",
|
|
7
|
+
"---Build Your Agent---",
|
|
6
8
|
"agent-config",
|
|
7
9
|
"instructions",
|
|
8
10
|
"tools",
|
|
@@ -14,12 +16,11 @@
|
|
|
14
16
|
"subagents",
|
|
15
17
|
"schedules",
|
|
16
18
|
"evals",
|
|
17
|
-
"---",
|
|
19
|
+
"---Learn More---",
|
|
20
|
+
"tutorial",
|
|
18
21
|
"guides",
|
|
19
22
|
"concepts",
|
|
20
23
|
"patterns",
|
|
21
|
-
"
|
|
22
|
-
"reference",
|
|
23
|
-
"tutorial"
|
|
24
|
+
"reference"
|
|
24
25
|
]
|
|
25
26
|
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Project Structure"
|
|
3
|
+
description: "Learn the files eve discovers and how their paths define agent capabilities."
|
|
4
|
+
contentType: "Conceptual"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
eve builds an agent from files under `agent/`. A file's location determines what eve loads, and most paths also determine the capability's name.
|
|
8
|
+
|
|
9
|
+
## Start with two files
|
|
10
|
+
|
|
11
|
+
A minimal agent needs an instructions file and optional runtime configuration:
|
|
12
|
+
|
|
13
|
+
```text
|
|
14
|
+
my-agent/
|
|
15
|
+
├── package.json
|
|
16
|
+
├── agent/
|
|
17
|
+
│ ├── agent.ts
|
|
18
|
+
│ └── instructions.md
|
|
19
|
+
└── evals/
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
`agent/instructions.md` is the agent's always-on system prompt. `agent/agent.ts` selects the model and configures runtime behavior. Omit `agent.ts` when the defaults are sufficient.
|
|
23
|
+
|
|
24
|
+
## Add capabilities as directories
|
|
25
|
+
|
|
26
|
+
Add a directory when the agent needs that capability:
|
|
27
|
+
|
|
28
|
+
| Path | Purpose |
|
|
29
|
+
| ----------------------------------- | --------------------------------------------- |
|
|
30
|
+
| [`tools/`](./tools) | Typed functions the model can call |
|
|
31
|
+
| [`skills/`](./skills) | Procedures the model loads when useful |
|
|
32
|
+
| [`channels/`](./channels/overview) | HTTP and messaging entry points |
|
|
33
|
+
| [`connections/`](/docs/connections) | MCP and OpenAPI services |
|
|
34
|
+
| [`sandbox/`](./sandbox) | Controlled workspace files and commands |
|
|
35
|
+
| [`subagents/`](./subagents) | Specialist agents the root agent delegates to |
|
|
36
|
+
| [`schedules/`](./schedules) | Recurring work |
|
|
37
|
+
| `lib/` | Shared code imported by agent files |
|
|
38
|
+
|
|
39
|
+
The `evals/` directory sits beside `agent/`. It holds the checks that measure whether the agent completes its tasks. See [Evals](./evals/overview).
|
|
40
|
+
|
|
41
|
+
## Let paths name capabilities
|
|
42
|
+
|
|
43
|
+
The path supplies the name. This tool file becomes the `get_weather` tool:
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
agent/tools/get_weather.ts
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
The same rule applies to connections, skills, and subagents. You do not add a duplicate `name` or `id` field to the definition.
|
|
50
|
+
|
|
51
|
+
## Use the full layout reference
|
|
52
|
+
|
|
53
|
+
[Project layout](./reference/project-layout) lists every supported slot, the root and subagent boundaries, and the file-discovery rules.
|
package/docs/reference/cli.md
CHANGED
|
@@ -240,7 +240,7 @@ See [Evals](../evals/overview) for authoring evals.
|
|
|
240
240
|
eve channels add [kind] [-f] [-y]
|
|
241
241
|
```
|
|
242
242
|
|
|
243
|
-
Scaffolds a channel into `agent/channels/`. With no `kind` it prompts interactively; pass a `kind` (`slack` \| `web`) to scaffold one directly.
|
|
243
|
+
Scaffolds a channel into `agent/channels/`. With no `kind` it prompts interactively; pass a `kind` (`slack` \| `web`) to scaffold one directly. When the Vercel CLI has an authenticated session, eve scaffolds the Vercel-integrated variant and asks whether to deploy after setup. Without one, Slack setup asks whether to set up Vercel Connect or use portable credentials. The portable variant reads `SLACK_BOT_TOKEN` and `SLACK_SIGNING_SECRET` and adds both names to `.env.example`.
|
|
244
244
|
|
|
245
245
|
| Flag | Type | Default | Description |
|
|
246
246
|
| ------------- | ---- | ------- | --------------------------------------------------------- |
|
package/docs/tutorial/meta.json
CHANGED