eve 0.17.1 → 0.17.2

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 (83) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/src/channel/types.d.ts +11 -0
  3. package/dist/src/cli/dev/tui/status-line.d.ts +1 -1
  4. package/dist/src/compiled/.vendor-stamp.json +1 -1
  5. package/dist/src/compiled/@chat-adapter/slack/api.d.ts +132 -0
  6. package/dist/src/compiled/@chat-adapter/slack/api.js +1 -0
  7. package/dist/src/compiled/@chat-adapter/slack/blocks.js +1 -1
  8. package/dist/src/compiled/@chat-adapter/slack/format.d.ts +33 -0
  9. package/dist/src/compiled/@chat-adapter/slack/format.js +1 -0
  10. package/dist/src/compiled/@chat-adapter/slack/index.js +28 -28
  11. package/dist/src/compiled/@chat-adapter/slack/types-AntsVifS.d.ts +187 -0
  12. package/dist/src/compiled/@chat-adapter/slack/webhook.d.ts +10 -0
  13. package/dist/src/compiled/@chat-adapter/slack/webhook.js +1 -0
  14. package/dist/src/compiled/_chunks/node/chunk-AYN7QRWH-B__hKQV7.js +1 -0
  15. package/dist/src/compiled/_chunks/node/chunk-HFKBBKCJ-CWaVIQuL.js +1 -0
  16. package/dist/src/compiler/manifest.d.ts +2 -2
  17. package/dist/src/compiler/manifest.js +1 -1
  18. package/dist/src/compiler/normalize-agent-config.js +1 -1
  19. package/dist/src/context/keys.d.ts +2 -0
  20. package/dist/src/context/keys.js +1 -1
  21. package/dist/src/evals/assertions/run.js +2 -2
  22. package/dist/src/execution/create-session-step.d.ts +2 -0
  23. package/dist/src/execution/create-session-step.js +1 -1
  24. package/dist/src/execution/dispatch-runtime-actions-step.js +1 -1
  25. package/dist/src/execution/durable-session-store.d.ts +3 -0
  26. package/dist/src/execution/runtime-context.js +1 -1
  27. package/dist/src/execution/session.d.ts +6 -1
  28. package/dist/src/execution/session.js +3 -3
  29. package/dist/src/execution/subagent-tool.js +1 -1
  30. package/dist/src/execution/workflow-entry.js +1 -1
  31. package/dist/src/harness/advertised-tools.d.ts +33 -0
  32. package/dist/src/harness/advertised-tools.js +1 -0
  33. package/dist/src/harness/subagent-depth.d.ts +17 -0
  34. package/dist/src/harness/subagent-depth.js +1 -0
  35. package/dist/src/harness/tool-loop.js +1 -1
  36. package/dist/src/harness/turn-tag-state.d.ts +30 -22
  37. package/dist/src/harness/turn-tag-state.js +1 -1
  38. package/dist/src/harness/types.d.ts +28 -0
  39. package/dist/src/harness/workflow-continuation-security.d.ts +1 -0
  40. package/dist/src/harness/workflow-continuation-security.js +1 -1
  41. package/dist/src/internal/application/package.js +1 -1
  42. package/dist/src/internal/authored-definition/core.js +1 -1
  43. package/dist/src/internal/nitro/host/configure-nitro-routes.js +2 -2
  44. package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -1
  45. package/dist/src/internal/nitro/routes/channel-route-context.d.ts +5 -0
  46. package/dist/src/internal/nitro/routes/channel-route-context.js +1 -0
  47. package/dist/src/internal/nitro/routes/info.d.ts +2 -6
  48. package/dist/src/internal/nitro/routes/info.js +1 -1
  49. package/dist/src/protocol/routes.d.ts +2 -4
  50. package/dist/src/public/channels/eve.d.ts +5 -4
  51. package/dist/src/public/channels/eve.js +1 -1
  52. package/dist/src/public/channels/slack/api.d.ts +3 -6
  53. package/dist/src/public/channels/slack/api.js +1 -1
  54. package/dist/src/public/channels/slack/inbound.d.ts +11 -9
  55. package/dist/src/public/channels/slack/inbound.js +1 -1
  56. package/dist/src/public/channels/slack/interactions.d.ts +2 -1
  57. package/dist/src/public/channels/slack/interactions.js +1 -1
  58. package/dist/src/public/channels/slack/mrkdwn.d.ts +3 -35
  59. package/dist/src/public/channels/slack/mrkdwn.js +1 -1
  60. package/dist/src/public/channels/slack/slackChannel.js +1 -1
  61. package/dist/src/public/channels/slack/verify.d.ts +4 -42
  62. package/dist/src/public/channels/slack/verify.js +1 -1
  63. package/dist/src/public/definitions/agent.d.ts +1 -1
  64. package/dist/src/public/index.d.ts +1 -1
  65. package/dist/src/runtime/resolve-agent.js +1 -1
  66. package/dist/src/setup/boxes/preflight.js +1 -1
  67. package/dist/src/setup/boxes/select-model.js +1 -1
  68. package/dist/src/setup/flows/model.js +1 -1
  69. package/dist/src/setup/scaffold/create/project.d.ts +1 -1
  70. package/dist/src/setup/scaffold/create/project.js +1 -1
  71. package/dist/src/setup/scaffold/create/web-template.d.ts +3 -0
  72. package/dist/src/setup/scaffold/create/web-template.js +1 -1
  73. package/dist/src/shared/agent-definition.d.ts +37 -0
  74. package/dist/src/shared/default-agent-model.d.ts +1 -1
  75. package/dist/src/shared/default-agent-model.js +1 -1
  76. package/docs/agent-config.md +35 -8
  77. package/docs/channels/eve.mdx +3 -2
  78. package/docs/concepts/sessions-runs-and-streaming.md +2 -2
  79. package/docs/getting-started.mdx +5 -5
  80. package/docs/reference/typescript-api.md +1 -1
  81. package/docs/subagents.mdx +19 -0
  82. package/package.json +1 -1
  83. package/dist/src/compiled/_chunks/node/chunk-AYN7QRWH-Csu8sG38.js +0 -1
