eve 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/src/channel/compiled-channel.js +2 -1
  3. package/dist/src/cli/dev/tui/runner.js +1 -1
  4. package/dist/src/cli/dev/tui/setup-panel.d.ts +3 -4
  5. package/dist/src/cli/dev/tui/setup-panel.js +2 -2
  6. package/dist/src/cli/dev/tui/terminal-renderer.js +1 -1
  7. package/dist/src/evals/assertions/collector.d.ts +19 -6
  8. package/dist/src/evals/assertions/collector.js +1 -1
  9. package/dist/src/evals/assertions/run.d.ts +24 -17
  10. package/dist/src/evals/assertions/run.js +2 -2
  11. package/dist/src/evals/assertions/scoped.d.ts +17 -0
  12. package/dist/src/evals/assertions/scoped.js +1 -0
  13. package/dist/src/evals/context.d.ts +1 -0
  14. package/dist/src/evals/context.js +1 -1
  15. package/dist/src/evals/control-flow.d.ts +9 -0
  16. package/dist/src/evals/control-flow.js +1 -0
  17. package/dist/src/evals/define-eval.d.ts +1 -1
  18. package/dist/src/evals/define-eval.js +1 -1
  19. package/dist/src/evals/expect/index.d.ts +5 -3
  20. package/dist/src/evals/expect/index.js +1 -1
  21. package/dist/src/evals/index.d.ts +2 -2
  22. package/dist/src/evals/match.d.ts +50 -13
  23. package/dist/src/evals/match.js +1 -1
  24. package/dist/src/evals/runner/artifacts.js +1 -1
  25. package/dist/src/evals/runner/derive-run-facts.js +1 -1
  26. package/dist/src/evals/runner/execute-eval.js +1 -1
  27. package/dist/src/evals/runner/execute-task.d.ts +1 -0
  28. package/dist/src/evals/runner/execute-task.js +1 -1
  29. package/dist/src/evals/runner/reporters/braintrust.js +1 -1
  30. package/dist/src/evals/runner/reporters/console.js +1 -1
  31. package/dist/src/evals/runner/reporters/junit.js +3 -2
  32. package/dist/src/evals/runner/run-evals.js +1 -1
  33. package/dist/src/evals/runner/verdict.d.ts +1 -0
  34. package/dist/src/evals/runner/verdict.js +1 -1
  35. package/dist/src/evals/session.d.ts +9 -5
  36. package/dist/src/evals/session.js +1 -1
  37. package/dist/src/evals/types.d.ts +69 -47
  38. package/dist/src/harness/emission.d.ts +13 -27
  39. package/dist/src/harness/emission.js +1 -1
  40. package/dist/src/harness/step-hooks.d.ts +3 -3
  41. package/dist/src/harness/step-hooks.js +1 -1
  42. package/dist/src/harness/tool-loop.js +1 -1
  43. package/dist/src/internal/application/compiled-artifacts.js +1 -1
  44. package/dist/src/internal/application/package.d.ts +12 -0
  45. package/dist/src/internal/application/package.js +1 -1
  46. package/dist/src/internal/application/paths.d.ts +6 -0
  47. package/dist/src/internal/application/paths.js +1 -1
  48. package/dist/src/internal/nitro/host/configure-nitro-routes.js +2 -2
  49. package/dist/src/internal/workflow/configure-world.d.ts +6 -0
  50. package/dist/src/internal/workflow/configure-world.js +1 -1
  51. package/dist/src/internal/workflow/world-compatibility.d.ts +32 -0
  52. package/dist/src/internal/workflow/world-compatibility.js +1 -0
  53. package/dist/src/protocol/message.d.ts +7 -5
  54. package/dist/src/runtime/actions/types.d.ts +10 -11
  55. package/dist/src/setup/boxes/resolve-provisioning.js +1 -1
  56. package/dist/src/setup/scaffold/create/project.js +1 -1
  57. package/docs/agent-config.md +13 -3
  58. package/docs/concepts/execution-model-and-durability.md +1 -1
  59. package/docs/concepts/sessions-runs-and-streaming.md +1 -1
  60. package/docs/connections/overview.mdx +40 -2
  61. package/docs/evals/assertions.mdx +97 -39
  62. package/docs/evals/cases.mdx +24 -15
  63. package/docs/evals/judge.mdx +2 -2
  64. package/docs/evals/overview.mdx +7 -5
  65. package/docs/evals/reporters.mdx +2 -2
  66. package/docs/evals/running.mdx +3 -1
  67. package/docs/evals/targets.mdx +2 -2
  68. package/docs/guides/auth-and-route-protection.md +48 -1
  69. package/docs/guides/client/streaming.mdx +1 -1
  70. package/docs/guides/deployment.md +3 -2
  71. package/docs/tutorial/connect-a-warehouse.mdx +2 -0
  72. package/package.json +1 -1
