eve 0.11.2 → 0.11.3
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 +11 -2
- package/README.md +11 -11
- package/bin/eve.d.ts +1 -1
- package/bin/eve.js +6 -6
- package/dist/src/channel/routes.d.ts +4 -4
- package/dist/src/channel/types.d.ts +2 -2
- package/dist/src/channel/websocket-upgrade-server.d.ts +3 -3
- package/dist/src/chunks/{use-eve-agent-CdETo3qQ.js → use-eve-agent-D9ZhQhyV.js} +2 -2
- package/dist/src/chunks/{use-eve-agent-ClyM-_UT.js → use-eve-agent-DFI0POM9.js} +2 -2
- package/dist/src/cli/banner.d.ts +1 -1
- package/dist/src/cli/banner.js +1 -1
- package/dist/src/cli/commands/channel-add-conflicts.js +1 -1
- package/dist/src/cli/commands/channels.js +1 -1
- package/dist/src/cli/commands/deploy.js +1 -1
- package/dist/src/cli/commands/info.js +1 -1
- package/dist/src/cli/commands/init-agent-instructions.md +1 -1
- package/dist/src/cli/commands/init-git.js +1 -1
- package/dist/src/cli/commands/init.d.ts +1 -1
- package/dist/src/cli/commands/link.js +1 -1
- package/dist/src/cli/commands/preconditions.d.ts +2 -2
- package/dist/src/cli/commands/preconditions.js +1 -1
- package/dist/src/cli/dev/environment.d.ts +1 -1
- package/dist/src/cli/dev/tui/runner.js +1 -1
- package/dist/src/cli/dev/tui/setup-issues.d.ts +2 -0
- package/dist/src/cli/dev/tui/setup-issues.js +1 -1
- package/dist/src/cli/dev/tui/terminal-renderer.js +2 -2
- package/dist/src/cli/dev/tui/theme.d.ts +1 -1
- package/dist/src/cli/dev/tui/tui.d.ts +1 -1
- package/dist/src/cli/dev/url.d.ts +1 -1
- package/dist/src/cli/run.d.ts +1 -1
- package/dist/src/cli/run.js +2 -2
- package/dist/src/cli/ui/output.d.ts +1 -1
- package/dist/src/client/client-error.d.ts +1 -1
- package/dist/src/client/client.d.ts +3 -3
- package/dist/src/client/eve-agent-store.d.ts +1 -1
- package/dist/src/client/eve-agent-store.js +1 -1
- package/dist/src/client/message-reducer-types.d.ts +3 -3
- package/dist/src/client/message-reducer.d.ts +3 -3
- package/dist/src/client/output-schema.d.ts +1 -1
- package/dist/src/client/reducer.d.ts +5 -5
- package/dist/src/client/session.d.ts +1 -1
- package/dist/src/client/types.d.ts +1 -1
- package/dist/src/client/url.d.ts +2 -2
- package/dist/src/compiled/.vendor-stamp.json +1 -1
- package/dist/src/compiled/@vercel/detect-agent/index.d.ts +1 -1
- package/dist/src/compiler/channel-instrumentation-types.js +1 -1
- package/dist/src/compiler/model-catalog.d.ts +1 -1
- package/dist/src/compiler/module-map.js +1 -1
- package/dist/src/compiler/normalize-agent-config.js +1 -1
- package/dist/src/compiler/normalize-channel.js +1 -1
- package/dist/src/compiler/normalize-connection.js +1 -1
- package/dist/src/compiler/normalize-instructions.js +1 -1
- package/dist/src/compiler/normalize-sandbox.js +1 -1
- package/dist/src/compiler/normalize-schedule.js +1 -1
- package/dist/src/compiler/normalize-skill.js +1 -1
- package/dist/src/compiler/normalize-subagent.js +1 -1
- package/dist/src/compiler/normalize-tool.js +1 -1
- package/dist/src/compiler/workspace-resources.js +1 -1
- package/dist/src/context/build-callback-context.js +1 -1
- package/dist/src/context/container.d.ts +4 -4
- package/dist/src/context/container.js +1 -1
- package/dist/src/discover/diagnostics.d.ts +1 -1
- package/dist/src/discover/project.d.ts +2 -2
- package/dist/src/discover/project.js +1 -1
- package/dist/src/evals/cli/eval-client.d.ts +1 -1
- package/dist/src/evals/define-eval.d.ts +1 -1
- package/dist/src/evals/runner/execute-eval.d.ts +1 -1
- package/dist/src/evals/runner/execute-task.d.ts +1 -1
- package/dist/src/evals/types.d.ts +6 -6
- package/dist/src/execution/durable-session-migrations/chain.js +1 -1
- package/dist/src/execution/sandbox/bash-tool.js +1 -1
- package/dist/src/execution/sandbox/bindings/docker-options.d.ts +1 -1
- package/dist/src/execution/sandbox/bindings/just-bash-runtime.js +1 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-runtime.js +1 -1
- package/dist/src/execution/sandbox/bindings/vercel.js +1 -1
- package/dist/src/execution/sandbox/development-prewarm.js +1 -1
- package/dist/src/execution/sandbox/ensure.js +1 -1
- package/dist/src/execution/sandbox/prewarm.js +1 -1
- package/dist/src/execution/session-callback-step.d.ts +1 -1
- package/dist/src/harness/attachment-staging.js +1 -1
- package/dist/src/harness/code-mode-lifecycle.d.ts +1 -1
- package/dist/src/harness/emission.d.ts +1 -1
- package/dist/src/harness/runtime-actions.d.ts +1 -1
- package/dist/src/internal/application/cache-metadata.d.ts +2 -2
- package/dist/src/internal/application/compiled-artifacts.js +2 -2
- package/dist/src/internal/application/package.d.ts +7 -7
- package/dist/src/internal/application/package.js +1 -1
- package/dist/src/internal/authored-module-bundle.js +1 -1
- package/dist/src/internal/helpers/markdown.js +1 -1
- package/dist/src/internal/instrumentation.d.ts +1 -1
- package/dist/src/internal/nitro/host/build-application.d.ts +1 -1
- package/dist/src/internal/nitro/host/channel-routes.d.ts +3 -3
- package/dist/src/internal/nitro/host/configure-nitro-routes.d.ts +1 -1
- package/dist/src/internal/nitro/host/configure-nitro-routes.js +1 -1
- package/dist/src/internal/nitro/host/create-application-nitro.d.ts +1 -1
- package/dist/src/internal/nitro/host/cron-handler-route.d.ts +3 -3
- package/dist/src/internal/nitro/host/nitro-bundler-config.d.ts +1 -1
- package/dist/src/internal/nitro/host/optional-engine-dependency-plugin.d.ts +2 -2
- package/dist/src/internal/nitro/host/schedule-task-routes.d.ts +2 -2
- package/dist/src/internal/nitro/host/start-development-server.d.ts +1 -1
- package/dist/src/internal/nitro/host/start-development-server.js +1 -1
- package/dist/src/internal/nitro/host/start-production-server.d.ts +1 -1
- package/dist/src/internal/nitro/host/start-production-server.js +2 -2
- package/dist/src/internal/nitro/routes/agent-info/load-agent-info-data.js +1 -1
- package/dist/src/internal/nitro/routes/health.d.ts +1 -1
- package/dist/src/internal/nitro/routes/info.d.ts +1 -1
- package/dist/src/internal/nitro/routes/runtime-artifacts.js +1 -1
- package/dist/src/internal/nitro/routes/schedule-task.d.ts +1 -1
- package/dist/src/internal/package-name.d.ts +1 -1
- package/dist/src/internal/vercel-agent-summary.d.ts +6 -6
- package/dist/src/internal/workflow/builtins.d.ts +3 -3
- package/dist/src/internal/workflow-bundle/nitro-step-entry.js +1 -1
- package/dist/src/internal/workflow-bundle/vercel-workflow-output.d.ts +7 -7
- package/dist/src/internal/workflow-bundle/workflow-core-shim.d.ts +4 -4
- package/dist/src/internal/workflow-bundle/workflow-core-shim.js +1 -1
- package/dist/src/packages/eve-catalog/src/index.js +1 -1
- package/dist/src/protocol/message.d.ts +2 -2
- package/dist/src/protocol/routes.d.ts +3 -3
- package/dist/src/public/agents/auth.d.ts +1 -1
- package/dist/src/public/channels/auth.d.ts +1 -1
- package/dist/src/public/channels/discord/api.d.ts +2 -2
- package/dist/src/public/channels/discord/discordChannel.d.ts +2 -2
- package/dist/src/public/channels/discord/hitl.d.ts +4 -4
- package/dist/src/public/channels/discord/verify.d.ts +1 -1
- package/dist/src/public/channels/eve.d.ts +5 -5
- package/dist/src/public/channels/github/api.d.ts +1 -1
- package/dist/src/public/channels/github/defaults.d.ts +1 -1
- package/dist/src/public/channels/github/inbound.d.ts +1 -1
- package/dist/src/public/channels/index.d.ts +2 -2
- package/dist/src/public/channels/linear/auth.d.ts +1 -1
- package/dist/src/public/channels/linear/hitl.d.ts +4 -4
- package/dist/src/public/channels/linear/inbound.d.ts +1 -1
- package/dist/src/public/channels/linear/verify.d.ts +1 -1
- package/dist/src/public/channels/slack/constants.d.ts +1 -1
- package/dist/src/public/channels/teams/api.d.ts +4 -4
- package/dist/src/public/channels/teams/hitl.d.ts +4 -4
- package/dist/src/public/channels/teams/limits.d.ts +3 -3
- package/dist/src/public/channels/teams/verify.d.ts +2 -2
- package/dist/src/public/channels/telegram/api.d.ts +1 -1
- package/dist/src/public/channels/telegram/hitl.d.ts +3 -3
- package/dist/src/public/channels/telegram/verify.d.ts +1 -1
- package/dist/src/public/channels/twilio/api.d.ts +1 -1
- package/dist/src/public/context/index.d.ts +1 -1
- package/dist/src/public/definitions/defineChannel.d.ts +2 -2
- package/dist/src/public/definitions/hook.d.ts +1 -1
- package/dist/src/public/definitions/remote-agent.d.ts +5 -5
- package/dist/src/public/definitions/sandbox.d.ts +1 -1
- package/dist/src/public/definitions/source.d.ts +2 -2
- package/dist/src/public/definitions/state.d.ts +2 -2
- package/dist/src/public/definitions/state.js +1 -1
- package/dist/src/public/instrumentation/index.d.ts +3 -3
- package/dist/src/public/next/index.d.ts +12 -12
- package/dist/src/public/next/index.js +1 -1
- package/dist/src/public/next/server.js +1 -1
- package/dist/src/public/next/vercel-output-config.js +1 -1
- package/dist/src/public/nuxt/dev-server.d.ts +2 -2
- package/dist/src/public/nuxt/dev-server.js +1 -1
- package/dist/src/public/nuxt/module.d.ts +10 -10
- package/dist/src/public/nuxt/routing.d.ts +6 -6
- package/dist/src/public/nuxt/routing.js +1 -1
- package/dist/src/public/nuxt/vercel-json.d.ts +2 -2
- package/dist/src/public/sandbox/backends/just-bash.d.ts +1 -1
- package/dist/src/public/sandbox/backends/microsandbox.d.ts +1 -1
- package/dist/src/public/sandbox/backends/vercel.d.ts +1 -1
- package/dist/src/public/sandbox/docker-sandbox.d.ts +1 -1
- package/dist/src/public/sandbox/just-bash-sandbox.d.ts +1 -1
- package/dist/src/public/sandbox/microsandbox-sandbox.d.ts +3 -3
- package/dist/src/public/sandbox/vercel-sandbox.d.ts +2 -2
- package/dist/src/public/sveltekit/dev-server.d.ts +2 -2
- package/dist/src/public/sveltekit/dev-server.js +1 -1
- package/dist/src/public/sveltekit/index.d.ts +11 -11
- package/dist/src/public/sveltekit/routing.d.ts +5 -5
- package/dist/src/public/sveltekit/routing.js +1 -1
- package/dist/src/public/sveltekit/vercel-json.d.ts +2 -2
- package/dist/src/public/tool-result-narrowing.js +1 -1
- package/dist/src/public/types/json.d.ts +1 -1
- package/dist/src/react/use-eve-agent.d.ts +8 -8
- package/dist/src/runtime/agent/bootstrap-model.js +1 -1
- package/dist/src/runtime/agent/bootstrap.d.ts +1 -1
- package/dist/src/runtime/agent/bootstrap.js +1 -1
- package/dist/src/runtime/agent/mock-model-adapter.js +1 -1
- package/dist/src/runtime/agent/resolve-model.js +1 -1
- package/dist/src/runtime/attributes/emit.d.ts +2 -2
- package/dist/src/runtime/connections/callback-route.d.ts +1 -1
- package/dist/src/runtime/connections/principal.js +1 -1
- package/dist/src/runtime/connections/scoped-authorization.d.ts +1 -1
- package/dist/src/runtime/connections/types.d.ts +4 -4
- package/dist/src/runtime/framework-tools/final-output.d.ts +1 -1
- package/dist/src/runtime/governance/auth/http-basic.d.ts +1 -1
- package/dist/src/runtime/governance/auth/token-claims.d.ts +1 -1
- package/dist/src/runtime/governance/auth/types.d.ts +1 -1
- package/dist/src/runtime/loaders/artifact-paths.d.ts +1 -1
- package/dist/src/runtime/loaders/compile-metadata.js +1 -1
- package/dist/src/runtime/loaders/manifest.js +1 -1
- package/dist/src/runtime/loaders/module-map.js +1 -1
- package/dist/src/runtime/prompt/compose.js +1 -1
- package/dist/src/runtime/resolve-channel.js +1 -1
- package/dist/src/runtime/schedules/register.js +1 -1
- package/dist/src/runtime/sessions/auth.d.ts +1 -1
- package/dist/src/runtime/sessions/runtime-session.d.ts +1 -1
- package/dist/src/runtime/types.d.ts +1 -1
- package/dist/src/runtime/workspace/types.d.ts +1 -1
- package/dist/src/services/dev-client/request-headers.d.ts +2 -2
- package/dist/src/services/dev-client/vercel-auth-error.d.ts +1 -1
- package/dist/src/services/inspect-application.d.ts +1 -1
- package/dist/src/setup/boxes/add-channels.d.ts +1 -1
- package/dist/src/setup/boxes/add-channels.js +1 -1
- package/dist/src/setup/boxes/deploy-project.js +1 -1
- package/dist/src/setup/boxes/resolve-target.d.ts +2 -2
- package/dist/src/setup/boxes/scaffold.d.ts +4 -4
- package/dist/src/setup/boxes/scaffold.js +1 -1
- package/dist/src/setup/channel-add-conflicts.js +1 -1
- package/dist/src/setup/cli/rail-log.d.ts +1 -1
- package/dist/src/setup/flows/model.d.ts +3 -5
- package/dist/src/setup/flows/model.js +1 -1
- package/dist/src/setup/node-engine.d.ts +5 -5
- package/dist/src/setup/node-engine.js +1 -1
- package/dist/src/setup/onboarding.d.ts +2 -2
- package/dist/src/setup/primitives/open-url.d.ts +1 -1
- package/dist/src/setup/primitives/pm/pnpm.js +1 -1
- package/dist/src/setup/primitives/pm/run.d.ts +1 -1
- package/dist/src/setup/primitives/pm/types.d.ts +1 -1
- package/dist/src/setup/scaffold/connections/catalog.d.ts +1 -1
- package/dist/src/setup/scaffold/create/add-to-project.d.ts +2 -2
- package/dist/src/setup/scaffold/create/add-to-project.js +1 -1
- package/dist/src/setup/scaffold/create/project.d.ts +5 -5
- package/dist/src/setup/scaffold/create/project.js +3 -3
- package/dist/src/setup/scaffold/create/web-template.d.ts +2 -2
- package/dist/src/setup/scaffold/create/web-template.js +2 -2
- package/dist/src/setup/scaffold/update/package-json.d.ts +1 -1
- package/dist/src/setup/slack-connect-lifecycle.d.ts +2 -2
- package/dist/src/setup/slack-connect-lifecycle.js +1 -1
- package/dist/src/setup/slackbot.d.ts +1 -1
- package/dist/src/setup/slackbot.js +1 -1
- package/dist/src/setup/validate-gateway-key.d.ts +1 -1
- package/dist/src/setup/vercel-project.js +1 -1
- package/dist/src/shared/agent-definition.d.ts +15 -15
- package/dist/src/shared/code-mode.d.ts +3 -3
- package/dist/src/shared/json-schema.d.ts +1 -1
- package/dist/src/shared/model-endpoint-status.d.ts +2 -2
- package/dist/src/shared/sandbox-backend.d.ts +4 -4
- package/dist/src/shared/sandbox-definition.d.ts +3 -3
- package/dist/src/shared/sandbox-network-policy.d.ts +1 -1
- package/dist/src/shared/sandbox-session.d.ts +2 -2
- package/dist/src/shared/skill-package.d.ts +1 -1
- package/dist/src/shared/skill-package.js +1 -1
- package/dist/src/shared/tool-definition.d.ts +1 -1
- package/dist/src/svelte/index.js +1 -1
- package/dist/src/svelte/use-eve-agent.d.ts +7 -7
- 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.d.ts +7 -7
- package/dist/src/vue/use-eve-agent.js +1 -1
- package/docs/README.md +10 -10
- package/docs/agent-config.md +2 -2
- package/docs/channels/custom.mdx +5 -5
- package/docs/channels/discord.mdx +3 -3
- package/docs/channels/eve.mdx +7 -7
- package/docs/channels/linear.mdx +6 -6
- package/docs/channels/overview.mdx +11 -11
- package/docs/channels/slack.mdx +4 -4
- package/docs/channels/teams.mdx +2 -2
- package/docs/channels/telegram.mdx +3 -3
- package/docs/channels/twilio.mdx +1 -1
- package/docs/concepts/context-control.md +5 -5
- package/docs/concepts/default-harness.md +2 -2
- package/docs/concepts/execution-model-and-durability.md +9 -9
- package/docs/concepts/security-model.md +9 -9
- package/docs/concepts/sessions-runs-and-streaming.md +3 -3
- package/docs/connections.mdx +11 -11
- package/docs/evals/judge.mdx +2 -2
- package/docs/evals/overview.mdx +2 -2
- package/docs/evals/reporters.mdx +2 -2
- package/docs/getting-started.mdx +10 -10
- package/docs/guides/auth-and-route-protection.md +6 -6
- package/docs/guides/client/continuations.mdx +3 -3
- package/docs/guides/client/output-schema.mdx +1 -1
- package/docs/guides/client/overview.mdx +5 -5
- package/docs/guides/client/streaming.mdx +1 -1
- package/docs/guides/deployment.md +7 -7
- package/docs/guides/dev-tui.md +2 -2
- package/docs/guides/frontend/nextjs.mdx +13 -13
- package/docs/guides/frontend/nuxt.mdx +7 -7
- package/docs/guides/frontend/overview.mdx +12 -12
- package/docs/guides/frontend/sveltekit.mdx +7 -7
- package/docs/guides/frontend/use-eve-agent-svelte.mdx +6 -6
- package/docs/guides/frontend/use-eve-agent-vue.mdx +6 -6
- package/docs/guides/hooks.md +2 -2
- package/docs/guides/instrumentation.md +12 -12
- package/docs/guides/remote-agents.md +4 -4
- package/docs/guides/session-context.md +4 -4
- package/docs/guides/state.md +1 -1
- package/docs/instructions.mdx +4 -4
- package/docs/introduction.mdx +12 -12
- package/docs/reference/cli.md +5 -5
- package/docs/reference/project-layout.md +4 -4
- package/docs/responsible-use.md +3 -3
- package/docs/sandbox.mdx +8 -8
- package/docs/schedules.mdx +1 -1
- package/docs/skills.mdx +4 -4
- package/docs/subagents.mdx +3 -3
- package/docs/tools/human-in-the-loop.md +10 -10
- package/docs/tools/overview.mdx +10 -10
- package/docs/tutorial/connect-a-warehouse.mdx +3 -3
- package/docs/tutorial/first-agent.mdx +2 -2
- package/docs/tutorial/how-it-runs.mdx +2 -2
- package/docs/tutorial/query-sample-data.mdx +1 -1
- package/docs/tutorial/ship-it.mdx +4 -4
- package/package.json +1 -1
|
@@ -12,7 +12,7 @@ export type { PrepareSend };
|
|
|
12
12
|
*/
|
|
13
13
|
export type UseEveAgentStatus = EveAgentStoreStatus;
|
|
14
14
|
/**
|
|
15
|
-
* Immutable point-in-time view of an
|
|
15
|
+
* Immutable point-in-time view of an eve agent session: projected `data`, the
|
|
16
16
|
* last `error`, the raw `events` stream, the `session` cursor, and `status`.
|
|
17
17
|
* `useEveAgent` passes this snapshot to the `onFinish` callback.
|
|
18
18
|
*/
|
|
@@ -21,7 +21,7 @@ export type UseEveAgentSnapshot<TData> = EveAgentStoreSnapshot<TData>;
|
|
|
21
21
|
* Reactive return value from `useEveAgent`.
|
|
22
22
|
*
|
|
23
23
|
* The state properties are Svelte 5 rune-friendly getters. Read them from a
|
|
24
|
-
* template, `$derived`, or `$effect` and Svelte will update when
|
|
24
|
+
* template, `$derived`, or `$effect` and Svelte will update when eve streams
|
|
25
25
|
* new events.
|
|
26
26
|
*/
|
|
27
27
|
export interface UseEveAgentReturn<TData> {
|
|
@@ -43,7 +43,7 @@ export interface UseEveAgentReturn<TData> {
|
|
|
43
43
|
readonly stop: () => void;
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
|
-
* Configuration for a Svelte
|
|
46
|
+
* Configuration for a Svelte eve agent session.
|
|
47
47
|
*
|
|
48
48
|
* Read once when `useEveAgent` creates its store; create a new binding to
|
|
49
49
|
* change host, reducer, or session. To rotate credentials or headers without
|
|
@@ -62,9 +62,9 @@ export interface UseEveAgentOptions<TData> extends EveAgentStoreCallbacks<TData>
|
|
|
62
62
|
*/
|
|
63
63
|
readonly headers?: HeadersValue;
|
|
64
64
|
/**
|
|
65
|
-
* Base URL for
|
|
65
|
+
* Base URL for eve client requests. Empty targets same-origin eve routes
|
|
66
66
|
* such as `/eve/v1/...`; a same-origin prefix like `/api` routes through an
|
|
67
|
-
* app-owned proxy; an absolute origin hits an
|
|
67
|
+
* app-owned proxy; an absolute origin hits an eve server directly.
|
|
68
68
|
*
|
|
69
69
|
* @default ""
|
|
70
70
|
*/
|
|
@@ -80,10 +80,10 @@ export interface UseEveAgentOptions<TData> extends EveAgentStoreCallbacks<TData>
|
|
|
80
80
|
*/
|
|
81
81
|
readonly maxReconnectAttempts?: number;
|
|
82
82
|
/**
|
|
83
|
-
* Project submitted user messages before
|
|
83
|
+
* Project submitted user messages before eve confirms them with a
|
|
84
84
|
* `message.received` stream event. Optimistic events are reducer-facing
|
|
85
85
|
* projection only and never appear in `events`, which stays the
|
|
86
|
-
* authoritative
|
|
86
|
+
* authoritative eve stream.
|
|
87
87
|
*
|
|
88
88
|
* @default true
|
|
89
89
|
*/
|
package/dist/src/vue/index.js
CHANGED
|
@@ -13,7 +13,7 @@ export type { PrepareSend };
|
|
|
13
13
|
*/
|
|
14
14
|
export type UseEveAgentStatus = EveAgentStoreStatus;
|
|
15
15
|
/**
|
|
16
|
-
* Point-in-time projected state for an
|
|
16
|
+
* Point-in-time projected state for an eve agent session (`data`, `error`,
|
|
17
17
|
* `events`, `session`, `status`).
|
|
18
18
|
*
|
|
19
19
|
* `useEveAgent` passes this shape to callbacks such as `onFinish`, but exposes
|
|
@@ -42,7 +42,7 @@ export interface UseEveAgentReturn<TData> {
|
|
|
42
42
|
readonly stop: () => void;
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
|
-
* Configuration for creating or binding a Vue
|
|
45
|
+
* Configuration for creating or binding a Vue eve agent session.
|
|
46
46
|
*
|
|
47
47
|
* Session configuration is read once when the composable creates its internal
|
|
48
48
|
* store; to change the host, reducer, or session, remount the component. For
|
|
@@ -59,11 +59,11 @@ export interface UseEveAgentOptions<TData> extends EveAgentStoreCallbacks<TData>
|
|
|
59
59
|
/** Custom headers; a function value is resolved per request. */
|
|
60
60
|
readonly headers?: HeadersValue;
|
|
61
61
|
/**
|
|
62
|
-
* Base URL used for
|
|
62
|
+
* Base URL used for eve client requests.
|
|
63
63
|
*
|
|
64
|
-
* By default, requests target same-origin
|
|
64
|
+
* By default, requests target same-origin eve routes such as `/eve/v1/...`.
|
|
65
65
|
* Pass a same-origin prefix such as `/api` to use an app-owned proxy, or an
|
|
66
|
-
* absolute origin to talk to an
|
|
66
|
+
* absolute origin to talk to an eve server directly.
|
|
67
67
|
*
|
|
68
68
|
* @default ""
|
|
69
69
|
*/
|
|
@@ -75,11 +75,11 @@ export interface UseEveAgentOptions<TData> extends EveAgentStoreCallbacks<TData>
|
|
|
75
75
|
/** Maximum SSE reconnection attempts per turn. @default 3 */
|
|
76
76
|
readonly maxReconnectAttempts?: number;
|
|
77
77
|
/**
|
|
78
|
-
* Project submitted user messages before
|
|
78
|
+
* Project submitted user messages before eve confirms them with a
|
|
79
79
|
* `message.received` stream event.
|
|
80
80
|
*
|
|
81
81
|
* Optimistic events are reducer-facing projection events only. They are not
|
|
82
|
-
* exposed through `events`, which remains the authoritative
|
|
82
|
+
* exposed through `events`, which remains the authoritative eve stream.
|
|
83
83
|
*
|
|
84
84
|
* @default true
|
|
85
85
|
*/
|
package/docs/README.md
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
#
|
|
1
|
+
# eve Public Docs
|
|
2
2
|
|
|
3
|
-
This folder is for app authors using
|
|
3
|
+
This folder is for app authors using eve as a framework.
|
|
4
4
|
|
|
5
|
-
If you want to understand how to build agents with
|
|
5
|
+
If you want to understand how to build agents with eve, start here.
|
|
6
6
|
|
|
7
7
|
Important naming note:
|
|
8
8
|
|
|
9
|
-
- The framework is called
|
|
9
|
+
- The framework is called eve.
|
|
10
10
|
- The current published package name is `eve`.
|
|
11
11
|
- The CLI binary is `eve`.
|
|
12
12
|
|
|
13
13
|
## Legal and safeguards
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
eve is currently a preview and subject to the Vercel beta terms; the framework, APIs, documentation, and behavior may change before general availability.
|
|
16
16
|
|
|
17
17
|
As the deployer, it is your responsibility to ensure your agent complies with applicable laws.
|
|
18
18
|
|
|
19
19
|
You are responsible for configuring approval policies, tool restrictions, connection scopes, route/session authorization, sandbox controls, telemetry exports, and other safeguards appropriate for your use case.
|
|
20
20
|
|
|
21
|
-
Before using
|
|
21
|
+
Before using eve with non-public, sensitive, regulated, or production data, review which default tools, custom tools, MCP tools, shell/file/web tools, connected services, subagents, schedules, and external actions are available to the agent.
|
|
22
22
|
|
|
23
23
|
Require human approval or other safeguards for sensitive, irreversible, regulated, financial, healthcare, employment, housing, legal, safety-impacting, user-impacting, or external side-effecting actions.
|
|
24
24
|
|
|
25
|
-
Unless you configure stricter controls,
|
|
25
|
+
Unless you configure stricter controls, eve agents may operate with permissive settings, including tool execution without human approval where approval is omitted and sandbox network egress that is not deny-all. Do not rely on model behavior alone to prevent sensitive or irreversible actions.
|
|
26
26
|
|
|
27
27
|
Casing convention:
|
|
28
28
|
|
|
@@ -56,7 +56,7 @@ Read in this order:
|
|
|
56
56
|
|
|
57
57
|
## The public mental model
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
eve is a filesystem-first framework for durable backend agents.
|
|
60
60
|
|
|
61
61
|
You author an agent as files on disk:
|
|
62
62
|
|
|
@@ -71,7 +71,7 @@ You author an agent as files on disk:
|
|
|
71
71
|
- recurring jobs in `schedules/`
|
|
72
72
|
- additive runtime config in `agent.ts`
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
eve then gives you:
|
|
75
75
|
|
|
76
76
|
- a stable HTTP message route
|
|
77
77
|
- optional channel webhook routes
|
|
@@ -89,7 +89,7 @@ know:
|
|
|
89
89
|
- the harness does one unit of AI work and decides whether to continue, wait, or finish
|
|
90
90
|
- the runtime persists session state, streams events, and owns workflow orchestration
|
|
91
91
|
|
|
92
|
-
That is why
|
|
92
|
+
That is why eve exposes two identifiers:
|
|
93
93
|
|
|
94
94
|
- `continuationToken` for the next user message
|
|
95
95
|
- `sessionId` for streaming and inspection
|
package/docs/agent-config.md
CHANGED
|
@@ -17,7 +17,7 @@ export default defineAgent({
|
|
|
17
17
|
});
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
The root `agent.ts` can be omitted when no runtime config is needed. In that case,
|
|
20
|
+
The root `agent.ts` can be omitted when no runtime config is needed. In that case, eve defaults
|
|
21
21
|
to `anthropic/claude-sonnet-4.6`. When `agent.ts` is present, `model` is required.
|
|
22
22
|
|
|
23
23
|
`model` accepts a gateway model id string, which routes through the [Vercel AI Gateway](https://vercel.com/docs/ai-gateway). To call a provider directly and configure the model in code, pass a provider-authored `LanguageModel`:
|
|
@@ -57,7 +57,7 @@ See [Default harness](./concepts/default-harness#compaction) for how the loop ap
|
|
|
57
57
|
| `modelOptions` | `AgentModelOptionsDefinition` | none | Provider option overrides forwarded to the model call. |
|
|
58
58
|
| `experimental` | `{ codeMode?: boolean }` | flags unset | Opt-in flags that can change or disappear in any release. Treat them as unstable. `codeMode` routes executable tools through a sandboxed code-execution wrapper, where the model writes JavaScript that calls the tools inside the [sandbox](./sandbox). |
|
|
59
59
|
| `outputSchema` | Standard Schema or a JSON Schema object | none | Structured return type for task-mode runs (a subagent, schedule, or remote job). Interactive conversation turns ignore it unless the client supplies a per-message schema. |
|
|
60
|
-
| `build` | `{ externalDependencies?: string[] }` | none | Hosted-build packaging controls. `externalDependencies` keeps listed packages external while
|
|
60
|
+
| `build` | `{ externalDependencies?: string[] }` | none | Hosted-build packaging controls. `externalDependencies` keeps listed packages external while eve compiles authored modules such as tools and channels, and traces those packages into the hosted output. |
|
|
61
61
|
|
|
62
62
|
`codeMode` is experimental and may change or be removed.
|
|
63
63
|
|
package/docs/channels/custom.mdx
CHANGED
|
@@ -3,7 +3,7 @@ title: "Custom Channels"
|
|
|
3
3
|
description: "Author custom HTTP and WebSocket channels with routes, events, metadata, continuation tokens, and file uploads."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
When
|
|
6
|
+
When eve doesn't ship a channel for your surface, you build one. Custom channels expose HTTP or WebSocket endpoints, parse incoming requests, start or resume sessions, observe runtime events, and own delivery back to your platform.
|
|
7
7
|
|
|
8
8
|
## File location and identity
|
|
9
9
|
|
|
@@ -53,7 +53,7 @@ Declare routes with the `POST()` and `GET()` helpers. Each route handler receive
|
|
|
53
53
|
- `waitUntil(promise)` extends the request lifetime for background work.
|
|
54
54
|
- `requestIp` is the client IP, or `null` when the host cannot provide it.
|
|
55
55
|
|
|
56
|
-
Event handlers like `"message.completed"` are declared under the `events` key. They receive `(eventData, channel, ctx)`, where `eventData` is the event payload, `channel` carries platform handles and session continuation operations, and `ctx` is the
|
|
56
|
+
Event handlers like `"message.completed"` are declared under the `events` key. They receive `(eventData, channel, ctx)`, where `eventData` is the event payload, `channel` carries platform handles and session continuation operations, and `ctx` is the eve `SessionContext`. Every channel kind shares this signature. The one exception is `session.failed`, which receives only `(eventData, channel)` with no `ctx`.
|
|
57
57
|
|
|
58
58
|
## WebSocket routes
|
|
59
59
|
|
|
@@ -76,11 +76,11 @@ export default defineChannel({
|
|
|
76
76
|
});
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
-
`WS()` handlers receive the same helpers as HTTP route handlers: `send`, `getSession`, `receive`, `params`, `waitUntil`, and `requestIp`. The returned hooks are
|
|
79
|
+
`WS()` handlers receive the same helpers as HTTP route handlers: `send`, `getSession`, `receive`, `params`, `waitUntil`, and `requestIp`. The returned hooks are eve-owned structural types compatible with Nitro/H3 websocket routing, including `upgrade`, `open`, `message`, `close`, and `error`.
|
|
80
80
|
|
|
81
81
|
### Node upgrade server escape hatch
|
|
82
82
|
|
|
83
|
-
Prefer the `WS()` lifecycle hooks above when you own the websocket behavior.
|
|
83
|
+
Prefer the `WS()` lifecycle hooks above when you own the websocket behavior. eve also exposes `createWebSocketUpgradeServer()` for the narrower case where a third-party SDK or framework expects to bind directly to a Node `http.Server` with `server.on("upgrade", ...)`.
|
|
84
84
|
|
|
85
85
|
```ts
|
|
86
86
|
import { defineChannel, WS, createWebSocketUpgradeServer } from "eve/channels";
|
|
@@ -94,7 +94,7 @@ export default defineChannel({
|
|
|
94
94
|
});
|
|
95
95
|
```
|
|
96
96
|
|
|
97
|
-
The bridge server does not listen on its own port. It receives only upgrade events that matched the
|
|
97
|
+
The bridge server does not listen on its own port. It receives only upgrade events that matched the eve route, and only on hosts where Nitro exposes the raw Node upgrade request, socket, and head. Treat it as a compatibility adapter for libraries with server-binding APIs, not the primary way to build websocket channels in eve.
|
|
98
98
|
|
|
99
99
|
## Cross-channel hand-off
|
|
100
100
|
|
|
@@ -4,7 +4,7 @@ description: "Reach your agent from Discord HTTP Interactions, including slash c
|
|
|
4
4
|
type: integration
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
The Discord channel wires your agent into Discord's HTTP Interactions, including slash and application commands, message components, and modal submissions. Discord enforces a three-second ACK deadline, so the channel verifies the Ed25519 signature headers, acknowledges the command right away, and runs the
|
|
7
|
+
The Discord channel wires your agent into Discord's HTTP Interactions, including slash and application commands, message components, and modal submissions. Discord enforces a three-second ACK deadline, so the channel verifies the Ed25519 signature headers, acknowledges the command right away, and runs the eve work in the background. See [Channels](./overview) for the contract this builds on.
|
|
8
8
|
|
|
9
9
|
## Add the channel
|
|
10
10
|
|
|
@@ -24,12 +24,12 @@ To skip env vars, pass the same values through `credentials: { applicationId, bo
|
|
|
24
24
|
|
|
25
25
|
## Register a command
|
|
26
26
|
|
|
27
|
-
Registering commands is on you, not the channel. Use Discord's API or the Developer Portal. A string option named `message` lines up with
|
|
27
|
+
Registering commands is on you, not the channel. Use Discord's API or the Developer Portal. A string option named `message` lines up with eve's default prompt extraction:
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
30
|
curl -X PUT "https://discord.com/api/v10/applications/$DISCORD_APPLICATION_ID/commands" \
|
|
31
31
|
-H "Authorization: Bot $DISCORD_BOT_TOKEN" -H "Content-Type: application/json" \
|
|
32
|
-
-d '[{"name":"ask","description":"Ask the
|
|
32
|
+
-d '[{"name":"ask","description":"Ask the eve agent","type":1,
|
|
33
33
|
"options":[{"name":"message","description":"What should the agent do?","type":3,"required":true}]}]'
|
|
34
34
|
```
|
|
35
35
|
|
package/docs/channels/eve.mdx
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: "
|
|
2
|
+
title: "eve"
|
|
3
3
|
description: "The default HTTP API for an agent, covering session routes, auth, and customization."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
The
|
|
6
|
+
The eve channel is the framework's default HTTP API. It's what the terminal UI, [`useEveAgent`](../guides/frontend/overview), `curl`, and any SDK client talk to when they start sessions, send messages, and stream events. `eveChannel()` mounts the canonical session routes under `/eve/v1/session*`, and they are enabled by default even when `agent/channels/eve.ts` does not exist.
|
|
7
7
|
|
|
8
8
|
Reach for it when something needs HTTP access to your agent, including local tooling, a browser frontend, the terminal UI, or another API client. Most apps never write this file. Add `agent/channels/eve.ts` only to override the defaults, usually the route auth policy.
|
|
9
9
|
|
|
@@ -54,7 +54,7 @@ The `auth` option decides who can call these routes. The built-in helpers cover
|
|
|
54
54
|
|
|
55
55
|
Neither admits browser users or external clients in production. For a public app, wire the channel to your own auth (Clerk, Auth.js, or your own OIDC/JWT verification).
|
|
56
56
|
|
|
57
|
-
`eve init` scaffolds an `agent/channels/eve.ts` with a production placeholder so you replace it before going live. The generated channel allows Vercel OIDC and localhost, and includes `placeholderAuth()`, which returns a setup-focused 401 in production until you swap it for real auth. Delete the file and
|
|
57
|
+
`eve init` scaffolds an `agent/channels/eve.ts` with a production placeholder so you replace it before going live. The generated channel allows Vercel OIDC and localhost, and includes `placeholderAuth()`, which returns a setup-focused 401 in production until you swap it for real auth. Delete the file and eve falls back to `[localDev(), vercelOidc()]`, which still does not admit browser users in production.
|
|
58
58
|
|
|
59
59
|
For the full auth model and helper list, see [Auth & route protection](../guides/auth-and-route-protection).
|
|
60
60
|
|
|
@@ -77,7 +77,7 @@ export default eveChannel({
|
|
|
77
77
|
},
|
|
78
78
|
events: {
|
|
79
79
|
"message.completed"(eventData, channel, ctx) {
|
|
80
|
-
console.log("
|
|
80
|
+
console.log("eve response completed", {
|
|
81
81
|
continuationToken: channel.continuationToken,
|
|
82
82
|
sessionId: ctx.session.id,
|
|
83
83
|
});
|
|
@@ -88,13 +88,13 @@ export default eveChannel({
|
|
|
88
88
|
|
|
89
89
|
## Clients
|
|
90
90
|
|
|
91
|
-
The browser side of this API lives in the [Frontend](../guides/frontend/overview) docs, where `useEveAgent` drives the
|
|
91
|
+
The browser side of this API lives in the [Frontend](../guides/frontend/overview) docs, where `useEveAgent` drives the eve channel from React UI.
|
|
92
92
|
|
|
93
93
|
For scripts, server-to-server calls, evals, tests, and custom clients, use the [TypeScript SDK](../guides/client/overview). It wraps the session routes, continuation token, stream cursor, and reconnect loop.
|
|
94
94
|
|
|
95
95
|
## What to read next
|
|
96
96
|
|
|
97
|
-
- [Frontend](../guides/frontend/overview): drive the
|
|
98
|
-
- [TypeScript SDK](../guides/client/overview): call the
|
|
97
|
+
- [Frontend](../guides/frontend/overview): drive the eve channel from browser UI with `useEveAgent`
|
|
98
|
+
- [TypeScript SDK](../guides/client/overview): call the eve channel from TypeScript
|
|
99
99
|
- [Auth & route protection](../guides/auth-and-route-protection): the route auth policy
|
|
100
100
|
- [Sessions, runs & streaming](../concepts/sessions-runs-and-streaming): the routes this channel exposes
|
package/docs/channels/linear.mdx
CHANGED
|
@@ -4,7 +4,7 @@ description: "Reach your agent through Linear Agent Sessions, with native Agent
|
|
|
4
4
|
type: integration
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
The Linear channel uses Linear's Agent Session surface rather than ordinary comments. Users delegate work to the agent from Linear,
|
|
7
|
+
The Linear channel uses Linear's Agent Session surface rather than ordinary comments. Users delegate work to the agent from Linear, eve receives `AgentSessionEvent` webhooks at `/eve/v1/linear`, and the channel replies with native Agent Activities, including `thought`, `action`, `elicitation`, `response`, and `error`. See [Channels](./overview) for the contract this builds on.
|
|
8
8
|
|
|
9
9
|
## Add the channel
|
|
10
10
|
|
|
@@ -36,21 +36,21 @@ https://<deployment>/eve/v1/linear
|
|
|
36
36
|
|
|
37
37
|
For Linear's agent surface, configure the OAuth authorize URL with `actor=app` and grant the app scopes that let it appear as an agent in Linear, including `app:assignable` and `app:mentionable`. Subscribe to the `AgentSessionEvent` webhook category so Linear sends `created` events when the agent is delegated or mentioned and `prompted` events when the user continues the session.
|
|
38
38
|
|
|
39
|
-
Linear sends webhook signatures in `Linear-Signature`;
|
|
39
|
+
Linear sends webhook signatures in `Linear-Signature`; eve verifies the HMAC over the raw body and rejects stale `webhookTimestamp` values. If a trusted gateway verifies Linear before the request reaches eve, pass `credentials.webhookVerifier` instead of a webhook secret.
|
|
40
40
|
|
|
41
41
|
## How the channel handles messages
|
|
42
42
|
|
|
43
43
|
### Dispatch
|
|
44
44
|
|
|
45
|
-
The default hook dispatches `created` and `prompted` Agent Session events.
|
|
45
|
+
The default hook dispatches `created` and `prompted` Agent Session events. eve adds a Linear context block with the agent session, issue, comment, and organization identifiers, then continues the same session with `agent-session:<id>`.
|
|
46
46
|
|
|
47
47
|
### Delivery
|
|
48
48
|
|
|
49
|
-
Turn start posts an ephemeral `thought`, tool calls post ephemeral `action` activities, final assistant text posts a durable `response`, and failures post `error` activities. When the model emits text before a tool call,
|
|
49
|
+
Turn start posts an ephemeral `thought`, tool calls post ephemeral `action` activities, final assistant text posts a durable `response`, and failures post `error` activities. When the model emits text before a tool call, eve buffers the first non-empty line and uses it as the next ephemeral Linear `thought`, mirroring Slack's typing-status behavior.
|
|
50
50
|
|
|
51
51
|
### Human-in-the-loop (HITL)
|
|
52
52
|
|
|
53
|
-
Human-in-the-loop (HITL) input requests render as Linear `elicitation` activities. When the user replies to the Agent Session, the channel resolves that prompt back to the pending
|
|
53
|
+
Human-in-the-loop (HITL) input requests render as Linear `elicitation` activities. When the user replies to the Agent Session, the channel resolves that prompt back to the pending eve input request and resumes with `inputResponses`.
|
|
54
54
|
|
|
55
55
|
### Proactive sessions
|
|
56
56
|
|
|
@@ -153,7 +153,7 @@ export default defineSchedule({
|
|
|
153
153
|
});
|
|
154
154
|
```
|
|
155
155
|
|
|
156
|
-
For issue or comment targets, the channel calls Linear's proactive Agent Session mutations before starting the
|
|
156
|
+
For issue or comment targets, the channel calls Linear's proactive Agent Session mutations before starting the eve turn. For an existing `agentSessionId`, it skips session creation and only seeds the continuation token.
|
|
157
157
|
|
|
158
158
|
## What to read next
|
|
159
159
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Overview"
|
|
3
|
-
description: "How users reach your agent: the channel contract, the base
|
|
3
|
+
description: "How users reach your agent: the channel contract, the base eve HTTP channel, and authoring custom channels."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
A channel is the edge adapter between a platform and your agent. It does three things:
|
|
@@ -9,7 +9,7 @@ A channel is the edge adapter between a platform and your agent. It does three t
|
|
|
9
9
|
- Owns the `continuationToken`, the resume handle for a conversation on that surface.
|
|
10
10
|
- Decides delivery, meaning how, where, and whether a response goes back.
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
eve ships a base HTTP channel plus first-class platform channels, and you can author your own. Browse the full set in the [Integrations](/integrations) gallery.
|
|
13
13
|
|
|
14
14
|
Each channel has its own provider terms, data flow, auth model, and user-consent expectations. Before sending non-public, sensitive, regulated, or production data through a channel, confirm that the channel provider and your configured scopes, signature checks, route auth, and delivery behavior are appropriate for your use case.
|
|
15
15
|
|
|
@@ -28,26 +28,26 @@ agent/
|
|
|
28
28
|
|
|
29
29
|
Scaffold a channel file with `eve channels add` (interactive), or pass a kind: `eve channels add slack` or `eve channels add web`. You can also author the file by hand.
|
|
30
30
|
|
|
31
|
-
## The
|
|
31
|
+
## The eve HTTP channel (default)
|
|
32
32
|
|
|
33
|
-
The
|
|
33
|
+
The eve channel is the framework's default HTTP session API, the routes the terminal UI, [`useEveAgent`](../guides/frontend/overview), and `curl` all talk to. It is enabled by default, even with no `agent/channels/eve.ts` file. Add that file only to override the defaults, most often the route auth policy. See [HTTP channel](./eve) for routes, auth, and customization.
|
|
34
34
|
|
|
35
35
|
## Custom channels
|
|
36
36
|
|
|
37
|
-
When
|
|
37
|
+
When eve doesn't ship a channel for your surface, build one with `defineChannel` from `eve/channels`. A custom channel declares route handlers (`GET`, `POST`, `PUT`, `PATCH`, `DELETE`, `WS`), an `events` map, and a `send` call inside a handler to start or resume a session. See [Custom channels](./custom) for the full walkthrough, including WebSocket routes, cross-channel hand-off, channel metadata, continuation tokens, and file uploads.
|
|
38
38
|
|
|
39
39
|
## Relationship to the Chat SDK
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
eve uses the Chat SDK's **card-builder components** (Cards, Buttons, Actions, etc.) for composing rich Slack messages. When you build a card with the [Slack channel](./slack), the underlying primitives come from the Chat SDK and get converted to Slack Block Kit at post time.
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
eve does **not** use the Chat SDK's runtime. The `Chat`, `Adapter`, and `Thread` primitives are never imported or reachable through eve's public API. eve implements its own channel layer (webhook handling, signature verification, event parsing, and thread management). Building Slack messages works like Chat SDK cards, but wiring a channel means authoring against eve's `defineChannel(...)` API, not a Chat SDK adapter.
|
|
44
44
|
|
|
45
45
|
## Which channel?
|
|
46
46
|
|
|
47
47
|
| You want… | Use |
|
|
48
48
|
| ------------------------------------------- | ---------------------------------------------------------- |
|
|
49
|
-
| A web app / browser chat UI |
|
|
50
|
-
| Local tooling, SDK clients, `curl` |
|
|
49
|
+
| A web app / browser chat UI | eve channel + [`useEveAgent`](../guides/frontend/overview) |
|
|
50
|
+
| Local tooling, SDK clients, `curl` | eve channel (default) |
|
|
51
51
|
| Slack mentions, DMs, buttons | [Slack](./slack) |
|
|
52
52
|
| Discord slash commands, components | [Discord](./discord) |
|
|
53
53
|
| Microsoft Teams messages + Adaptive Cards | [Teams](./teams) |
|
|
@@ -61,11 +61,11 @@ Eve does **not** use the Chat SDK's runtime. The `Chat`, `Adapter`, and `Thread`
|
|
|
61
61
|
|
|
62
62
|
As the deployer, it is your responsibility to ensure your agent complies with applicable laws.
|
|
63
63
|
|
|
64
|
-
Where an
|
|
64
|
+
Where an eve agent communicates with people, you may be required to disclose that they are interacting with an automated AI system where law requires it. eve does not add this disclosure automatically; configure it in your instructions and/or channel responses.
|
|
65
65
|
|
|
66
66
|
## What to read next
|
|
67
67
|
|
|
68
68
|
- [Slack](./slack): the most common platform channel, end to end
|
|
69
69
|
- [Custom channels](./custom): build a channel for any surface with `defineChannel`
|
|
70
|
-
- [Frontend](../guides/frontend/overview): browser chat on the
|
|
70
|
+
- [Frontend](../guides/frontend/overview): browser chat on the eve channel with `useEveAgent`
|
|
71
71
|
- [Integrations](/integrations): browse every built-in channel and connection in one gallery
|
package/docs/channels/slack.mdx
CHANGED
|
@@ -8,7 +8,7 @@ The Slack channel puts your agent inside a workspace. It answers `@mentions` and
|
|
|
8
8
|
|
|
9
9
|
## Set up Connect
|
|
10
10
|
|
|
11
|
-
Create a Slack Connect client and copy its UID (e.g. `slack/my-agent`), then attach this project as the trigger destination at
|
|
11
|
+
Create a Slack Connect client and copy its UID (e.g. `slack/my-agent`), then attach this project as the trigger destination at eve's Slack route:
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
14
|
npm install -g vercel@latest && export FF_CONNECT_ENABLED=1
|
|
@@ -17,7 +17,7 @@ vercel connect detach <uid> --yes
|
|
|
17
17
|
vercel connect attach <uid> --triggers --trigger-path /eve/v1/slack --yes
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
`FF_CONNECT_ENABLED=1` turns on the Connect commands, which are feature-flagged in the Vercel CLI today. The `create` step provisions a destination at the default Connect path. `detach` then `attach --trigger-path /eve/v1/slack` re-points the trigger at the
|
|
20
|
+
`FF_CONNECT_ENABLED=1` turns on the Connect commands, which are feature-flagged in the Vercel CLI today. The `create` step provisions a destination at the default Connect path. `detach` then `attach --trigger-path /eve/v1/slack` re-points the trigger at the eve Slack route, since eve does not serve the default Connect path. `--triggers` turns on Slack Event Subscriptions; without it, Slack never delivers `app_mention` or `message.im`. You can also create the client from the [Connect dashboard](https://vercel.com/d?to=/%5Bteam%5D/~/connect&title=Go+to+Connect).
|
|
21
21
|
|
|
22
22
|
## Add the channel
|
|
23
23
|
|
|
@@ -42,7 +42,7 @@ export default slackChannel({
|
|
|
42
42
|
VERCEL_USE_EXPERIMENTAL_FRAMEWORKS=1 vercel deploy --prod
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
`VERCEL_USE_EXPERIMENTAL_FRAMEWORKS=1` lets the Vercel CLI recognize
|
|
45
|
+
`VERCEL_USE_EXPERIMENTAL_FRAMEWORKS=1` lets the Vercel CLI recognize eve as a framework during the build. eve's own setup commands set the same flag.
|
|
46
46
|
|
|
47
47
|
## How the channel handles messages
|
|
48
48
|
|
|
@@ -54,7 +54,7 @@ Inbound hooks decide whether to dispatch a turn and with what `auth`. Return `{
|
|
|
54
54
|
- `onDirectMessage(ctx, message)` handles `message.im` events (needs `im:history` scope). Bot-authored messages and edits are filtered out first.
|
|
55
55
|
- `onInteraction(action, ctx)` handles `block_actions` callbacks not consumed by HITL.
|
|
56
56
|
|
|
57
|
-
You get the triggering mention by default, but not the earlier replies in the thread. Pull them in with `loadThreadContextMessages` and return them as `context`, which
|
|
57
|
+
You get the triggering mention by default, but not the earlier replies in the thread. Pull them in with `loadThreadContextMessages` and return them as `context`, which eve appends to history as user messages the model sees on every later turn. Use `since: "last-agent-reply"` so repeated mentions in one thread inject only what is new:
|
|
58
58
|
|
|
59
59
|
```ts
|
|
60
60
|
import { defaultSlackAuth, loadThreadContextMessages, slackChannel } from "eve/channels/slack";
|
package/docs/channels/teams.mdx
CHANGED
|
@@ -26,7 +26,7 @@ By default the channel mounts at `POST /eve/v1/teams`. Point your Azure Bot or T
|
|
|
26
26
|
|
|
27
27
|
### Dispatch
|
|
28
28
|
|
|
29
|
-
The default `onMessage` handles two cases: personal-chat messages, and channel or group-chat messages that mention the bot directly. Ambient resource-specific-consent messages are dropped unless you override it. Before dispatch,
|
|
29
|
+
The default `onMessage` handles two cases: personal-chat messages, and channel or group-chat messages that mention the bot directly. Ambient resource-specific-consent messages are dropped unless you override it. Before dispatch, eve strips the mention, adds a `<teams_context>` block, and scopes channel and group threads by root activity id (`replyToId ?? id`).
|
|
30
30
|
|
|
31
31
|
```ts
|
|
32
32
|
import { defaultTeamsAuth, teamsChannel } from "eve/channels/teams";
|
|
@@ -45,7 +45,7 @@ Replies post as Markdown (`textFormat: "markdown"`), with oversized text split a
|
|
|
45
45
|
|
|
46
46
|
### Human-in-the-loop (HITL)
|
|
47
47
|
|
|
48
|
-
A human-in-the-loop (HITL) `input.requested` event renders as an Adaptive Card. Buttons and options map to `Action.Submit`, selects to `Input.ChoiceSet`, and freeform to `Input.Text`. When the user submits, the activity converts to
|
|
48
|
+
A human-in-the-loop (HITL) `input.requested` event renders as an Adaptive Card. Buttons and options map to `Action.Submit`, selects to `Input.ChoiceSet`, and freeform to `Input.Text`. When the user submits, the activity converts to eve `inputResponses` for you. For invokes that aren't HITL, handle them in `onInvoke(ctx, activity)`.
|
|
49
49
|
|
|
50
50
|
### Proactive sessions
|
|
51
51
|
|
|
@@ -21,7 +21,7 @@ TELEGRAM_BOT_TOKEN=123456:... # replies, typing, callbacks, proactive sen
|
|
|
21
21
|
TELEGRAM_WEBHOOK_SECRET_TOKEN=... # must match the secret_token you register
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
You can pass the same values via `credentials: { botToken, webhookSecretToken }`. The channel mounts `POST /eve/v1/telegram`. Register the deployed URL yourself;
|
|
24
|
+
You can pass the same values via `credentials: { botToken, webhookSecretToken }`. The channel mounts `POST /eve/v1/telegram`. Register the deployed URL yourself; eve does not call `setWebhook`:
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
27
|
curl -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/setWebhook" \
|
|
@@ -47,7 +47,7 @@ The default `message.completed` handler sends plain text via `sendMessage`. It p
|
|
|
47
47
|
|
|
48
48
|
### Human-in-the-loop (HITL)
|
|
49
49
|
|
|
50
|
-
Human-in-the-loop (HITL) turns option requests into inline-keyboard buttons and freeform requests into `ForceReply`. Telegram caps `callback_data` at 64 bytes, so
|
|
50
|
+
Human-in-the-loop (HITL) turns option requests into inline-keyboard buttons and freeform requests into `ForceReply`. Telegram caps `callback_data` at 64 bytes, so eve keeps compact callback ids in channel state instead. It acknowledges its own callbacks with `answerCallbackQuery`; anything it doesn't recognize goes to `onCallbackQuery`.
|
|
51
51
|
|
|
52
52
|
### Proactive sessions
|
|
53
53
|
|
|
@@ -55,7 +55,7 @@ Start a session without an inbound message through `receive(telegram, { message,
|
|
|
55
55
|
|
|
56
56
|
### Attachments
|
|
57
57
|
|
|
58
|
-
Inbound photos and documents are supported.
|
|
58
|
+
Inbound photos and documents are supported. eve fetches them on demand via `getFile`, only when an upload policy allows the type:
|
|
59
59
|
|
|
60
60
|
```ts
|
|
61
61
|
export default telegramChannel({
|
package/docs/channels/twilio.mdx
CHANGED
|
@@ -4,7 +4,7 @@ description: "Reach your agent over SMS and speech-transcribed phone calls with
|
|
|
4
4
|
type: integration
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
The Twilio channel puts your agent on a phone number, so people can text it or call it. Inbound SMS arrives as a webhook. Inbound calls are answered with TwiML `<Gather input="speech">`, and the resulting transcript feeds the same
|
|
7
|
+
The Twilio channel puts your agent on a phone number, so people can text it or call it. Inbound SMS arrives as a webhook. Inbound calls are answered with TwiML `<Gather input="speech">`, and the resulting transcript feeds the same eve session that SMS uses, so a caller and a texter look identical downstream. Every request is checked against `X-Twilio-Signature` before anything else runs. The raw continuation token is `From:To`. See [Channels](./overview) for the contract this builds on.
|
|
8
8
|
|
|
9
9
|
## Add the channel
|
|
10
10
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Context Control"
|
|
3
|
-
description: "Control what an
|
|
3
|
+
description: "Control what an eve agent's model sees and when, across instructions, skills, the workspace, and subagents."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
eve gives you a few levers for controlling what the model sees and when. `instructions.md` (or `instructions.ts`) is always on, `skills/` are available but loaded on demand, and the workspace and sandbox are visible through tools rather than pasted into the prompt.
|
|
7
7
|
|
|
8
8
|
## Base identity with `instructions.md`
|
|
9
9
|
|
|
@@ -29,11 +29,11 @@ export default defineInstructions({
|
|
|
29
29
|
});
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
Module-backed instructions run once at build time.
|
|
32
|
+
Module-backed instructions run once at build time. eve captures the resulting markdown into the compiled manifest, so the runtime serves the same prompt every session without re-running the module.
|
|
33
33
|
|
|
34
34
|
## Load procedures on demand with `skills/`
|
|
35
35
|
|
|
36
|
-
Skills stay out of the always-on prompt by default, which keeps rich procedures available without bloating every turn.
|
|
36
|
+
Skills stay out of the always-on prompt by default, which keeps rich procedures available without bloating every turn. eve advertises the available skills and adds a framework-owned `load_skill` tool. When the request clearly matches a skill description, or the user names a skill explicitly, the model activates that skill, and eve appends the skill's markdown to the active instructions for later turn work.
|
|
37
37
|
|
|
38
38
|
### Flat skill
|
|
39
39
|
|
|
@@ -58,7 +58,7 @@ See [Skills](../skills) for the full authoring model and install notes.
|
|
|
58
58
|
|
|
59
59
|
## Put runtime files in the workspace, not the prompt
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
eve does not inline the entire authored surface into the prompt. Instead, it gives the model a shallow workspace hint and runtime tools to inspect deeper when needed. Skill files are available under the active workspace root, and the model inspects them with the shared `bash` tool, which keeps prompts smaller and makes file and command work explicit.
|
|
62
62
|
|
|
63
63
|
See [Sandbox](../sandbox) for the workspace and sandbox model.
|
|
64
64
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "The Harness"
|
|
3
|
-
description: "The out-of-the-box
|
|
3
|
+
description: "The out-of-the-box eve agent loop and the built-in tools every agent ships with, plus how to override or disable them."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
The default harness is what every
|
|
6
|
+
The default harness is what every eve agent ships with. It includes the framework-owned agent loop plus a set of built-in tools the model can call without you writing a line. You extend it with capabilities specific to your agent. The loop itself, how a turn runs and checkpoints and resumes, lives in [Execution model and durability](./execution-model-and-durability).
|
|
7
7
|
|
|
8
8
|
## Compaction
|
|
9
9
|
|