@@ -104,13 +104,13 @@ Start with the [TypeScript SDK](../guides/client/overview) guide. It covers basi
104
104
 
105
105
  ## Inspect the agent over HTTP
106
106
 
107
- `GET /eve/v1/info` returns a JSON inspection snapshot for the running agent: model, instructions, authored and framework tools, skills, channels, schedules, subagents, sandbox, connections, hooks, workflow, and workspace metadata. Local development accepts loopback requests; deployed Vercel targets require the route's OIDC auth.
107
+ `GET /eve/v1/info` returns a JSON inspection snapshot for the running agent: model, instructions, authored and framework tools, skills, channels, schedules, subagents, sandbox, connections, hooks, workflow, and workspace metadata. It uses the resolved `eveChannel()` route auth when `agent/channels/eve.ts` authors one; otherwise it falls back to the framework default of Vercel OIDC plus local development access.
108
108
 
109
109
  ```bash
110
110
  curl http://127.0.0.1:3000/eve/v1/info
111
111
  ```
112
112
 
113
- The route uses the same default auth chain as the eve channel (`[vercelOidc(), localDev()]`). A local Vercel OIDC bearer takes precedence; other local requests fall back to development access. A deployed Vercel target requires a valid OIDC bearer, with a same-project bypass for in-deployment callers. See [auth & route protection](../guides/auth-and-route-protection).
113
+ With the default auth chain (`[vercelOidc(), localDev()]`), a local Vercel OIDC bearer takes precedence and other local requests fall back to development access. A deployed Vercel target requires a valid OIDC bearer, with a same-project bypass for in-deployment callers. See [auth & route protection](../guides/auth-and-route-protection).
114
114
 
115
115
  ## Dispatch order
116
116
 
@@ -11,7 +11,7 @@ eve is a filesystem-first framework for durable agents. You write capabilities u
11
11
  - npm (bundled with Node)
12
12
  - A model credential (see below)
13
13
 
