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.
Files changed (309) hide show
  1. package/CHANGELOG.md +11 -2
  2. package/README.md +11 -11
  3. package/bin/eve.d.ts +1 -1
  4. package/bin/eve.js +6 -6
  5. package/dist/src/channel/routes.d.ts +4 -4
  6. package/dist/src/channel/types.d.ts +2 -2
  7. package/dist/src/channel/websocket-upgrade-server.d.ts +3 -3
  8. package/dist/src/chunks/{use-eve-agent-CdETo3qQ.js → use-eve-agent-D9ZhQhyV.js} +2 -2
  9. package/dist/src/chunks/{use-eve-agent-ClyM-_UT.js → use-eve-agent-DFI0POM9.js} +2 -2
  10. package/dist/src/cli/banner.d.ts +1 -1
  11. package/dist/src/cli/banner.js +1 -1
  12. package/dist/src/cli/commands/channel-add-conflicts.js +1 -1
  13. package/dist/src/cli/commands/channels.js +1 -1
  14. package/dist/src/cli/commands/deploy.js +1 -1
  15. package/dist/src/cli/commands/info.js +1 -1
  16. package/dist/src/cli/commands/init-agent-instructions.md +1 -1
  17. package/dist/src/cli/commands/init-git.js +1 -1
  18. package/dist/src/cli/commands/init.d.ts +1 -1
  19. package/dist/src/cli/commands/link.js +1 -1
  20. package/dist/src/cli/commands/preconditions.d.ts +2 -2
  21. package/dist/src/cli/commands/preconditions.js +1 -1
  22. package/dist/src/cli/dev/environment.d.ts +1 -1
  23. package/dist/src/cli/dev/tui/runner.js +1 -1
  24. package/dist/src/cli/dev/tui/setup-issues.d.ts +2 -0
  25. package/dist/src/cli/dev/tui/setup-issues.js +1 -1
  26. package/dist/src/cli/dev/tui/terminal-renderer.js +2 -2
  27. package/dist/src/cli/dev/tui/theme.d.ts +1 -1
  28. package/dist/src/cli/dev/tui/tui.d.ts +1 -1
  29. package/dist/src/cli/dev/url.d.ts +1 -1
  30. package/dist/src/cli/run.d.ts +1 -1
  31. package/dist/src/cli/run.js +2 -2
  32. package/dist/src/cli/ui/output.d.ts +1 -1
  33. package/dist/src/client/client-error.d.ts +1 -1
  34. package/dist/src/client/client.d.ts +3 -3
  35. package/dist/src/client/eve-agent-store.d.ts +1 -1
  36. package/dist/src/client/eve-agent-store.js +1 -1
  37. package/dist/src/client/message-reducer-types.d.ts +3 -3
  38. package/dist/src/client/message-reducer.d.ts +3 -3
  39. package/dist/src/client/output-schema.d.ts +1 -1
  40. package/dist/src/client/reducer.d.ts +5 -5
  41. package/dist/src/client/session.d.ts +1 -1
  42. package/dist/src/client/types.d.ts +1 -1
  43. package/dist/src/client/url.d.ts +2 -2
  44. package/dist/src/compiled/.vendor-stamp.json +1 -1
  45. package/dist/src/compiled/@vercel/detect-agent/index.d.ts +1 -1
  46. package/dist/src/compiler/channel-instrumentation-types.js +1 -1
  47. package/dist/src/compiler/model-catalog.d.ts +1 -1
  48. package/dist/src/compiler/module-map.js +1 -1
  49. package/dist/src/compiler/normalize-agent-config.js +1 -1
  50. package/dist/src/compiler/normalize-channel.js +1 -1
  51. package/dist/src/compiler/normalize-connection.js +1 -1
  52. package/dist/src/compiler/normalize-instructions.js +1 -1
  53. package/dist/src/compiler/normalize-sandbox.js +1 -1
  54. package/dist/src/compiler/normalize-schedule.js +1 -1
  55. package/dist/src/compiler/normalize-skill.js +1 -1
  56. package/dist/src/compiler/normalize-subagent.js +1 -1
  57. package/dist/src/compiler/normalize-tool.js +1 -1
  58. package/dist/src/compiler/workspace-resources.js +1 -1
  59. package/dist/src/context/build-callback-context.js +1 -1
  60. package/dist/src/context/container.d.ts +4 -4
  61. package/dist/src/context/container.js +1 -1
  62. package/dist/src/discover/diagnostics.d.ts +1 -1
  63. package/dist/src/discover/project.d.ts +2 -2
  64. package/dist/src/discover/project.js +1 -1
  65. package/dist/src/evals/cli/eval-client.d.ts +1 -1
  66. package/dist/src/evals/define-eval.d.ts +1 -1
  67. package/dist/src/evals/runner/execute-eval.d.ts +1 -1
  68. package/dist/src/evals/runner/execute-task.d.ts +1 -1
  69. package/dist/src/evals/types.d.ts +6 -6
  70. package/dist/src/execution/durable-session-migrations/chain.js +1 -1
  71. package/dist/src/execution/sandbox/bash-tool.js +1 -1
  72. package/dist/src/execution/sandbox/bindings/docker-options.d.ts +1 -1
  73. package/dist/src/execution/sandbox/bindings/just-bash-runtime.js +1 -1
  74. package/dist/src/execution/sandbox/bindings/microsandbox-runtime.js +1 -1
  75. package/dist/src/execution/sandbox/bindings/vercel.js +1 -1
  76. package/dist/src/execution/sandbox/development-prewarm.js +1 -1
  77. package/dist/src/execution/sandbox/ensure.js +1 -1
  78. package/dist/src/execution/sandbox/prewarm.js +1 -1
  79. package/dist/src/execution/session-callback-step.d.ts +1 -1
  80. package/dist/src/harness/attachment-staging.js +1 -1
  81. package/dist/src/harness/code-mode-lifecycle.d.ts +1 -1
  82. package/dist/src/harness/emission.d.ts +1 -1
  83. package/dist/src/harness/runtime-actions.d.ts +1 -1
  84. package/dist/src/internal/application/cache-metadata.d.ts +2 -2
  85. package/dist/src/internal/application/compiled-artifacts.js +2 -2
  86. package/dist/src/internal/application/package.d.ts +7 -7
  87. package/dist/src/internal/application/package.js +1 -1
  88. package/dist/src/internal/authored-module-bundle.js +1 -1
  89. package/dist/src/internal/helpers/markdown.js +1 -1
  90. package/dist/src/internal/instrumentation.d.ts +1 -1
  91. package/dist/src/internal/nitro/host/build-application.d.ts +1 -1
  92. package/dist/src/internal/nitro/host/channel-routes.d.ts +3 -3
  93. package/dist/src/internal/nitro/host/configure-nitro-routes.d.ts +1 -1
  94. package/dist/src/internal/nitro/host/configure-nitro-routes.js +1 -1
  95. package/dist/src/internal/nitro/host/create-application-nitro.d.ts +1 -1
  96. package/dist/src/internal/nitro/host/cron-handler-route.d.ts +3 -3
  97. package/dist/src/internal/nitro/host/nitro-bundler-config.d.ts +1 -1
  98. package/dist/src/internal/nitro/host/optional-engine-dependency-plugin.d.ts +2 -2
  99. package/dist/src/internal/nitro/host/schedule-task-routes.d.ts +2 -2
  100. package/dist/src/internal/nitro/host/start-development-server.d.ts +1 -1
  101. package/dist/src/internal/nitro/host/start-development-server.js +1 -1
  102. package/dist/src/internal/nitro/host/start-production-server.d.ts +1 -1
  103. package/dist/src/internal/nitro/host/start-production-server.js +2 -2
  104. package/dist/src/internal/nitro/routes/agent-info/load-agent-info-data.js +1 -1
  105. package/dist/src/internal/nitro/routes/health.d.ts +1 -1
  106. package/dist/src/internal/nitro/routes/info.d.ts +1 -1
  107. package/dist/src/internal/nitro/routes/runtime-artifacts.js +1 -1
  108. package/dist/src/internal/nitro/routes/schedule-task.d.ts +1 -1
  109. package/dist/src/internal/package-name.d.ts +1 -1
  110. package/dist/src/internal/vercel-agent-summary.d.ts +6 -6
  111. package/dist/src/internal/workflow/builtins.d.ts +3 -3
  112. package/dist/src/internal/workflow-bundle/nitro-step-entry.js +1 -1
  113. package/dist/src/internal/workflow-bundle/vercel-workflow-output.d.ts +7 -7
  114. package/dist/src/internal/workflow-bundle/workflow-core-shim.d.ts +4 -4
  115. package/dist/src/internal/workflow-bundle/workflow-core-shim.js +1 -1
  116. package/dist/src/packages/eve-catalog/src/index.js +1 -1
  117. package/dist/src/protocol/message.d.ts +2 -2
  118. package/dist/src/protocol/routes.d.ts +3 -3
  119. package/dist/src/public/agents/auth.d.ts +1 -1
  120. package/dist/src/public/channels/auth.d.ts +1 -1
  121. package/dist/src/public/channels/discord/api.d.ts +2 -2
  122. package/dist/src/public/channels/discord/discordChannel.d.ts +2 -2
  123. package/dist/src/public/channels/discord/hitl.d.ts +4 -4
  124. package/dist/src/public/channels/discord/verify.d.ts +1 -1
  125. package/dist/src/public/channels/eve.d.ts +5 -5
  126. package/dist/src/public/channels/github/api.d.ts +1 -1
  127. package/dist/src/public/channels/github/defaults.d.ts +1 -1
  128. package/dist/src/public/channels/github/inbound.d.ts +1 -1
  129. package/dist/src/public/channels/index.d.ts +2 -2
  130. package/dist/src/public/channels/linear/auth.d.ts +1 -1
  131. package/dist/src/public/channels/linear/hitl.d.ts +4 -4
  132. package/dist/src/public/channels/linear/inbound.d.ts +1 -1
  133. package/dist/src/public/channels/linear/verify.d.ts +1 -1
  134. package/dist/src/public/channels/slack/constants.d.ts +1 -1
  135. package/dist/src/public/channels/teams/api.d.ts +4 -4
  136. package/dist/src/public/channels/teams/hitl.d.ts +4 -4
  137. package/dist/src/public/channels/teams/limits.d.ts +3 -3
  138. package/dist/src/public/channels/teams/verify.d.ts +2 -2
  139. package/dist/src/public/channels/telegram/api.d.ts +1 -1
  140. package/dist/src/public/channels/telegram/hitl.d.ts +3 -3
  141. package/dist/src/public/channels/telegram/verify.d.ts +1 -1
  142. package/dist/src/public/channels/twilio/api.d.ts +1 -1
  143. package/dist/src/public/context/index.d.ts +1 -1
  144. package/dist/src/public/definitions/defineChannel.d.ts +2 -2
  145. package/dist/src/public/definitions/hook.d.ts +1 -1
  146. package/dist/src/public/definitions/remote-agent.d.ts +5 -5
  147. package/dist/src/public/definitions/sandbox.d.ts +1 -1
  148. package/dist/src/public/definitions/source.d.ts +2 -2
  149. package/dist/src/public/definitions/state.d.ts +2 -2
  150. package/dist/src/public/definitions/state.js +1 -1
  151. package/dist/src/public/instrumentation/index.d.ts +3 -3
  152. package/dist/src/public/next/index.d.ts +12 -12
  153. package/dist/src/public/next/index.js +1 -1
  154. package/dist/src/public/next/server.js +1 -1
  155. package/dist/src/public/next/vercel-output-config.js +1 -1
  156. package/dist/src/public/nuxt/dev-server.d.ts +2 -2
  157. package/dist/src/public/nuxt/dev-server.js +1 -1
  158. package/dist/src/public/nuxt/module.d.ts +10 -10
  159. package/dist/src/public/nuxt/routing.d.ts +6 -6
  160. package/dist/src/public/nuxt/routing.js +1 -1
  161. package/dist/src/public/nuxt/vercel-json.d.ts +2 -2
  162. package/dist/src/public/sandbox/backends/just-bash.d.ts +1 -1
  163. package/dist/src/public/sandbox/backends/microsandbox.d.ts +1 -1
  164. package/dist/src/public/sandbox/backends/vercel.d.ts +1 -1
  165. package/dist/src/public/sandbox/docker-sandbox.d.ts +1 -1
  166. package/dist/src/public/sandbox/just-bash-sandbox.d.ts +1 -1
  167. package/dist/src/public/sandbox/microsandbox-sandbox.d.ts +3 -3
  168. package/dist/src/public/sandbox/vercel-sandbox.d.ts +2 -2
  169. package/dist/src/public/sveltekit/dev-server.d.ts +2 -2
  170. package/dist/src/public/sveltekit/dev-server.js +1 -1
  171. package/dist/src/public/sveltekit/index.d.ts +11 -11
  172. package/dist/src/public/sveltekit/routing.d.ts +5 -5
  173. package/dist/src/public/sveltekit/routing.js +1 -1
  174. package/dist/src/public/sveltekit/vercel-json.d.ts +2 -2
  175. package/dist/src/public/tool-result-narrowing.js +1 -1
  176. package/dist/src/public/types/json.d.ts +1 -1
  177. package/dist/src/react/use-eve-agent.d.ts +8 -8
  178. package/dist/src/runtime/agent/bootstrap-model.js +1 -1
  179. package/dist/src/runtime/agent/bootstrap.d.ts +1 -1
  180. package/dist/src/runtime/agent/bootstrap.js +1 -1
  181. package/dist/src/runtime/agent/mock-model-adapter.js +1 -1
  182. package/dist/src/runtime/agent/resolve-model.js +1 -1
  183. package/dist/src/runtime/attributes/emit.d.ts +2 -2
  184. package/dist/src/runtime/connections/callback-route.d.ts +1 -1
  185. package/dist/src/runtime/connections/principal.js +1 -1
  186. package/dist/src/runtime/connections/scoped-authorization.d.ts +1 -1
  187. package/dist/src/runtime/connections/types.d.ts +4 -4
  188. package/dist/src/runtime/framework-tools/final-output.d.ts +1 -1
  189. package/dist/src/runtime/governance/auth/http-basic.d.ts +1 -1
  190. package/dist/src/runtime/governance/auth/token-claims.d.ts +1 -1
  191. package/dist/src/runtime/governance/auth/types.d.ts +1 -1
  192. package/dist/src/runtime/loaders/artifact-paths.d.ts +1 -1
  193. package/dist/src/runtime/loaders/compile-metadata.js +1 -1
  194. package/dist/src/runtime/loaders/manifest.js +1 -1
  195. package/dist/src/runtime/loaders/module-map.js +1 -1
  196. package/dist/src/runtime/prompt/compose.js +1 -1
  197. package/dist/src/runtime/resolve-channel.js +1 -1
  198. package/dist/src/runtime/schedules/register.js +1 -1
  199. package/dist/src/runtime/sessions/auth.d.ts +1 -1
  200. package/dist/src/runtime/sessions/runtime-session.d.ts +1 -1
  201. package/dist/src/runtime/types.d.ts +1 -1
  202. package/dist/src/runtime/workspace/types.d.ts +1 -1
  203. package/dist/src/services/dev-client/request-headers.d.ts +2 -2
  204. package/dist/src/services/dev-client/vercel-auth-error.d.ts +1 -1
  205. package/dist/src/services/inspect-application.d.ts +1 -1
  206. package/dist/src/setup/boxes/add-channels.d.ts +1 -1
  207. package/dist/src/setup/boxes/add-channels.js +1 -1
  208. package/dist/src/setup/boxes/deploy-project.js +1 -1
  209. package/dist/src/setup/boxes/resolve-target.d.ts +2 -2
  210. package/dist/src/setup/boxes/scaffold.d.ts +4 -4
  211. package/dist/src/setup/boxes/scaffold.js +1 -1
  212. package/dist/src/setup/channel-add-conflicts.js +1 -1
  213. package/dist/src/setup/cli/rail-log.d.ts +1 -1
  214. package/dist/src/setup/flows/model.d.ts +3 -5
  215. package/dist/src/setup/flows/model.js +1 -1
  216. package/dist/src/setup/node-engine.d.ts +5 -5
  217. package/dist/src/setup/node-engine.js +1 -1
  218. package/dist/src/setup/onboarding.d.ts +2 -2
  219. package/dist/src/setup/primitives/open-url.d.ts +1 -1
  220. package/dist/src/setup/primitives/pm/pnpm.js +1 -1
  221. package/dist/src/setup/primitives/pm/run.d.ts +1 -1
  222. package/dist/src/setup/primitives/pm/types.d.ts +1 -1
  223. package/dist/src/setup/scaffold/connections/catalog.d.ts +1 -1
  224. package/dist/src/setup/scaffold/create/add-to-project.d.ts +2 -2
  225. package/dist/src/setup/scaffold/create/add-to-project.js +1 -1
  226. package/dist/src/setup/scaffold/create/project.d.ts +5 -5
  227. package/dist/src/setup/scaffold/create/project.js +3 -3
  228. package/dist/src/setup/scaffold/create/web-template.d.ts +2 -2
  229. package/dist/src/setup/scaffold/create/web-template.js +2 -2
  230. package/dist/src/setup/scaffold/update/package-json.d.ts +1 -1
  231. package/dist/src/setup/slack-connect-lifecycle.d.ts +2 -2
  232. package/dist/src/setup/slack-connect-lifecycle.js +1 -1
  233. package/dist/src/setup/slackbot.d.ts +1 -1
  234. package/dist/src/setup/slackbot.js +1 -1
  235. package/dist/src/setup/validate-gateway-key.d.ts +1 -1
  236. package/dist/src/setup/vercel-project.js +1 -1
  237. package/dist/src/shared/agent-definition.d.ts +15 -15
  238. package/dist/src/shared/code-mode.d.ts +3 -3
  239. package/dist/src/shared/json-schema.d.ts +1 -1
  240. package/dist/src/shared/model-endpoint-status.d.ts +2 -2
  241. package/dist/src/shared/sandbox-backend.d.ts +4 -4
  242. package/dist/src/shared/sandbox-definition.d.ts +3 -3
  243. package/dist/src/shared/sandbox-network-policy.d.ts +1 -1
  244. package/dist/src/shared/sandbox-session.d.ts +2 -2
  245. package/dist/src/shared/skill-package.d.ts +1 -1
  246. package/dist/src/shared/skill-package.js +1 -1
  247. package/dist/src/shared/tool-definition.d.ts +1 -1
  248. package/dist/src/svelte/index.js +1 -1
  249. package/dist/src/svelte/use-eve-agent.d.ts +7 -7
  250. package/dist/src/svelte/use-eve-agent.js +1 -1
  251. package/dist/src/vue/index.js +1 -1
  252. package/dist/src/vue/use-eve-agent.d.ts +7 -7
  253. package/dist/src/vue/use-eve-agent.js +1 -1
  254. package/docs/README.md +10 -10
  255. package/docs/agent-config.md +2 -2
  256. package/docs/channels/custom.mdx +5 -5
  257. package/docs/channels/discord.mdx +3 -3
  258. package/docs/channels/eve.mdx +7 -7
  259. package/docs/channels/linear.mdx +6 -6
  260. package/docs/channels/overview.mdx +11 -11
  261. package/docs/channels/slack.mdx +4 -4
  262. package/docs/channels/teams.mdx +2 -2
  263. package/docs/channels/telegram.mdx +3 -3
  264. package/docs/channels/twilio.mdx +1 -1
  265. package/docs/concepts/context-control.md +5 -5
  266. package/docs/concepts/default-harness.md +2 -2
  267. package/docs/concepts/execution-model-and-durability.md +9 -9
  268. package/docs/concepts/security-model.md +9 -9
  269. package/docs/concepts/sessions-runs-and-streaming.md +3 -3
  270. package/docs/connections.mdx +11 -11
  271. package/docs/evals/judge.mdx +2 -2
  272. package/docs/evals/overview.mdx +2 -2
  273. package/docs/evals/reporters.mdx +2 -2
  274. package/docs/getting-started.mdx +10 -10
  275. package/docs/guides/auth-and-route-protection.md +6 -6
  276. package/docs/guides/client/continuations.mdx +3 -3
  277. package/docs/guides/client/output-schema.mdx +1 -1
  278. package/docs/guides/client/overview.mdx +5 -5
  279. package/docs/guides/client/streaming.mdx +1 -1
  280. package/docs/guides/deployment.md +7 -7
  281. package/docs/guides/dev-tui.md +2 -2
  282. package/docs/guides/frontend/nextjs.mdx +13 -13
  283. package/docs/guides/frontend/nuxt.mdx +7 -7
  284. package/docs/guides/frontend/overview.mdx +12 -12
  285. package/docs/guides/frontend/sveltekit.mdx +7 -7
  286. package/docs/guides/frontend/use-eve-agent-svelte.mdx +6 -6
  287. package/docs/guides/frontend/use-eve-agent-vue.mdx +6 -6
  288. package/docs/guides/hooks.md +2 -2
  289. package/docs/guides/instrumentation.md +12 -12
  290. package/docs/guides/remote-agents.md +4 -4
  291. package/docs/guides/session-context.md +4 -4
  292. package/docs/guides/state.md +1 -1
  293. package/docs/instructions.mdx +4 -4
  294. package/docs/introduction.mdx +12 -12
  295. package/docs/reference/cli.md +5 -5
  296. package/docs/reference/project-layout.md +4 -4
  297. package/docs/responsible-use.md +3 -3
  298. package/docs/sandbox.mdx +8 -8
  299. package/docs/schedules.mdx +1 -1
  300. package/docs/skills.mdx +4 -4
  301. package/docs/subagents.mdx +3 -3
  302. package/docs/tools/human-in-the-loop.md +10 -10
  303. package/docs/tools/overview.mdx +10 -10
  304. package/docs/tutorial/connect-a-warehouse.mdx +3 -3
  305. package/docs/tutorial/first-agent.mdx +2 -2
  306. package/docs/tutorial/how-it-runs.mdx +2 -2
  307. package/docs/tutorial/query-sample-data.mdx +1 -1
  308. package/docs/tutorial/ship-it.mdx +4 -4
  309. 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 Eve agent session: projected `data`, the
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 Eve streams
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 Eve agent session.
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 Eve client requests. Empty targets same-origin Eve routes
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 Eve server directly.
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 Eve confirms them with a
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 Eve stream.
86
+ * authoritative eve stream.
87
87
  *
