eve 0.11.1 → 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 +17 -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/code-mode.js +1 -1
- package/dist/src/harness/emission.d.ts +1 -1
- package/dist/src/harness/runtime-actions.d.ts +1 -1
- package/dist/src/harness/tool-loop.js +1 -1
- package/dist/src/harness/tools.d.ts +12 -0
- package/dist/src/harness/tools.js +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 +11 -11
- 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 +16 -16
- 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 +30 -30
- 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 +12 -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 +13 -13
- 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 +14 -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 +83 -0
- package/docs/tools/meta.json +4 -0
- package/docs/{tools.mdx → tools/overview.mdx} +14 -37
- 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
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Public, versioned summary of an
|
|
2
|
+
* Public, versioned summary of an eve agent emitted by `eve`
|
|
3
3
|
* during `eve build`.
|
|
4
4
|
*
|
|
5
|
-
* This schema is the stable contract between
|
|
5
|
+
* This schema is the stable contract between eve and Vercel platform
|
|
6
6
|
* surfaces (eg. the dashboard's project overview card). It is intentionally
|
|
7
7
|
* smaller and more conservative than the internal {@link CompiledAgentManifest}
|
|
8
8
|
* — only fields safe to render in product UI live here, and the schema is
|
|
@@ -37,10 +37,10 @@ export declare const VERCEL_EVE_AGENT_SUMMARY_KIND: "vercel-eve-agent-summary";
|
|
|
37
37
|
*/
|
|
38
38
|
export declare const VERCEL_EVE_AGENT_SUMMARY_VERSION = 3;
|
|
39
39
|
/**
|
|
40
|
-
* Output path (relative to the agent's `appRoot`) where
|
|
40
|
+
* Output path (relative to the agent's `appRoot`) where eve writes the
|
|
41
41
|
* summary file at build time.
|
|
42
42
|
*
|
|
43
|
-
* Lives under `.eve/` — the existing
|
|
43
|
+
* Lives under `.eve/` — the existing eve-internal cache namespace that
|
|
44
44
|
* already holds `nitro/`, `nitro-output/`, `sandbox-cache/`, etc. (see
|
|
45
45
|
* `packages/eve/src/internal/application/paths.ts`). Intentionally
|
|
46
46
|
* outside `.vercel/output/` so the file is not part of the Build Output
|
|
@@ -50,7 +50,7 @@ export declare const VERCEL_EVE_AGENT_SUMMARY_VERSION = 3;
|
|
|
50
50
|
*/
|
|
51
51
|
export declare const VERCEL_EVE_AGENT_SUMMARY_OUTPUT_PATH = ".eve/agent-summary.json";
|
|
52
52
|
/**
|
|
53
|
-
* Display category
|
|
53
|
+
* Display category eve exposes to the dashboard for one channel chip. Built
|
|
54
54
|
* from the channel's reported {@link CompiledChannelDefinition.adapterKind}.
|
|
55
55
|
*/
|
|
56
56
|
export type VercelEveChannelType = "slack" | "http" | "webhook" | "unknown";
|
|
@@ -176,7 +176,7 @@ export interface VercelEveDiagnosticsSummary {
|
|
|
176
176
|
readonly warnings: number;
|
|
177
177
|
}
|
|
178
178
|
/**
|
|
179
|
-
* Versioned public summary of one
|
|
179
|
+
* Versioned public summary of one eve agent, emitted into the Vercel Build
|
|
180
180
|
* Output during `eve build` and ingested by Vercel as deployment metadata.
|
|
181
181
|
*/
|
|
182
182
|
export interface VercelEveAgentSummary {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Built-in Workflow response body steps used by
|
|
2
|
+
* Built-in Workflow response body steps used by eve-owned workflow bundles.
|
|
3
3
|
*
|
|
4
4
|
* These mirror Workflow's tiny `workflow/internal/builtins` module without
|
|
5
|
-
* requiring
|
|
5
|
+
* requiring eve to depend on Workflow's umbrella package.
|
|
6
6
|
*/
|
|
7
7
|
export declare function __builtin_response_array_buffer(this: Request | Response): Promise<ArrayBuffer>;
|
|
8
8
|
export declare function __builtin_response_json(this: Request | Response): Promise<unknown>;
|
|
@@ -16,7 +16,7 @@ export declare function __builtin_response_text(this: Request | Response): Promi
|
|
|
16
16
|
* dispatches into the workflow runtime with the step id
|
|
17
17
|
* `"__builtin_set_attributes"`; the runtime walks the deployment's step
|
|
18
18
|
* registry to resolve it, so the step has to live inside an
|
|
19
|
-
*
|
|
19
|
+
* eve-vendored builtins module that the registry visits. The eve bundler
|
|
20
20
|
* already pulls this file in via `resolveWorkflowModulePath("workflow/internal/builtins")`,
|
|
21
21
|
* so adding the function here is sufficient to register it.
|
|
22
22
|
*
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{dirname,relative}from"node:path";import{mkdir,readFile,writeFile}from"node:fs/promises";import{normalizeEsmImportSpecifier}from"#internal/application/import-specifier.js";import{applyWorkflowTransform}from"#internal/workflow-bundle/workflow-builders.js";async function writeNitroStepEntrypoint(t){let r=[...t.discoveredEntries.discoveredSteps].sort(),a=new Set(r),o=[...t.discoveredEntries.discoveredSerdeFiles].sort().filter(e=>!a.has(e)),s=await collectNitroStepManifest({projectRoot:t.projectRoot,stepFiles:r,serdeOnlyFiles:o,workingDir:t.workingDir}),c=dirname(t.outfile),l=[`// Generated by
|
|
1
|
+
import{dirname,relative}from"node:path";import{mkdir,readFile,writeFile}from"node:fs/promises";import{normalizeEsmImportSpecifier}from"#internal/application/import-specifier.js";import{applyWorkflowTransform}from"#internal/workflow-bundle/workflow-builders.js";async function writeNitroStepEntrypoint(t){let r=[...t.discoveredEntries.discoveredSteps].sort(),a=new Set(r),o=[...t.discoveredEntries.discoveredSerdeFiles].sort().filter(e=>!a.has(e)),s=await collectNitroStepManifest({projectRoot:t.projectRoot,stepFiles:r,serdeOnlyFiles:o,workingDir:t.workingDir}),c=dirname(t.outfile),l=[`// Generated by eve. Do not edit by hand.`,...createEntrypointImportLines({builtinsImportSpecifier:t.builtinsPath===void 0?`workflow/internal/builtins`:createFileImportSpecifier({outfileDirectory:c,preferAbsoluteFileImports:t.preferAbsoluteFileImports??!1,targetPath:t.builtinsPath}),outfileDirectory:c,preferAbsoluteFileImports:t.preferAbsoluteFileImports??!1,serdeOnlyFiles:o,stepFiles:r}),`export const __steps_registered = true;`,``].join(`
|
|
2
2
|
`);return await mkdir(c,{recursive:!0}),await readTextFileIfPresent(t.outfile)!==l&&await writeFile(t.outfile,l),s}function createEntrypointImportLines(e){return[e.builtinsImportSpecifier,...e.stepFiles.map(t=>createFileImportSpecifier({outfileDirectory:e.outfileDirectory,preferAbsoluteFileImports:e.preferAbsoluteFileImports,targetPath:t})),...e.serdeOnlyFiles.map(t=>createFileImportSpecifier({outfileDirectory:e.outfileDirectory,preferAbsoluteFileImports:e.preferAbsoluteFileImports,targetPath:t}))].map(e=>`import ${JSON.stringify(e)};`)}function createFileImportSpecifier(e){return e.preferAbsoluteFileImports?normalizeEsmImportSpecifier(e.targetPath):createRelativeImportSpecifier(e.outfileDirectory,e.targetPath)}async function collectNitroStepManifest(e){let t={},n=[...e.stepFiles,...e.serdeOnlyFiles];for(let i of n){let n=await readFile(i,`utf8`);mergeWorkflowManifest(t,(await applyWorkflowTransform(createManifestRelativeFilepath(e.workingDir,i),n,`step`,i,e.projectRoot)).workflowManifest)}return t}function mergeWorkflowManifest(e,t){e.steps=mergeWorkflowManifestSection(e.steps,t.steps),e.workflows=mergeWorkflowManifestSection(e.workflows,t.workflows),e.classes=mergeWorkflowManifestSection(e.classes,t.classes)}function mergeWorkflowManifestSection(e,t){if(t===void 0)return e;let n={...e};for(let[e,r]of Object.entries(t))n[e]={...n[e],...r};return n}function createManifestRelativeFilepath(e,n){let r=n.replaceAll(`\\`,`/`),i=relative(e.replaceAll(`\\`,`/`),r).replaceAll(`\\`,`/`);return i.startsWith(`../`)&&(i=i.split(`/`).filter(e=>e!==`..`).join(`/`)),i}function createRelativeImportSpecifier(e,n){let r=relative(e,n).replaceAll(`\\`,`/`);return r.startsWith(`.`)?r:`./${r}`}async function readTextFileIfPresent(e){try{return await readFile(e,`utf8`)}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return null;throw e}}export{writeNitroStepEntrypoint};
|
|
@@ -27,18 +27,18 @@ export declare function copyNitroFunctionDirectory(input: {
|
|
|
27
27
|
targetPath: string;
|
|
28
28
|
}): Promise<void>;
|
|
29
29
|
/**
|
|
30
|
-
* Keeps only
|
|
31
|
-
* symlinks to a shared
|
|
30
|
+
* Keeps only eve-owned Vercel function output and rewrites eve route function
|
|
31
|
+
* symlinks to a shared eve-owned server function.
|
|
32
32
|
*
|
|
33
33
|
* Nitro emits generic app routes such as `index.func -> ./__server.func` for
|
|
34
|
-
*
|
|
34
|
+
* eve's standalone landing page. In a multi-service Next.js deployment those
|
|
35
35
|
* root aliases collide with Next's own functions. The Next integration only
|
|
36
|
-
* proxies
|
|
37
|
-
* those route functions and workflow trigger functions, not
|
|
36
|
+
* proxies eve's `/eve/v1/**` transport routes, so Vercel output should expose
|
|
37
|
+
* those route functions and workflow trigger functions, not eve's root page.
|
|
38
38
|
*
|
|
39
39
|
* Nitro also dedupes every route function through `__server.func`. Preserve
|
|
40
|
-
* that model by copying the shared target once into the
|
|
41
|
-
* repointing
|
|
40
|
+
* that model by copying the shared target once into the eve-owned tree and
|
|
41
|
+
* repointing eve route aliases at it before pruning the root target.
|
|
42
42
|
*/
|
|
43
43
|
export declare function normalizeEveVercelFunctionOutput(outputDir: string, options?: {
|
|
44
44
|
readonly servicePrefix?: string;
|
|
@@ -50,18 +50,18 @@ export declare function getStepMetadata(): never;
|
|
|
50
50
|
* Options accepted by {@link experimental_setAttributes}.
|
|
51
51
|
*
|
|
52
52
|
* Mirrors `ExperimentalSetAttributesOptions` from `@workflow/core` so the
|
|
53
|
-
*
|
|
53
|
+
* eve workflow-body bundle does not have to pull the real type in.
|
|
54
54
|
*/
|
|
55
55
|
export interface ExperimentalSetAttributesOptions {
|
|
56
56
|
/**
|
|
57
|
-
* Permit attribute keys that start with the reserved `$` prefix.
|
|
57
|
+
* Permit attribute keys that start with the reserved `$` prefix. eve
|
|
58
58
|
* framework code passes `true` so it can write the `$eve.*` namespace;
|
|
59
59
|
* authored agent code never calls this shim directly.
|
|
60
60
|
*/
|
|
61
61
|
allowReservedAttributes?: boolean;
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
|
-
* Workflow-body implementation of `experimental_setAttributes` for the
|
|
64
|
+
* Workflow-body implementation of `experimental_setAttributes` for the eve
|
|
65
65
|
* bundle. Mirrors the dispatch path of `@workflow/core`'s workflow-body
|
|
66
66
|
* export (`dist/workflow/set-attributes.js`):
|
|
67
67
|
*
|
|
@@ -69,7 +69,7 @@ export interface ExperimentalSetAttributesOptions {
|
|
|
69
69
|
* runtime expects (`undefined` -> `null` to clear a key).
|
|
70
70
|
* 2. Resolve the workflow runtime's step dispatcher from
|
|
71
71
|
* `globalThis[Symbol.for("WORKFLOW_USE_STEP")]` (the same global symbol
|
|
72
|
-
*
|
|
72
|
+
* eve already relies on to materialize `"use step"` proxies).
|
|
73
73
|
* 3. Invoke the builtin `__builtin_set_attributes` step with the changes,
|
|
74
74
|
* which the runtime records on the active workflow run.
|
|
75
75
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const WORKFLOW_CONTEXT_SYMBOL=Symbol.for(`WORKFLOW_CONTEXT`),WORKFLOW_CREATE_HOOK=Symbol.for(`WORKFLOW_CREATE_HOOK`),WORKFLOW_GET_STREAM_ID=Symbol.for(`WORKFLOW_GET_STREAM_ID`),WORKFLOW_USE_STEP=Symbol.for(`WORKFLOW_USE_STEP`),STREAM_NAME_SYMBOL=Symbol.for(`WORKFLOW_STREAM_NAME`),workflowGlobal=globalThis;var RetryableError=class extends Error{},FatalError=class extends Error{};function createHook(e){let n=workflowGlobal[WORKFLOW_CREATE_HOOK];if(n===void 0)throw Error("`createHook()` can only be called inside a workflow function");return n(e)}function getWorkflowMetadata(){let t=workflowGlobal[WORKFLOW_CONTEXT_SYMBOL];if(t===void 0)throw Error("`getWorkflowMetadata()` can only be called inside a workflow or step function");return t}function getWritable(e={}){let t=workflowGlobal[WORKFLOW_GET_STREAM_ID];if(t===void 0)throw Error("`getWritable()` can only be called inside a workflow function");let r=t(e.namespace);return Object.create(globalThis.WritableStream.prototype,{[STREAM_NAME_SYMBOL]:{value:r,writable:!1}})}function createWebhook(e){let t=createHook(e),n=getWorkflowMetadata();return t.url=`${typeof n.url==`string`?n.url:``}/.well-known/workflow/v1/webhook/${encodeURIComponent(t.token)}`,t}function defineHook(){return{create:createHook,resume(){throw Error("`defineHook().resume()` can only be called from external contexts.")}}}function sleep(){throw Error("`sleep()` is not available in
|
|
1
|
+
const WORKFLOW_CONTEXT_SYMBOL=Symbol.for(`WORKFLOW_CONTEXT`),WORKFLOW_CREATE_HOOK=Symbol.for(`WORKFLOW_CREATE_HOOK`),WORKFLOW_GET_STREAM_ID=Symbol.for(`WORKFLOW_GET_STREAM_ID`),WORKFLOW_USE_STEP=Symbol.for(`WORKFLOW_USE_STEP`),STREAM_NAME_SYMBOL=Symbol.for(`WORKFLOW_STREAM_NAME`),workflowGlobal=globalThis;var RetryableError=class extends Error{},FatalError=class extends Error{};function createHook(e){let n=workflowGlobal[WORKFLOW_CREATE_HOOK];if(n===void 0)throw Error("`createHook()` can only be called inside a workflow function");return n(e)}function getWorkflowMetadata(){let t=workflowGlobal[WORKFLOW_CONTEXT_SYMBOL];if(t===void 0)throw Error("`getWorkflowMetadata()` can only be called inside a workflow or step function");return t}function getWritable(e={}){let t=workflowGlobal[WORKFLOW_GET_STREAM_ID];if(t===void 0)throw Error("`getWritable()` can only be called inside a workflow function");let r=t(e.namespace);return Object.create(globalThis.WritableStream.prototype,{[STREAM_NAME_SYMBOL]:{value:r,writable:!1}})}function createWebhook(e){let t=createHook(e),n=getWorkflowMetadata();return t.url=`${typeof n.url==`string`?n.url:``}/.well-known/workflow/v1/webhook/${encodeURIComponent(t.token)}`,t}function defineHook(){return{create:createHook,resume(){throw Error("`defineHook().resume()` can only be called from external contexts.")}}}function sleep(){throw Error("`sleep()` is not available in eve workflow body bundles")}function resumeHook(){throw Error("`resumeHook()` can only be called from outside a workflow function")}function getStepMetadata(){throw Error("`getStepMetadata()` can only be called inside a step function")}async function experimental_setAttributes(e,t={}){let n=Object.entries(e);if(n.length===0)return;let i=workflowGlobal[WORKFLOW_USE_STEP];if(i===void 0)throw Error("`experimental_setAttributes()` can only be called inside a workflow runtime context");let a=n.map(([e,t])=>({key:e,value:t===void 0?null:t})),o=t.allowReservedAttributes===!0?{allowReservedAttributes:!0}:{};await i(`__builtin_set_attributes`)(a,o)}export{FatalError,RetryableError,createHook,createWebhook,defineHook,experimental_setAttributes,getStepMetadata,getWorkflowMetadata,getWritable,resumeHook,sleep};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function connectionProtocols(e){return[e.mcp?`mcp`:null,e.openapi?`openapi`:null].filter(e=>e!==null)}const INTEGRATIONS=[{slug:`slack`,name:`Slack`,kind:`channel`,tagline:`Mention your agent in channels and DMs, with Connect-managed auth.`,surfaces:{scaffoldable:!0,gallery:!0}},{slug:`discord`,name:`Discord`,kind:`channel`,tagline:`Run your agent as a Discord bot across servers and threads.`,surfaces:{scaffoldable:!1,gallery:!0}},{slug:`teams`,name:`Microsoft Teams`,kind:`channel`,tagline:`Bring your agent into Teams chats and channels.`,surfaces:{scaffoldable:!1,gallery:!0}},{slug:`telegram`,name:`Telegram`,kind:`channel`,tagline:`Connect your agent to a Telegram bot for 1:1 and group chats.`,surfaces:{scaffoldable:!1,gallery:!0}},{slug:`twilio`,name:`Twilio`,kind:`channel`,tagline:`Reach users over SMS and WhatsApp through Twilio.`,surfaces:{scaffoldable:!1,gallery:!0}},{slug:`github`,name:`GitHub`,kind:`channel`,tagline:`Drive your agent from issues, pull requests, and comments.`,surfaces:{scaffoldable:!1,gallery:!0}},{slug:`linear-agent`,name:`Linear Agent`,kind:`channel`,tagline:`Delegate Linear issues and comments to your agent through Linear's Agent Sessions.`,surfaces:{scaffoldable:!1,gallery:!0}},{slug:`eve`,name:`
|
|
1
|
+
function connectionProtocols(e){return[e.mcp?`mcp`:null,e.openapi?`openapi`:null].filter(e=>e!==null)}const INTEGRATIONS=[{slug:`slack`,name:`Slack`,kind:`channel`,tagline:`Mention your agent in channels and DMs, with Connect-managed auth.`,surfaces:{scaffoldable:!0,gallery:!0}},{slug:`discord`,name:`Discord`,kind:`channel`,tagline:`Run your agent as a Discord bot across servers and threads.`,surfaces:{scaffoldable:!1,gallery:!0}},{slug:`teams`,name:`Microsoft Teams`,kind:`channel`,tagline:`Bring your agent into Teams chats and channels.`,surfaces:{scaffoldable:!1,gallery:!0}},{slug:`telegram`,name:`Telegram`,kind:`channel`,tagline:`Connect your agent to a Telegram bot for 1:1 and group chats.`,surfaces:{scaffoldable:!1,gallery:!0}},{slug:`twilio`,name:`Twilio`,kind:`channel`,tagline:`Reach users over SMS and WhatsApp through Twilio.`,surfaces:{scaffoldable:!1,gallery:!0}},{slug:`github`,name:`GitHub`,kind:`channel`,tagline:`Drive your agent from issues, pull requests, and comments.`,surfaces:{scaffoldable:!1,gallery:!0}},{slug:`linear-agent`,name:`Linear Agent`,kind:`channel`,tagline:`Delegate Linear issues and comments to your agent through Linear's Agent Sessions.`,surfaces:{scaffoldable:!1,gallery:!0}},{slug:`eve`,name:`eve Web Chat`,kind:`channel`,tagline:`Embed a first-party web chat UI backed by your agent.`,surfaces:{scaffoldable:!0,gallery:!0}},{slug:`linear`,name:`Linear`,kind:`connection`,tagline:`Issues, projects, cycles, and comments via Linear's MCP server.`,surfaces:{scaffoldable:!0,gallery:!0},connection:{description:`Linear workspace: issues, projects, cycles, and comments.`,mcp:{url:`https://mcp.linear.app/sse`}}},{slug:`notion`,name:`Notion`,kind:`connection`,tagline:`Search and edit Notion pages and databases over MCP or OpenAPI.`,surfaces:{scaffoldable:!0,gallery:!0},connection:{description:`Notion workspace: search and edit pages and databases.`,mcp:{url:`https://mcp.notion.com/mcp`},openapi:{spec:`https://developers.notion.com/openapi.json`,baseUrl:`https://api.notion.com`,headers:{"Notion-Version":`2022-06-28`}}}},{slug:`datadog`,name:`Datadog`,kind:`connection`,tagline:`Query metrics, monitors, and logs through Datadog's MCP server.`,surfaces:{scaffoldable:!0,gallery:!0},connection:{description:`Datadog: query metrics, monitors, logs, and incidents.`,mcp:{url:`https://mcp.datadoghq.com/api/mcp`}}},{slug:`honeycomb`,name:`Honeycomb`,kind:`connection`,tagline:`Explore traces and run queries through Honeycomb's MCP server.`,surfaces:{scaffoldable:!0,gallery:!0},connection:{description:`Honeycomb: explore traces, run queries, and inspect datasets.`,mcp:{url:`https://mcp.honeycomb.io/mcp`}}}];new Map(INTEGRATIONS.map(e=>[e.slug,e]));function integrationsByKind(t){return INTEGRATIONS.filter(e=>e.kind===t)}function connectionEntries(){return integrationsByKind(`connection`)}function channelEntries(){return integrationsByKind(`channel`)}export{channelEntries,connectionEntries,connectionProtocols};
|
|
@@ -10,7 +10,7 @@ export declare const EVE_MESSAGE_STREAM_CONTENT_TYPE = "application/x-ndjson; ch
|
|
|
10
10
|
export declare const EVE_MESSAGE_STREAM_FORMAT = "ndjson";
|
|
11
11
|
export declare const EVE_MESSAGE_STREAM_VERSION = "16";
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* eve-owned finish reason for one completed assistant step.
|
|
14
14
|
*
|
|
15
15
|
* `tool-calls` is the only non-terminal assistant step in the current
|
|
16
16
|
* tool-loop harness. All other values indicate the assistant step ended the
|
|
@@ -59,7 +59,7 @@ export interface SubagentSessionInvocationMetadata {
|
|
|
59
59
|
* Runtime identity metadata attached to the `session.started` event.
|
|
60
60
|
*
|
|
61
61
|
* The server populates this at run time so remote eval processes and
|
|
62
|
-
* reporters receive authoritative metadata about the
|
|
62
|
+
* reporters receive authoritative metadata about the eve instance
|
|
63
63
|
* serving the run.
|
|
64
64
|
*/
|
|
65
65
|
export interface RuntimeIdentity {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Stable framework-owned route prefix reserved for
|
|
2
|
+
* Stable framework-owned route prefix reserved for eve's runtime transport
|
|
3
3
|
* surfaces.
|
|
4
4
|
*/
|
|
5
5
|
export declare const EVE_ROUTE_PREFIX = "/eve/v1";
|
|
@@ -10,7 +10,7 @@ export declare const EVE_HEALTH_ROUTE_PATH = "/eve/v1/health";
|
|
|
10
10
|
/**
|
|
11
11
|
* Stable framework-owned route exposing the JSON inspection payload for
|
|
12
12
|
* the current agent. Nitro registers this route with the application
|
|
13
|
-
* surface, and the handler uses the same default auth chain as the
|
|
13
|
+
* surface, and the handler uses the same default auth chain as the eve
|
|
14
14
|
* channel: local development accepts loopback requests, while deployed
|
|
15
15
|
* Vercel targets require OIDC.
|
|
16
16
|
*/
|
|
@@ -71,7 +71,7 @@ export declare function createEveDevDispatchSchedulePath(scheduleId: string): st
|
|
|
71
71
|
* via `resumeHook(token, payload)`.
|
|
72
72
|
*
|
|
73
73
|
* The route is unauthenticated by design: an OAuth IdP follows this URL
|
|
74
|
-
* via a 3xx redirect from the user's browser with no
|
|
74
|
+
* via a 3xx redirect from the user's browser with no eve credentials
|
|
75
75
|
* attached. The token is the unguessable capability that authorizes the
|
|
76
76
|
* resume; anyone who has it can deliver the callback payload, which is
|
|
77
77
|
* exactly what the IdP needs to do.
|
|
@@ -9,7 +9,7 @@ export type OutboundAuthFn = () => Promise<{
|
|
|
9
9
|
readonly headers: Readonly<Record<string, string>>;
|
|
10
10
|
}>;
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* eve-owned mirror of the `@vercel/oidc` token lookup options forwarded to
|
|
13
13
|
* {@link vercelOidc}.
|
|
14
14
|
*/
|
|
15
15
|
export interface VercelOidcOptions {
|
|
@@ -321,7 +321,7 @@ export interface VerifyVercelOidcOptions {
|
|
|
321
321
|
* - Tokens with an `external_sub` claim authenticate as
|
|
322
322
|
* `principalType: "user"` when they match the current `VERCEL_PROJECT_ID`
|
|
323
323
|
* (if set) and `VERCEL_TARGET_ENV` / `VERCEL_ENV` (if set). `external_sub`
|
|
324
|
-
* becomes the
|
|
324
|
+
* becomes the eve subject, `external_iss` or `connector_id` the eve issuer
|
|
325
325
|
* when present, and string-valued OIDC profile claims (`name`, `picture`,
|
|
326
326
|
* `email`) are exposed as auth attributes.
|
|
327
327
|
* - Tokens from other Vercel projects are accepted **only** when their `sub`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Minimal Discord REST API wrapper. The channel talks directly to Discord's
|
|
3
|
-
* JSON HTTP API rather than exposing a third-party SDK through
|
|
3
|
+
* JSON HTTP API rather than exposing a third-party SDK through eve.
|
|
4
4
|
*/
|
|
5
5
|
import { type JsonObject } from "#shared/json.js";
|
|
6
6
|
import { resolveDiscordPublicKey, type DiscordPublicKey } from "#public/channels/discord/verify.js";
|
|
@@ -88,7 +88,7 @@ export declare function createDiscordFollowupMessage(input: DiscordApiOptions &
|
|
|
88
88
|
readonly interactionToken: string;
|
|
89
89
|
}): Promise<DiscordPostedMessage>;
|
|
90
90
|
/**
|
|
91
|
-
* JSON body for the Discord message endpoints
|
|
91
|
+
* JSON body for the Discord message endpoints eve calls. When
|
|
92
92
|
* `allowed_mentions` is omitted, channel write helpers default it to
|
|
93
93
|
* {@link DISCORD_NO_MENTIONS} (no pings); set it explicitly to allow mentions.
|
|
94
94
|
*/
|
|
@@ -43,7 +43,7 @@ export interface DiscordChannelState {
|
|
|
43
43
|
}
|
|
44
44
|
/** Discord channel credentials. */
|
|
45
45
|
export interface DiscordChannelCredentials extends DiscordCredentials {
|
|
46
|
-
/** Custom inbound webhook verifier. When supplied,
|
|
46
|
+
/** Custom inbound webhook verifier. When supplied, eve skips the `DISCORD_PUBLIC_KEY` fallback and delegates verification to it. */
|
|
47
47
|
readonly webhookVerifier?: DiscordWebhookVerifier;
|
|
48
48
|
}
|
|
49
49
|
/** Target accepted by `receive(discord, { target })` for proactive sessions. */
|
|
@@ -100,7 +100,7 @@ export interface DiscordHandle {
|
|
|
100
100
|
readonly applicationId: string | undefined;
|
|
101
101
|
/** Discord channel id. */
|
|
102
102
|
readonly channelId: string;
|
|
103
|
-
/** Current
|
|
103
|
+
/** Current eve conversation id, usually the Discord anchor message id. */
|
|
104
104
|
readonly conversationId: string;
|
|
105
105
|
/** Discord guild id when known. */
|
|
106
106
|
readonly guildId: string | undefined;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Discord HITL component rendering + decode helpers.
|
|
3
3
|
*
|
|
4
|
-
* Discord components carry a `custom_id` with a 100-character cap.
|
|
4
|
+
* Discord components carry a `custom_id` with a 100-character cap. eve
|
|
5
5
|
* encodes only the request id and, for buttons, the selected option id.
|
|
6
6
|
*/
|
|
7
7
|
import { type DiscordComponentInteraction, type DiscordModalSubmitInteraction } from "#public/channels/discord/inbound.js";
|
|
@@ -34,13 +34,13 @@ export declare function buildFreeformModalResponse(input: {
|
|
|
34
34
|
/** Returns true when a component custom id starts the freeform modal flow. */
|
|
35
35
|
export declare function isDiscordFreeformComponent(customId: string): boolean;
|
|
36
36
|
/**
|
|
37
|
-
* Decodes an
|
|
38
|
-
* if the custom id is not an
|
|
37
|
+
* Decodes an eve HITL component interaction into input responses. Empty array
|
|
38
|
+
* if the custom id is not an eve HITL id; otherwise one response from the
|
|
39
39
|
* encoded option id (buttons) or the first selected value (selects).
|
|
40
40
|
*/
|
|
41
41
|
export declare function deriveComponentInputResponses(interaction: DiscordComponentInteraction): readonly InputResponse[];
|
|
42
42
|
/**
|
|
43
|
-
* Decodes an
|
|
43
|
+
* Decodes an eve freeform modal submission into a single text input response.
|
|
44
44
|
* Empty array unless the custom id matches the freeform prefix and the freeform
|
|
45
45
|
* text field is present.
|
|
46
46
|
*/
|
|
@@ -10,7 +10,7 @@ export type DiscordPublicKey = string | (() => string | Promise<string>);
|
|
|
10
10
|
/**
|
|
11
11
|
* Caller-supplied inbound webhook verifier. Replaces Ed25519 verification
|
|
12
12
|
* when an integration authenticates forwarded webhooks before they reach
|
|
13
|
-
*
|
|
13
|
+
* eve. Receives the request and raw body.
|
|
14
14
|
*
|
|
15
15
|
* Return a falsy value to reject the request. Return a string to accept it
|
|
16
16
|
* and use that string as the (possibly rewritten) body. Return any other
|
|
@@ -4,13 +4,13 @@ import { type AuthFn } from "#public/channels/auth.js";
|
|
|
4
4
|
import { type UploadPolicyInput } from "#public/channels/upload-policy.js";
|
|
5
5
|
import { type Channel, type ChannelEvents, type ChannelSessionOps } from "#public/definitions/defineChannel.js";
|
|
6
6
|
/**
|
|
7
|
-
* Event-handler channel context exposed by `eveChannel({ events })`. The default
|
|
7
|
+
* Event-handler channel context exposed by `eveChannel({ events })`. The default eve HTTP channel
|
|
8
8
|
* has no platform-specific state, so handlers receive session continuation operations plus the `SessionContext` third arg from {@link ChannelEvents}.
|
|
9
9
|
*/
|
|
10
10
|
export type EveEventContext = ChannelSessionOps;
|
|
11
11
|
/** Runtime stream-event handlers supported by `eveChannel({ events })`. */
|
|
12
12
|
export type EveChannelEvents = ChannelEvents<EveEventContext>;
|
|
13
|
-
/** Low-level
|
|
13
|
+
/** Low-level eve HTTP handle exposed to `eveChannel({ onMessage })`. */
|
|
14
14
|
export interface EveHandle {
|
|
15
15
|
/** Route-auth result for the request; `onMessage` chooses session auth by returning `{ auth }`. */
|
|
16
16
|
readonly caller: SessionAuthContext | null;
|
|
@@ -54,12 +54,12 @@ export interface EveChannelInput {
|
|
|
54
54
|
*/
|
|
55
55
|
readonly uploadPolicy?: UploadPolicyInput;
|
|
56
56
|
/**
|
|
57
|
-
* Pre-dispatch hook for inbound
|
|
57
|
+
* Pre-dispatch hook for inbound eve HTTP messages. Runs after route auth and body
|
|
58
58
|
* parsing, before runtime dispatch.
|
|
59
59
|
*/
|
|
60
60
|
readonly onMessage?: (ctx: EveMessageContext, message: string | UserContent) => EveMessageResultOrPromise;
|
|
61
61
|
/**
|
|
62
|
-
* Runtime stream-event handlers for the default
|
|
62
|
+
* Runtime stream-event handlers for the default eve HTTP channel. Handlers receive
|
|
63
63
|
* the event data, {@link EveEventContext}, and `SessionContext` (the same shape as custom channels).
|
|
64
64
|
*/
|
|
65
65
|
readonly events?: EveChannelEvents;
|
|
@@ -72,7 +72,7 @@ export interface EveChannelInput {
|
|
|
72
72
|
export interface EveChannel extends Channel {
|
|
73
73
|
}
|
|
74
74
|
/**
|
|
75
|
-
* Builds the default
|
|
75
|
+
* Builds the default eve HTTP channel: a {@link defineChannel} instance serving the
|
|
76
76
|
* built-in `/eve/v1` routes (POST creates a session, POST delivers a follow-up, GET
|
|
77
77
|
* streams a session's NDJSON event feed). Every route runs {@link EveChannelInput.auth}
|
|
78
78
|
* via {@link routeAuth} before dispatching. Default-export the result as your
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Minimal GitHub REST/GraphQL wrapper used by the GitHub channel.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* eve exposes channel-owned helper types and functions instead of leaking a
|
|
5
5
|
* third-party SDK through public channel APIs.
|
|
6
6
|
*/
|
|
7
7
|
import { type GitHubAuthApiOptions, type GitHubChannelCredentials } from "#public/channels/github/auth.js";
|
|
@@ -4,7 +4,7 @@ import type { GitHubChannelCredentials } from "#public/channels/github/auth.js";
|
|
|
4
4
|
import { type GitHubComment } from "#public/channels/github/inbound.js";
|
|
5
5
|
import type { GitHubChannelEvents, GitHubInboundContext, GitHubInboundResult, GitHubProgressConfig } from "#public/channels/github/githubChannel.js";
|
|
6
6
|
/**
|
|
7
|
-
* Projects a GitHub webhook actor into an
|
|
7
|
+
* Projects a GitHub webhook actor into an eve {@link SessionAuthContext}. Sets `principalId` to
|
|
8
8
|
* `github:<sender.id>`, `principalType` to `"service"` for bot senders and `"user"` otherwise, and
|
|
9
9
|
* copies conversation and repository metadata into `attributes`. Reuse it when composing a custom
|
|
10
10
|
* `onComment` hook.
|
|
@@ -162,7 +162,7 @@ export declare function extractGitHubCommentTrigger(input: {
|
|
|
162
162
|
readonly body: string;
|
|
163
163
|
readonly botName?: string;
|
|
164
164
|
}): GitHubCommentTrigger | null;
|
|
165
|
-
/** Parses GitHub webhook headers and body into an
|
|
165
|
+
/** Parses GitHub webhook headers and body into an eve-owned event shape. */
|
|
166
166
|
export declare function parseGitHubWebhookEvent(input: {
|
|
167
167
|
readonly body: string;
|
|
168
168
|
readonly contentType?: string;
|
|
@@ -9,7 +9,7 @@ export type InstrumentationChannelMetadata = Readonly<Record<string, unknown>>;
|
|
|
9
9
|
* Channel metadata projections keyed by channel kind.
|
|
10
10
|
*
|
|
11
11
|
* Built-in channel packages ship declaration-merged entries (e.g. Slack
|
|
12
|
-
* ships `"channel:slack"`). The
|
|
12
|
+
* ships `"channel:slack"`). The eve compiler generates entries for
|
|
13
13
|
* authored channels at build time.
|
|
14
14
|
*/
|
|
15
15
|
export interface ChannelMetadataMap {
|
|
@@ -34,7 +34,7 @@ export type InstrumentationChannelKind = keyof ChannelMetadataMap;
|
|
|
34
34
|
/**
|
|
35
35
|
* Channel values keyed by path-derived channel kind.
|
|
36
36
|
*
|
|
37
|
-
* Entries are generated by the
|
|
37
|
+
* Entries are generated by the eve compiler for authored channels.
|
|
38
38
|
* Built-in channel entries are declared inline above.
|
|
39
39
|
* Used by {@link isChannel} to resolve a channel value to its kind string.
|
|
40
40
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Linear channel credential resolvers.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* eve keeps Linear access tokens out of model-visible context. Channel helpers
|
|
5
5
|
* resolve them only when verifying inbound webhooks or calling Linear's
|
|
6
6
|
* GraphQL API to emit Agent Activities.
|
|
7
7
|
*/
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { LinearAgentActivityRecord } from "#public/channels/linear/api.js";
|
|
2
2
|
import type { InputRequest, InputResponse } from "#runtime/input/types.js";
|
|
3
|
-
/** Hidden marker embedded in
|
|
3
|
+
/** Hidden marker embedded in eve-created Linear elicitation bodies. */
|
|
4
4
|
export declare const LINEAR_HITL_MARKER_PREFIX = "<!-- eve-input:";
|
|
5
5
|
export declare const LINEAR_HITL_MARKER_SUFFIX = " -->";
|
|
6
|
-
/** Renders
|
|
6
|
+
/** Renders eve input requests as one Linear elicitation body. */
|
|
7
7
|
export declare function renderLinearInputRequests(requests: readonly InputRequest[]): string;
|
|
8
|
-
/** Resolves a Linear user prompt against the latest
|
|
8
|
+
/** Resolves a Linear user prompt against the latest eve-created elicitation marker. */
|
|
9
9
|
export declare function resolveLinearPromptInputResponses(input: {
|
|
10
10
|
readonly activities: readonly LinearAgentActivityRecord[];
|
|
11
11
|
readonly body: string;
|
|
12
12
|
}): readonly InputResponse[];
|
|
13
|
-
/** Strips
|
|
13
|
+
/** Strips eve's hidden HITL marker from a body before user-facing assertions/logging. */
|
|
14
14
|
export declare function stripLinearHitlMarker(body: string): string;
|
|
@@ -84,5 +84,5 @@ export declare function parseLinearWebhookEvent(input: {
|
|
|
84
84
|
}): LinearInboundEvent | null;
|
|
85
85
|
/** Builds the user-facing message for a Linear Agent Session event. */
|
|
86
86
|
export declare function messageFromLinearAgentSessionEvent(event: LinearAgentSessionEvent): UserContent;
|
|
87
|
-
/** Formats Linear issue/session context as an
|
|
87
|
+
/** Formats Linear issue/session context as an eve context block. */
|
|
88
88
|
export declare function formatLinearContextBlock(event: LinearAgentSessionEvent): string;
|
|
@@ -2,7 +2,7 @@ import { type LinearWebhookSecret } from "#public/channels/linear/auth.js";
|
|
|
2
2
|
/**
|
|
3
3
|
* Caller-supplied inbound webhook verifier. Use it as an alternative to
|
|
4
4
|
* Linear's HMAC secret, for example when a trusted proxy authenticates the
|
|
5
|
-
* request before it reaches
|
|
5
|
+
* request before it reaches eve.
|
|
6
6
|
*
|
|
7
7
|
* - Throw / reject / return falsy: request rejected.
|
|
8
8
|
* - Return a string: request accepted and that string replaces the raw body.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Default route that `slackChannel({})` mounts on. The scaffold's slack
|
|
3
3
|
* setup (`vercel connect attach --trigger-path ...`) must point at this
|
|
4
|
-
* exact path or Connect-forwarded Slack events 404 against the
|
|
4
|
+
* exact path or Connect-forwarded Slack events 404 against the eve
|
|
5
5
|
* framework router.
|
|
6
6
|
*/
|
|
7
7
|
export declare const SLACK_CHANNEL_DEFAULT_ROUTE = "/eve/v1/slack";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* The native Teams channel talks directly to the Bot Framework Activity
|
|
5
5
|
* protocol instead of exposing BotBuilder or Teams SDK objects through
|
|
6
|
-
*
|
|
6
|
+
* eve public APIs.
|
|
7
7
|
*/
|
|
8
8
|
import { type JsonObject } from "#shared/json.js";
|
|
9
9
|
/** Microsoft application id, materialized directly or from an async secret provider. */
|
|
@@ -35,7 +35,7 @@ export interface TeamsApiOptions {
|
|
|
35
35
|
readonly fetch?: TeamsFetch;
|
|
36
36
|
/**
|
|
37
37
|
* Microsoft OAuth host for the client-credentials token flow. Defaults to
|
|
38
|
-
* `https://login.microsoftonline.com`.
|
|
38
|
+
* `https://login.microsoftonline.com`. eve ignores it when
|
|
39
39
|
* `credentials.tokenProvider` is set.
|
|
40
40
|
*/
|
|
41
41
|
readonly loginBaseUrl?: string;
|
|
@@ -66,14 +66,14 @@ export interface TeamsMention {
|
|
|
66
66
|
readonly text: string;
|
|
67
67
|
readonly type: "mention";
|
|
68
68
|
}
|
|
69
|
-
/** Bot Framework/Teams attachment shape supported by
|
|
69
|
+
/** Bot Framework/Teams attachment shape supported by eve-owned APIs. */
|
|
70
70
|
export interface TeamsAttachment {
|
|
71
71
|
readonly content?: JsonObject;
|
|
72
72
|
readonly contentType: string;
|
|
73
73
|
readonly contentUrl?: string;
|
|
74
74
|
readonly name?: string;
|
|
75
75
|
}
|
|
76
|
-
/** JSON body supported by Teams message endpoints used by
|
|
76
|
+
/** JSON body supported by Teams message endpoints used by eve. */
|
|
77
77
|
export interface TeamsMessageBody {
|
|
78
78
|
readonly attachments?: readonly TeamsAttachment[];
|
|
79
79
|
readonly channelData?: JsonObject;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Teams Adaptive Card rendering and decode helpers for
|
|
2
|
+
* Teams Adaptive Card rendering and decode helpers for eve HITL prompts.
|
|
3
3
|
*/
|
|
4
4
|
import type { InputRequest, InputResponse } from "#runtime/input/types.js";
|
|
5
5
|
import type { TeamsActivity } from "#public/channels/teams/inbound.js";
|
|
6
6
|
import type { TeamsAttachment, TeamsMessageBody } from "#public/channels/teams/api.js";
|
|
7
7
|
/** Adaptive Card attachment content type used by Teams. */
|
|
8
8
|
export declare const TEAMS_ADAPTIVE_CARD_CONTENT_TYPE = "application/vnd.microsoft.card.adaptive";
|
|
9
|
-
/** Hidden data property used by
|
|
9
|
+
/** Hidden data property used by eve HITL Adaptive Card actions. */
|
|
10
10
|
export declare const TEAMS_HITL_DATA_KEY = "eve_input";
|
|
11
11
|
/** ChoiceSet input id used for select-style HITL requests. */
|
|
12
12
|
export declare const TEAMS_HITL_CHOICE_INPUT_ID = "eve_option";
|
|
@@ -29,10 +29,10 @@ export declare function renderAnsweredInputRequestMessage(input: {
|
|
|
29
29
|
readonly label?: string;
|
|
30
30
|
readonly prompt: string;
|
|
31
31
|
}): TeamsMessageBody;
|
|
32
|
-
/** Returns true when a Teams activity carries an
|
|
32
|
+
/** Returns true when a Teams activity carries an eve HITL submit payload. */
|
|
33
33
|
export declare function isTeamsInputResponseActivity(activity: TeamsActivity): boolean;
|
|
34
34
|
/**
|
|
35
|
-
* Decodes the
|
|
35
|
+
* Decodes the eve HITL submit payload from a Teams activity. Returns a single
|
|
36
36
|
* `InputResponse` (option selection, freeform text, or a bare requestId
|
|
37
37
|
* acknowledgement), or an empty array when the activity has no recognizable
|
|
38
38
|
* HITL payload or requestId.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/** Maximum Teams Adaptive Card text block length used by
|
|
1
|
+
/** Maximum Teams Adaptive Card text block length used by eve renderers. */
|
|
2
2
|
export declare const TEAMS_ADAPTIVE_CARD_TEXT_MAX_LENGTH = 4000;
|
|
3
|
-
/** Maximum Teams Adaptive Card button title length used by
|
|
3
|
+
/** Maximum Teams Adaptive Card button title length used by eve renderers. */
|
|
4
4
|
export declare const TEAMS_ADAPTIVE_CARD_ACTION_TITLE_MAX_LENGTH = 80;
|
|
5
|
-
/** Maximum Teams Adaptive Card choice title length used by
|
|
5
|
+
/** Maximum Teams Adaptive Card choice title length used by eve renderers. */
|
|
6
6
|
export declare const TEAMS_ADAPTIVE_CARD_CHOICE_TITLE_MAX_LENGTH = 100;
|
|
7
7
|
/** Maximum number of direct Adaptive Card actions rendered for one request. */
|
|
8
8
|
export declare const TEAMS_ADAPTIVE_CARD_ACTION_LIMIT = 6;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Microsoft Teams inbound Bot Framework request verification.
|
|
3
3
|
*
|
|
4
|
-
* Teams sends bot activities through the Bot Connector service.
|
|
4
|
+
* Teams sends bot activities through the Bot Connector service. eve verifies
|
|
5
5
|
* the bearer JWT against Bot Connector OpenID keys and the bot's Microsoft
|
|
6
6
|
* app id before dispatching any activity to the runtime.
|
|
7
7
|
*/
|
|
@@ -10,7 +10,7 @@ import { type TeamsAppId, type TeamsFetch } from "#public/channels/teams/api.js"
|
|
|
10
10
|
/**
|
|
11
11
|
* Caller-supplied inbound webhook verifier. Replaces Bot Connector JWT
|
|
12
12
|
* verification when a trusted integration authenticates forwarded requests
|
|
13
|
-
* before they reach
|
|
13
|
+
* before they reach eve.
|
|
14
14
|
*
|
|
15
15
|
* Return a falsy value to reject the request (verification throws), a string
|
|
16
16
|
* to accept and use that string as the verified body, or any other truthy
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Minimal Telegram Bot API wrapper for the Telegram channel.
|
|
3
3
|
*
|
|
4
4
|
* The channel talks directly to Telegram's JSON HTTP API instead of
|
|
5
|
-
* exposing a third-party SDK through
|
|
5
|
+
* exposing a third-party SDK through eve public surfaces.
|
|
6
6
|
*/
|
|
7
7
|
import { type JsonObject } from "#shared/json.js";
|
|
8
8
|
/** Telegram bot token, materialized directly or from an async secret provider. */
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* Telegram HITL inline keyboard rendering and compact callback decode helpers.
|
|
3
3
|
*
|
|
4
4
|
* Telegram limits `InlineKeyboardButton.callback_data` to 64 bytes, so
|
|
5
|
-
*
|
|
5
|
+
* eve stores compact callback ids in durable channel state and remaps
|
|
6
6
|
* them back to full input responses inside the channel deliver hook.
|
|
7
7
|
*/
|
|
8
8
|
import type { InputRequest, InputResponse } from "#runtime/input/types.js";
|
|
9
|
-
/** Prefix used in Telegram callback_data values generated by
|
|
9
|
+
/** Prefix used in Telegram callback_data values generated by eve. */
|
|
10
10
|
export declare const TELEGRAM_HITL_CALLBACK_PREFIX = "eve:";
|
|
11
11
|
/** Synthetic request id prefix sent through `send()` for callback queries. */
|
|
12
12
|
export declare const TELEGRAM_CALLBACK_RESPONSE_PREFIX = "telegram_callback:";
|
|
@@ -55,5 +55,5 @@ export declare function telegramReplyInputResponse(input: {
|
|
|
55
55
|
}): InputResponse;
|
|
56
56
|
/** True when an input response needs Telegram-specific durable-state remapping. */
|
|
57
57
|
export declare function isTelegramSyntheticResponse(response: InputResponse): boolean;
|
|
58
|
-
/** Remaps compact Telegram callback/reply ids into real
|
|
58
|
+
/** Remaps compact Telegram callback/reply ids into real eve input responses. */
|
|
59
59
|
export declare function resolveTelegramInputResponses(state: TelegramHitlState, responses: readonly InputResponse[]): InputResponse[];
|
|
@@ -11,7 +11,7 @@ export type TelegramWebhookSecretToken = string | (() => string | Promise<string
|
|
|
11
11
|
/**
|
|
12
12
|
* Caller-supplied inbound webhook verifier. Use it instead of
|
|
13
13
|
* Telegram's secret-token header when an integration authenticates
|
|
14
|
-
* forwarded webhooks before they reach
|
|
14
|
+
* forwarded webhooks before they reach eve.
|
|
15
15
|
*
|
|
16
16
|
* The return value selects how the channel handles the request: return a
|
|
17
17
|
* falsy value to reject the request, a string to accept it and use that
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Requests use Twilio's normal `application/x-www-form-urlencoded`
|
|
5
5
|
* body encoding and HTTP Basic auth. No Twilio SDK dependency is
|
|
6
|
-
* required or exposed through
|
|
6
|
+
* required or exposed through eve public APIs.
|
|
7
7
|
*/
|
|
8
8
|
import { type TwilioAuthToken } from "#public/channels/twilio/verify.js";
|
|
9
9
|
/**
|