14
- The scaffold's default model is `anthropic/claude-sonnet-4.6`, which routes through the Vercel AI Gateway. Set one of these before you run the agent:
14
+ The scaffold's default model is `anthropic/claude-sonnet-5`, which routes through the Vercel AI Gateway. Set one of these before you run the agent:
15
15
 
16
16
  - A gateway model id needs `AI_GATEWAY_API_KEY`, or a `VERCEL_OIDC_TOKEN` pulled with `vercel link`.
17
17
  - A direct provider model uses that provider's AI SDK package and API key. For example, `anthropic("claude-...")` from `@ai-sdk/anthropic` needs `ANTHROPIC_API_KEY`.
@@ -79,7 +79,7 @@ You are a concise assistant. Use tools when they are available.
79
79
  import { defineAgent } from "eve";
80
80
 
81
81
  export default defineAgent({
82
- model: "anthropic/claude-sonnet-4.6",
82
+ model: "anthropic/claude-sonnet-5",
83
83
  });
84
84
  ```
85
85
 
@@ -137,7 +137,7 @@ The same CLI can point at a deployment. `npx eve dev https://your-app.vercel.app
137
137
  Every eve app exposes the same stable HTTP API. Start a durable session:
138
138
 
139
139
  ```bash
140
- curl -X POST http://127.0.0.1:3000/eve/v1/session \
140
+ curl -X POST http://127.0.0.1:2000/eve/v1/session \
141
141
  -H 'content-type: application/json' \
142
142
  -d '{"message":"What is the weather in Brooklyn?"}'
143
143
  ```
@@ -152,7 +152,7 @@ The response comes back with two things you'll reuse:
152
152
  Attach to the session stream:
153
153
 
154
154
  ```bash
155
- curl http://127.0.0.1:3000/eve/v1/session/<sessionId>/stream
155
+ curl http://127.0.0.1:2000/eve/v1/session/<sessionId>/stream
156
156
  ```
157
157
 
158
158
  The stream is NDJSON, served as `application/x-ndjson; charset=utf-8`. For this run you'll see a handful of lifecycle events:
@@ -174,7 +174,7 @@ The full set covers more lifecycle, human-in-the-loop, and authorization events,
174
174
  When the session is waiting for the next user message, post a follow-up with the token:
175
175
 
176
176
  ```bash
177
- curl -X POST http://127.0.0.1:3000/eve/v1/session/<sessionId> \
177
+ curl -X POST http://127.0.0.1:2000/eve/v1/session/<sessionId> \
178
178
  -H 'content-type: application/json' \
179
179
  -d '{"continuationToken":"<token>","message":"Now do Queens."}'
180
180
  ```