88
88
  * @default true
89
89
  */
@@ -1,3 +1,3 @@
1
- import { t as useEveAgent } from "../chunks/use-eve-agent-CdETo3qQ.js";
1
+ import { t as useEveAgent } from "../chunks/use-eve-agent-D9ZhQhyV.js";
2
2
 
3
3
  export { useEveAgent };
@@ -1,3 +1,3 @@
1
- import { n as defaultMessageReducer, t as useEveAgent } from "../chunks/use-eve-agent-ClyM-_UT.js";
1
+ import { n as defaultMessageReducer, t as useEveAgent } from "../chunks/use-eve-agent-DFI0POM9.js";
2
2
 
3
3
  export { defaultMessageReducer, useEveAgent };
@@ -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 Eve agent session (`data`, `error`,
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 Eve agent session.
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 Eve client requests.
62
+ * Base URL used for eve client requests.
63
63
  *
64
- * By default, requests target same-origin Eve routes such as `/eve/v1/...`.
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 Eve server directly.
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 Eve confirms them with a
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 Eve stream.
82
+ * exposed through `events`, which remains the authoritative eve stream.
83
83
  *
84
84
  * @default true
85
85
  */
@@ -1,3 +1,3 @@
1
- import { t as useEveAgent } from "../chunks/use-eve-agent-ClyM-_UT.js";
1
+ import { t as useEveAgent } from "../chunks/use-eve-agent-DFI0POM9.js";
2
2
 
3
3
  export { useEveAgent };
package/docs/README.md CHANGED
@@ -1,28 +1,28 @@
1
- # Eve Public Docs
1
+ # eve Public Docs
2
2
 
3
- This folder is for app authors using Eve as a framework.
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 Eve, start here.
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 Eve.
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
- Eve is currently a preview and subject to the Vercel beta terms; the framework, APIs, documentation, and behavior may change before general availability.
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 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.
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, 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.
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
- Eve is a filesystem-first framework for durable backend agents.
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
- Eve then gives you:
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 Eve exposes two identifiers:
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
@@ -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, Eve defaults
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 Eve compiles authored modules such as tools and channels, and traces those packages into the hosted output. |
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
 
@@ -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 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.
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 Eve `SessionContext`. Every channel kind shares this signature. The one exception is `session.failed`, which receives only `(eventData, channel)` with no `ctx`.
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 Eve-owned structural types compatible with Nitro/H3 websocket routing, including `upgrade`, `open`, `message`, `close`, and `error`.
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. 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", ...)`.
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 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.
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 Eve work in the background. See [Channels](./overview) for the contract this builds on.
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 Eve's default prompt extraction:
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 Eve agent","type":1,
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
 
@@ -1,9 +1,9 @@
1
1
  ---
2
- title: "Eve"
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 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.
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 Eve falls back to `[localDev(), vercelOidc()]`, which still does not admit browser users in production.
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("Eve response completed", {
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 Eve channel from React UI.
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 Eve channel from browser UI with `useEveAgent`
98
- - [TypeScript SDK](../guides/client/overview): call the Eve channel from TypeScript
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
@@ -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, 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.
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`; 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.
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. Eve adds a Linear context block with the agent session, issue, comment, and organization identifiers, then continues the same session with `agent-session:<id>`.
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, Eve buffers the first non-empty line and uses it as the next ephemeral Linear `thought`, mirroring Slack's typing-status behavior.
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 Eve input request and resumes with `inputResponses`.
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 Eve turn. For an existing `agentSessionId`, it skips session creation and only seeds the continuation token.
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 Eve HTTP channel, and authoring custom channels."
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
- 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.
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 Eve HTTP channel (default)
31
+ ## The eve HTTP channel (default)
32
32
 
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.
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 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.
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
- 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.
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
- 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.
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 | Eve channel + [`useEveAgent`](../guides/frontend/overview) |
50
- | Local tooling, SDK clients, `curl` | Eve channel (default) |
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 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.
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 Eve channel with `useEveAgent`
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
@@ -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 Eve's Slack route:
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 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).
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 Eve as a framework during the build. Eve's own setup commands set the same flag.
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 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:
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";
@@ -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, Eve strips the mention, adds a `<teams_context>` block, and scopes channel and group threads by root activity id (`replyToId ?? id`).
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 Eve `inputResponses` for you. For invokes that aren't HITL, handle them in `onInvoke(ctx, activity)`.
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; Eve does not call `setWebhook`:
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 Eve keeps compact callback ids in channel state instead. It acknowledges its own callbacks with `answerCallbackQuery`; anything it doesn't recognize goes to `onCallbackQuery`.
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. Eve fetches them on demand via `getFile`, only when an upload policy allows the type:
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({
@@ -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 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.
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 Eve agent's model sees and when, across instructions, skills, the workspace, and subagents."
3
+ description: "Control what an eve agent's model sees and when, across instructions, skills, the workspace, and subagents."
4
4
  ---
5
5
 
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.
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. Eve captures the resulting markdown into the compiled manifest, so the runtime serves the same prompt every session without re-running the module.
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. 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.
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
- 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.
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 Eve agent loop and the built-in tools every agent ships with, plus how to override or disable them."
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 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).
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