@@ -140,7 +140,8 @@ Eve writes the standard Nitro output under `.output/` instead of Vercel Build Ou
140
140
 
141
141
  Self-deployed agents should make the Vercel-specific choices explicit:
142
142
 
143
- - Let the Workflow SDK use its default local world, which stores workflow state under `.workflow-data`, configure your host so that directory is on persistent storage, or select another world with `experimental.workflow.world` in the root `agent.ts`.
143
+ - Let the Workflow SDK use its default local world, which stores workflow state under `.workflow-data`, configure your host so that directory is on persistent storage, or select another world with `experimental.workflow.world` in the root `agent.ts`. When you select a custom world, install a world package built against the same `@workflow/*` line as your eve release (currently the `5.0.0-beta` line). The npm `latest` tag may lag, so pin the version explicitly, for example `pnpm add @workflow/world-postgres@5.0.0-beta.x`. A mismatched world (such as a `4.x` package against a `5.x` core) fails with a `ZodError: invalid_union` during run replay.
144
+ - If you put a reverse proxy or ingress in front of eve, forward **both** `/eve/` and `/.well-known/workflow/`. The workflow world delivers run callbacks to `/.well-known/workflow/v1/flow`; a proxy restricted to `/eve/` lets sessions start but silently stalls runs forever, because the callbacks never reach eve.
144
145
  - Install the AI SDK package for your provider, then use a direct provider model object and `OPENAI_API_KEY` / `ANTHROPIC_API_KEY` when you want no Gateway dependency.
145
146
  - Use `AI_GATEWAY_API_KEY` if you still want Gateway routing from a non-Vercel host.
146
147
  - Replace `vercelOidc()` with auth that your host can verify.
@@ -148,7 +149,7 @@ Self-deployed agents should make the Vercel-specific choices explicit:
148
149
  - If the agent defines schedules, the default `eve build && eve start` path starts Nitro's schedule runner, and Vercel wires schedules to Vercel Cron automatically. If you adapt the output to a custom HTTP-only host or preset, make sure it also runs Nitro scheduled tasks, or trigger the same work from your own scheduler.
149
150
  - Treat Vercel Cron, Vercel Sandbox prewarm, Vercel Deployment Protection bypass, and the Agent Runs dashboard as Vercel-only conveniences.
150
151
 
151
- The HTTP contract is unchanged: health, session creation, streaming, channels, tools, and subagents use the same routes. Any client that can reach and authenticate to those routes can talk to the agent.
152
+ The HTTP contract is unchanged: health, session creation, streaming, channels, tools, and subagents use the same routes under `/eve/`, and the workflow dispatch route lives under `/.well-known/workflow/`. A reverse proxy must preserve both prefixes. Any client that can reach and authenticate to those routes can talk to the agent.
152
153
 
153
154
  ## 9. Verify the deployment
154
155
 
@@ -26,6 +26,8 @@ export default defineMcpClientConnection({
26
26
 
27
27
  `"warehouse"` is the UID you chose when registering the Connect client. By default this OAuth is user-scoped. Each end-user authorizes in their own browser, and eve resolves that user's token before every tool call.
28
28
 
29
+ Before testing the warehouse from a web app, make sure the eve channel route auth maps your signed-in app user to `principalType: "user"`. A Connect-backed connection can only start per-user OAuth when the active session already has an authenticated user principal. If route auth still only accepts `localDev()`, a runtime token, or a placeholder guard, the first warehouse tool call fails with `reason: "principal_required"` instead of showing the sign-in challenge.
30
+
29
31
  Once Connect is enabled on your account, wire it up:
30
32
 
31
33
  1. Install the package: `npm install @vercel/connect`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eve",
3
- "version": "0.14.0",
3
+ "version": "0.15.0",
4
4
  "private": false,
5
5
  "description": "Filesystem-first framework for durable backend AI agents that run anywhere.",
6
6
  "keywords": [