@@ -52,7 +52,7 @@ export default defineTool({
52
52
  | `mockModel` | `eve/evals` | Deterministic fixture agent models | [Evals](../evals/overview) |
53
53
  | `useEveAgent` | `eve/react`, `eve/vue`, `eve/svelte` | frontend | [Frontend](../guides/frontend/overview) |
54
54
 
55
- A few non-`define*` helpers round out the set: `disableTool` from `eve/tools` (see [Default harness](../concepts/default-harness)), the route verbs `GET`/`POST`/`PUT`/`PATCH`/`DELETE`/`WS` from `eve/channels`, the approval policies `always`/`once`/`never` from `eve/tools/approval`, and the channel auth helpers `localDev`/`vercelOidc`/`placeholderAuth` from `eve/channels/auth`. To wrap a built-in tool, import its default value from `eve/tools/defaults` (`bash`, `readFile`, `writeFile`, `glob`, `grep`, `webFetch`, `webSearch`, `todo`, `loadSkill`). `AgentReasoningDefinition` is exported from `eve` for the top-level `defineAgent({ reasoning })` setting. `AgentWorkflowDefinition` and `AgentWorkflowWorldDefinition` are exported from `eve` for the `defineAgent({ experimental: { workflow } })` config shape.
55
+ A few non-`define*` helpers round out the set: `disableTool` from `eve/tools` (see [Default harness](../concepts/default-harness)), the route verbs `GET`/`POST`/`PUT`/`PATCH`/`DELETE`/`WS` from `eve/channels`, the approval policies `always`/`once`/`never` from `eve/tools/approval`, and the channel auth helpers `localDev`/`vercelOidc`/`placeholderAuth` from `eve/channels/auth`. To wrap a built-in tool, import its default value from `eve/tools/defaults` (`bash`, `readFile`, `writeFile`, `glob`, `grep`, `webFetch`, `webSearch`, `todo`, `loadSkill`). `AgentReasoningDefinition` is exported from `eve` for the top-level `defineAgent({ reasoning })` setting. `AgentLimitsDefinition` is exported for `defineAgent({ limits })`. `AgentWorkflowDefinition` and `AgentWorkflowWorldDefinition` are exported from `eve` for the `defineAgent({ experimental: { workflow } })` config shape.
56
56
 
57
57
  ## Runtime context (`ctx`)
58
58
 
@@ -77,6 +77,25 @@ The built-in `agent` tool is the exception. Its children share the parent's sand
77
77
 
78
78
  eve lowers every subagent (built-in copy, declared, or [remote](./guides/remote-agents)) into a model-visible tool with the same `{ message, outputSchema? }` shape. The parent packs `message` with everything the child needs, since the child never sees the parent's history. Set `outputSchema` to run the child in task mode, returning structured output as the tool result.
79
79
 
80
+ Subagent delegation is capped by default at three child-session levels. Increase
81
+ or lower that limit with `limits.maxSubagentDepth`:
82
+
83
+ ```ts title="agent/agent.ts"
84
+ export default defineAgent({
85
+ model: "anthropic/claude-sonnet-5",
86
+ limits: {
87
+ maxSubagentDepth: 4,
88
+ },
89
+ });
90
+ ```
91
+
92
+ The root session is depth 0. With `maxSubagentDepth: 4`, eve may create child sessions
93
+ at depths 1 through 4; a session already at depth 4 cannot delegate again.
94
+
95
+ At the configured depth, eve stops advertising subagent tools, including declared local subagents, remote-agent tools, the built-in `agent` tool, and the `Workflow` orchestration tool when it would only expose subagents. If a stale or forced subagent call still reaches execution, eve blocks it and returns an error tool result instead of starting another child session.
96
+
97
+ `Workflow` is root-only. Delegated subagent sessions can still call their own visible subagent tools until the depth cap, but they do not receive the `Workflow` orchestration wrapper.
98
+
80
99
  A declared subagent's tool name is the bare path-derived name, with no prefix. `agent/subagents/researcher/` registers as the tool `researcher`. Unlike connection tools (`<connection>__<tool>`), it carries no namespace, so the model, approvals, logs, and evals all reference it by that name. Its input schema is:
81
100
 
82
101
  ```ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eve",
3
- "version": "0.17.1",
3
+ "version": "0.17.2",
4
4
  "private": false,
5
5
  "description": "Filesystem-first framework for durable backend AI agents that run anywhere.",
6
6
  "keywords": [
@@ -1 +0,0 @@
1
- var e=/(?<![<\w])@([A-Z][A-Z0-9_]+)/g;function t(e){return e.replace(/&lt;/g,`<`).replace(/&gt;/g,`>`).replace(/&amp;/g,`&`)}function n(e){let n=e;return n=n.replace(/<@([A-Z0-9_]+)\|([^<>]+)>/g,`@$2`),n=n.replace(/<@([A-Z0-9_]+)>/g,`@$1`),n=n.replace(/<#[A-Z0-9_]+\|([^<>]+)>/g,`#$1`),n=n.replace(/<#([A-Z0-9_]+)>/g,`#$1`),n=n.replace(/<(https?:\/\/[^|<>]+)\|([^<>]+)>/g,`[$2]($1)`),n=n.replace(/<(https?:\/\/[^<>]+)>/g,`$1`),n=n.replace(/(?<![_*\\])\*([^*\n]+)\*(?![_*])/g,`**$1**`),n=n.replace(/(?<!~)~([^~\n]+)~(?!~)/g,`~~$1~~`),t(n)}function r(e){return e.replace(/\*\*(.+?)\*\*/g,`*$1*`)}function i(t){return t.replace(e,`<@$1>`)}export{r as n,n as r,i as t};