eve 0.37.0 → 0.38.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.
- package/CHANGELOG.md +32 -0
- package/dist/src/channel/routes.d.ts +13 -3
- package/dist/src/channel/routes.js +1 -1
- package/dist/src/channel/session-callback.js +1 -1
- package/dist/src/channel/session.d.ts +2 -1
- package/dist/src/channel/session.js +1 -1
- package/dist/src/channel/types.d.ts +41 -0
- package/dist/src/chunks/{use-eve-agent-COmP-H8R.js → use-eve-agent-BbSsu99c.js} +79 -32
- package/dist/src/chunks/{use-eve-agent-CnppTEFk.js → use-eve-agent-Dt8Y5QtW.js} +78 -31
- package/dist/src/cli/acp/command.d.ts +2 -1
- package/dist/src/cli/acp/command.js +2 -2
- package/dist/src/cli/application-command.d.ts +8 -0
- package/dist/src/cli/application-command.js +1 -0
- package/dist/src/cli/application-root.d.ts +8 -0
- package/dist/src/cli/application-root.js +1 -0
- package/dist/src/cli/commands/build.d.ts +2 -1
- package/dist/src/cli/commands/build.js +1 -1
- package/dist/src/cli/commands/init-git.js +1 -1
- package/dist/src/cli/commands/init-recovery.d.ts +3 -0
- package/dist/src/cli/commands/init-recovery.js +3 -0
- package/dist/src/cli/commands/init-repl.js +1 -1
- package/dist/src/cli/commands/init-target.d.ts +21 -0
- package/dist/src/cli/commands/init-target.js +1 -0
- package/dist/src/cli/commands/init.js +1 -1
- package/dist/src/cli/commands/register-integration-commands.d.ts +2 -1
- package/dist/src/cli/commands/register-integration-commands.js +1 -1
- package/dist/src/cli/commands/register-project-commands.d.ts +2 -1
- package/dist/src/cli/commands/register-project-commands.js +1 -1
- package/dist/src/cli/commands/register-registry-commands.d.ts +2 -1
- package/dist/src/cli/commands/register-registry-commands.js +4 -1
- package/dist/src/cli/commands/registry-recovery.d.ts +14 -0
- package/dist/src/cli/commands/registry-recovery.js +1 -0
- package/dist/src/cli/commands/registry.d.ts +2 -5
- package/dist/src/cli/commands/registry.js +1 -1
- package/dist/src/cli/dev/diagnostic-dump.js +1 -1
- package/dist/src/cli/dev/environment.js +1 -1
- package/dist/src/cli/dev/tui/runner.d.ts +8 -0
- package/dist/src/cli/dev/tui/runner.js +1 -1
- package/dist/src/cli/dev/tui/subagent-pump.d.ts +27 -22
- package/dist/src/cli/dev/tui/subagent-pump.js +1 -1
- package/dist/src/cli/dev/tui/terminal-renderer.d.ts +16 -0
- package/dist/src/cli/dev/tui/terminal-renderer.js +12 -12
- package/dist/src/cli/dev/tui/tool-presentation.js +1 -1
- package/dist/src/cli/invoke/command.d.ts +3 -2
- package/dist/src/cli/invoke/command.js +1 -1
- package/dist/src/cli/run.d.ts +3 -2
- package/dist/src/cli/run.js +3 -3
- package/dist/src/client/eve-agent-store.d.ts +15 -3
- package/dist/src/client/eve-agent-store.js +2 -2
- package/dist/src/client/message-response.d.ts +10 -2
- package/dist/src/client/message-response.js +1 -1
- package/dist/src/client/open-stream.d.ts +2 -0
- package/dist/src/client/open-stream.js +1 -1
- package/dist/src/client/session.js +1 -1
- package/dist/src/compiled/.vendor-stamp.json +5 -1
- package/dist/src/compiled/@ai-sdk/otel/index.js +3 -3
- package/dist/src/compiled/@chat-adapter/slack/index.js +25 -25
- package/dist/src/compiled/@modelcontextprotocol/server/LICENSE +216 -0
- package/dist/src/compiled/@modelcontextprotocol/server/index.d.ts +98 -0
- package/dist/src/compiled/@modelcontextprotocol/server/index.js +80 -0
- package/dist/src/compiled/@opentelemetry/api/index.js +1 -1
- package/dist/src/compiled/@opentelemetry/otlp-transformer/index.js +1 -1
- package/dist/src/compiled/@photon-ai/chat-adapter-imessage/index.js +61 -61
- package/dist/src/compiled/@vercel/oidc/index.js +14 -14
- package/dist/src/compiled/@vercel/otel/index.js +1 -1
- package/dist/src/compiled/@vercel/sandbox/index.js +1 -1
- package/dist/src/compiled/@workflow/core/index.js +1 -1
- package/dist/src/compiled/@workflow/core/private.js +1 -1
- package/dist/src/compiled/@workflow/core/runtime.js +2 -2
- package/dist/src/compiled/@workflow/core/workflow.js +1 -1
- package/dist/src/compiled/@workflow/errors/index.js +1 -1
- package/dist/src/compiled/@workflow/world-local/index.js +5 -5
- package/dist/src/compiled/@workflow/world-vercel/index.js +13 -13
- package/dist/src/compiled/_chunks/workflow/{attribute-changes-BoH7JsWp.js → attribute-changes-DZtQkszH.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/chunk-5MU5Z6L3-B_3nkJFi.js +1 -0
- package/dist/src/compiled/_chunks/workflow/{chunk-NWCAEW5Y-Oxw40oRR.js → chunk-NWCAEW5Y-BgbcH0OK.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{dist-DlFv0aHY.js → dist-CPlyFOVo.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{dist-tJoQXAF6.js → dist-DpYyXbJv.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{dist-CRTn4Sg8.js → dist-xQXN70ED.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/esm-seIr7a6j.js +1 -0
- package/dist/src/compiled/_chunks/workflow/{frames-CTpeJYEQ.js → frames-BBs-9k1d.js} +2 -2
- package/dist/src/compiled/_chunks/workflow/{functions-CeeNvKsq.js → functions-DAYiHNti.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{getMachineId-bsd-WEBNKY2R-CEYkx6Nv.js → getMachineId-bsd-WEBNKY2R-BTaxrQ52.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{getMachineId-darwin-LT47KAXP-DPwWlhif.js → getMachineId-darwin-LT47KAXP-DhYmwE_R.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{getMachineId-linux-LTVQO6VW-DAFXHwZp.js → getMachineId-linux-LTVQO6VW-Dru_L5ru.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{getMachineId-unsupported-UKWBA27G-BZKOI8mG.js → getMachineId-unsupported-UKWBA27G-DGfoqVW1.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{getMachineId-win-NLJKOPY6-r7_CJB5o.js → getMachineId-win-NLJKOPY6-CLM98q4X.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{private-tvMBynnC.js → private-UQtz8ZcW.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{resume-hook-BPQHjeY5.js → resume-hook-CYtSorp6.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{rolldown-runtime-DaDcL9Zw.js → rolldown-runtime-8V8biNmG.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{run-DQ5dOyjm.js → run-Cjo0A3NO.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{signal-exit-C8vsI6zj.js → signal-exit-o3IPQwwv.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/sleep-C1P0OWBm.js +1 -0
- package/dist/src/compiled/_chunks/workflow/{token-DHD-q-fS.js → token-DGzfw-Vb.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{token-DtCUEpJs.js → token-DNbxVpeq.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/token-util-BneBe0g5.js +27 -0
- package/dist/src/compiled/_chunks/workflow/{token-util-Ldar52H7.js → token-util-DjMgNdXS.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{undici-CUIybhQ2.js → undici-BBG5cZTy.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{wait-until-DK2lnH6U.js → wait-until-CT1ve8qB.js} +3 -3
- package/dist/src/compiled/_chunks/workflow/{wrapper-CMGju7QA.js → wrapper-CQNxP9mU.js} +3 -3
- package/dist/src/compiled/_chunks/workflow/{ws-transport-Csi6Cydc.js → ws-transport-beXxD0s_.js} +1 -1
- package/dist/src/compiled/env-runner/node-worker.js +1 -1
- package/dist/src/compiled/jose/index.js +1 -1
- package/dist/src/compiled/shadcn-registry/index.js +403 -403
- package/dist/src/compiler/artifacts.js +1 -1
- package/dist/src/compiler/compile-agent.js +2 -2
- package/dist/src/compiler/extension-compatibility.d.ts +20 -10
- package/dist/src/compiler/extension-compatibility.js +1 -1
- package/dist/src/compiler/manifest.js +1 -1
- package/dist/src/compiler/normalize-agent-config.js +1 -1
- package/dist/src/compiler/normalize-extension.d.ts +8 -5
- package/dist/src/compiler/normalize-extension.js +1 -1
- package/dist/src/compiler/normalize-manifest.js +1 -1
- package/dist/src/compiler/normalize-subagent.d.ts +1 -1
- package/dist/src/compiler/normalize-subagent.js +1 -1
- package/dist/src/context/serialized-dynamic-model-selection.d.ts +2 -0
- package/dist/src/context/serialized-dynamic-model-selection.js +1 -0
- package/dist/src/discover/discover-agent.js +1 -1
- package/dist/src/discover/extensions.d.ts +0 -6
- package/dist/src/discover/extensions.js +1 -1
- package/dist/src/evals/cli/eval.d.ts +1 -1
- package/dist/src/evals/cli/eval.js +1 -1
- package/dist/src/execution/agent-handle-dispatch.d.ts +15 -1
- package/dist/src/execution/agent-handle-dispatch.js +1 -1
- package/dist/src/execution/cancel-descendant-turns-step.js +1 -1
- package/dist/src/execution/delegated-parent-notification.d.ts +17 -0
- package/dist/src/execution/delegated-parent-notification.js +1 -1
- package/dist/src/execution/deliver-payloads.js +1 -1
- package/dist/src/execution/dispatch-runtime-actions-shared.d.ts +155 -0
- package/dist/src/execution/dispatch-runtime-actions-shared.js +1 -0
- package/dist/src/execution/dispatch-runtime-actions-step.d.ts +18 -14
- package/dist/src/execution/dispatch-runtime-actions-step.js +1 -1
- package/dist/src/execution/dispatch-workflow-runtime-actions-step.d.ts +7 -2
- package/dist/src/execution/dispatch-workflow-runtime-actions-step.js +1 -1
- package/dist/src/execution/effective-output-schema.d.ts +21 -0
- package/dist/src/execution/effective-output-schema.js +1 -0
- package/dist/src/execution/eve-workflow-attributes.d.ts +2 -0
- package/dist/src/execution/node-step.js +1 -1
- package/dist/src/execution/parked-delivery-wait.d.ts +8 -12
- package/dist/src/execution/parked-delivery-wait.js +1 -1
- package/dist/src/execution/{route-proxied-deliver-step.d.ts → proxied-deliver-step.d.ts} +7 -4
- package/dist/src/execution/proxied-deliver-step.js +1 -0
- package/dist/src/execution/remote-agent-dispatch.d.ts +32 -0
- package/dist/src/execution/remote-agent-dispatch.js +1 -1
- package/dist/src/execution/remote-agent-route-url.d.ts +2 -0
- package/dist/src/execution/remote-agent-route-url.js +1 -0
- package/dist/src/execution/route-child-delivery.d.ts +2 -1
- package/dist/src/execution/route-child-delivery.js +1 -1
- package/dist/src/execution/sandbox/bindings/docker-templates.js +1 -1
- package/dist/src/execution/sandbox/bindings/just-bash.js +1 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-templates.js +1 -1
- package/dist/src/execution/sandbox/prewarm.js +1 -1
- package/dist/src/execution/session-callback-step.d.ts +11 -0
- package/dist/src/execution/session-callback-step.js +1 -1
- package/dist/src/execution/session-command-wire.js +1 -1
- package/dist/src/execution/session-state-cursor.d.ts +25 -0
- package/dist/src/execution/session-state-cursor.js +1 -0
- package/dist/src/execution/settle-cancelled-turn-step.d.ts +2 -0
- package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
- package/dist/src/execution/subagent-event-proxy-step.d.ts +15 -0
- package/dist/src/execution/subagent-event-proxy-step.js +1 -1
- package/dist/src/execution/subagent-hitl-proxy.d.ts +14 -7
- package/dist/src/execution/subagent-hitl-proxy.js +1 -1
- package/dist/src/execution/subagent-start-local.d.ts +29 -0
- package/dist/src/execution/subagent-start-local.js +1 -0
- package/dist/src/execution/subagent-start-remote.d.ts +23 -0
- package/dist/src/execution/subagent-start-remote.js +1 -0
- package/dist/src/execution/task-event-callback.d.ts +13 -0
- package/dist/src/execution/task-event-callback.js +1 -0
- package/dist/src/execution/task-input-capability.d.ts +4 -0
- package/dist/src/execution/task-input-capability.js +1 -0
- package/dist/src/execution/tasks/child/steps.d.ts +46 -0
- package/dist/src/execution/tasks/child/steps.js +1 -0
- package/dist/src/execution/tasks/child/workflow.d.ts +31 -0
- package/dist/src/execution/tasks/child/workflow.js +1 -0
- package/dist/src/execution/tasks/parent/agent-identity.d.ts +13 -0
- package/dist/src/execution/tasks/parent/agent-identity.js +1 -0
- package/dist/src/execution/tasks/parent/agent-views.d.ts +6 -0
- package/dist/src/execution/tasks/parent/agent-views.js +1 -0
- package/dist/src/execution/tasks/parent/continuation-dispatch.d.ts +37 -0
- package/dist/src/execution/tasks/parent/continuation-dispatch.js +1 -0
- package/dist/src/execution/tasks/parent/control-shared.d.ts +36 -0
- package/dist/src/execution/tasks/parent/control-shared.js +1 -0
- package/dist/src/execution/tasks/parent/delegate.d.ts +70 -0
- package/dist/src/execution/tasks/parent/delegate.js +1 -0
- package/dist/src/execution/tasks/parent/dispatch-task-step.d.ts +19 -0
- package/dist/src/execution/tasks/parent/dispatch-task-step.js +1 -0
- package/dist/src/execution/tasks/parent/dispatch.d.ts +33 -0
- package/dist/src/execution/tasks/parent/dispatch.js +1 -0
- package/dist/src/execution/tasks/parent/hitl-proxy-steps.d.ts +29 -0
- package/dist/src/execution/tasks/parent/hitl-proxy-steps.js +1 -0
- package/dist/src/execution/tasks/parent/run-parent.d.ts +72 -0
- package/dist/src/execution/tasks/parent/run-parent.js +1 -0
- package/dist/src/execution/tasks/parent/send.d.ts +25 -0
- package/dist/src/execution/tasks/parent/send.js +1 -0
- package/dist/src/execution/tasks/workflow-target.d.ts +2 -0
- package/dist/src/execution/tasks/workflow-target.js +1 -0
- package/dist/src/execution/terminate-child-sessions-step.d.ts +1 -0
- package/dist/src/execution/terminate-child-sessions-step.js +1 -1
- package/dist/src/execution/turn-control-receiver.d.ts +10 -0
- package/dist/src/execution/turn-control-receiver.js +1 -1
- package/dist/src/execution/turn-dispatch.d.ts +2 -0
- package/dist/src/execution/turn-dispatch.js +1 -1
- package/dist/src/execution/turn-execution-cursor.d.ts +2 -8
- package/dist/src/execution/turn-execution-cursor.js +1 -1
- package/dist/src/execution/turn-workflow.js +1 -1
- package/dist/src/execution/workflow-callback-url.d.ts +5 -0
- package/dist/src/execution/workflow-callback-url.js +1 -1
- package/dist/src/execution/workflow-entry.js +1 -1
- package/dist/src/execution/workflow-runtime.d.ts +9 -0
- package/dist/src/execution/workflow-runtime.js +1 -1
- package/dist/src/execution/workflow-steps.d.ts +7 -21
- package/dist/src/execution/workflow-steps.js +1 -1
- package/dist/src/harness/advertised-tools.js +1 -1
- package/dist/src/harness/authorization.js +1 -1
- package/dist/src/harness/execute-tool.d.ts +7 -0
- package/dist/src/harness/handles/prompt.d.ts +12 -0
- package/dist/src/harness/handles/prompt.js +2 -1
- package/dist/src/harness/handles/query.js +1 -1
- package/dist/src/harness/handles/store.d.ts +9 -2
- package/dist/src/harness/handles/store.js +1 -1
- package/dist/src/harness/handles/transitions.d.ts +10 -1
- package/dist/src/harness/handles/transitions.js +1 -1
- package/dist/src/harness/instrumentation/providers.js +1 -1
- package/dist/src/harness/instrumentation/runtime-context.d.ts +2 -0
- package/dist/src/harness/instrumentation/runtime-context.js +1 -1
- package/dist/src/harness/instrumentation/runtime.d.ts +3 -1
- package/dist/src/harness/proxy-input-requests.d.ts +21 -4
- package/dist/src/harness/proxy-input-requests.js +1 -1
- package/dist/src/harness/runtime-actions.d.ts +2 -0
- package/dist/src/harness/runtime-actions.js +1 -1
- package/dist/src/harness/session-limit-enforcement.js +1 -1
- package/dist/src/harness/tool-loop.js +2 -2
- package/dist/src/harness/workflow-runtime-action-state.js +1 -1
- package/dist/src/internal/application/cache-metadata.js +1 -1
- package/dist/src/internal/application/compiled-artifacts.js +2 -2
- package/dist/src/internal/application/optional-package-install.js +1 -1
- package/dist/src/internal/application/output-publication-lock.js +1 -1
- package/dist/src/internal/application/package.js +1 -1
- package/dist/src/internal/application/paths.js +1 -1
- package/dist/src/internal/application/tsconfig-dependencies.js +1 -1
- package/dist/src/internal/authored-definition/core.js +1 -1
- package/dist/src/internal/authored-module-evaluation-error.js +4 -4
- package/dist/src/internal/authored-module-loader.js +3 -3
- package/dist/src/internal/authored-package-boundary.js +1 -1
- package/dist/src/internal/authored-relative-extension-resolver.js +1 -1
- package/dist/src/internal/bundler/extension-scope-plugin.js +1 -1
- package/dist/src/internal/bundler/nitro-rolldown.js +1 -1
- package/dist/src/internal/instrumentation-layout.js +1 -1
- package/dist/src/internal/invocation/agent-invocation.d.ts +54 -0
- package/dist/src/internal/invocation/agent-invocation.js +1 -0
- package/dist/src/internal/invocation/attributes.d.ts +2 -0
- package/dist/src/internal/invocation/attributes.js +1 -0
- package/dist/src/internal/invocation/metadata.d.ts +9 -0
- package/dist/src/internal/invocation/metadata.js +1 -0
- package/dist/src/internal/invocation/workflow-execution.d.ts +32 -0
- package/dist/src/internal/invocation/workflow-execution.js +1 -0
- package/dist/src/internal/materialized-authored-modules.js +1 -1
- package/dist/src/internal/mcp/http-security.d.ts +12 -0
- package/dist/src/internal/mcp/http-security.js +1 -0
- package/dist/src/internal/mcp/protected-resource.d.ts +9 -0
- package/dist/src/internal/mcp/protected-resource.js +1 -0
- package/dist/src/internal/mcp/streamable-http-server.d.ts +51 -0
- package/dist/src/internal/mcp/streamable-http-server.js +1 -0
- package/dist/src/internal/nitro/dev-runtime-artifacts-retention.js +1 -1
- package/dist/src/internal/nitro/dev-runtime-artifacts.js +1 -1
- package/dist/src/internal/nitro/dev-runtime-source-snapshot-copy.js +1 -1
- package/dist/src/internal/nitro/dev-runtime-source-snapshot-local-roots.js +1 -1
- package/dist/src/internal/nitro/dev-runtime-source-snapshot.js +1 -1
- package/dist/src/internal/nitro/host/application-route-registry.d.ts +88 -0
- package/dist/src/internal/nitro/host/application-route-registry.js +1 -0
- package/dist/src/internal/nitro/host/build-application.js +1 -1
- package/dist/src/internal/nitro/host/build-extension.js +1 -1
- package/dist/src/internal/nitro/host/build-vercel-agent-summary.js +1 -1
- package/dist/src/internal/nitro/host/channel-routes.d.ts +4 -11
- package/dist/src/internal/nitro/host/channel-routes.js +3 -3
- package/dist/src/internal/nitro/host/configure-nitro-routes.js +3 -3
- package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
- package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +1 -1
- package/dist/src/internal/nitro/host/dev-runner.js +1 -1
- package/dist/src/internal/nitro/host/dev-workspace-extensions.js +1 -1
- package/dist/src/internal/nitro/host/extension-capability-requirements.js +1 -1
- package/dist/src/internal/nitro/host/local-tracing-runtime-plugin.js +1 -1
- package/dist/src/internal/nitro/host/nitro-bundler-config.js +1 -1
- package/dist/src/internal/nitro/host/start-development-server.js +2 -2
- package/dist/src/internal/nitro/host/start-production-server.js +2 -2
- package/dist/src/internal/nitro/host/vercel-build-output-config.js +1 -1
- package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -1
- package/dist/src/internal/nitro/routes/channel-route-context.d.ts +14 -0
- package/dist/src/internal/nitro/routes/channel-route-context.js +1 -1
- package/dist/src/internal/nitro/routes/runtime-stack.d.ts +2 -0
- package/dist/src/internal/nitro/routes/runtime-stack.js +1 -1
- package/dist/src/internal/process/pnpm.js +1 -1
- package/dist/src/internal/vercel-agent-summary.d.ts +1 -1
- package/dist/src/internal/workflow/development-world-client.js +1 -1
- package/dist/src/internal/workflow/development-world-server.js +1 -1
- package/dist/src/internal/workflow-bundle/builder-support.d.ts +12 -8
- package/dist/src/internal/workflow-bundle/builder-support.js +8 -7
- package/dist/src/internal/workflow-bundle/builder.d.ts +1 -1
- package/dist/src/internal/workflow-bundle/builder.js +2 -3
- package/dist/src/internal/workflow-bundle/workflow-builders.js +1 -1
- package/dist/src/protocol/message.d.ts +28 -0
- package/dist/src/protocol/message.js +2 -2
- package/dist/src/protocol/routes.d.ts +14 -0
- package/dist/src/protocol/routes.js +1 -1
- package/dist/src/public/channels/auth.d.ts +36 -0
- package/dist/src/public/channels/auth.js +1 -1
- package/dist/src/public/channels/discord/discordChannel.d.ts +2 -0
- package/dist/src/public/channels/discord/discordChannel.js +1 -1
- package/dist/src/public/channels/eve.d.ts +2 -0
- package/dist/src/public/channels/eve.js +1 -1
- package/dist/src/public/channels/github/dispatch.js +1 -1
- package/dist/src/public/channels/github/githubChannel.d.ts +2 -0
- package/dist/src/public/channels/linear/linearChannel.d.ts +2 -0
- package/dist/src/public/channels/linear/linearChannel.js +1 -1
- package/dist/src/public/channels/mcp.d.ts +19 -0
- package/dist/src/public/channels/mcp.js +1 -0
- package/dist/src/public/channels/photon/photonIMessageChannel.d.ts +2 -0
- package/dist/src/public/channels/photon/photonIMessageChannel.js +1 -1
- package/dist/src/public/channels/slack/slackChannel.d.ts +3 -1
- package/dist/src/public/channels/slack/slackChannel.js +1 -1
- package/dist/src/public/channels/teams/teamsChannel.d.ts +2 -0
- package/dist/src/public/channels/teams/teamsChannel.js +1 -1
- package/dist/src/public/channels/telegram/telegramChannel.d.ts +2 -0
- package/dist/src/public/channels/telegram/telegramChannel.js +1 -1
- package/dist/src/public/channels/twilio/twilioChannel.d.ts +2 -0
- package/dist/src/public/channels/twilio/twilioChannel.js +1 -1
- package/dist/src/public/definitions/channel.d.ts +2 -2
- package/dist/src/public/definitions/channel.js +1 -1
- package/dist/src/public/instrumentation/index.d.ts +9 -3
- package/dist/src/public/next/server.js +1 -1
- package/dist/src/public/nuxt/dev-server.js +1 -1
- package/dist/src/public/sveltekit/dev-server.js +1 -1
- package/dist/src/react/use-eve-agent.d.ts +4 -4
- package/dist/src/react/use-eve-agent.js +1 -1
- package/dist/src/runtime/actions/types.d.ts +9 -0
- package/dist/src/runtime/actions/types.js +1 -1
- package/dist/src/runtime/agent/bootstrap.js +1 -1
- package/dist/src/runtime/connections/authorization-complete-page.js +70 -28
- package/dist/src/runtime/framework-channels/index.js +1 -1
- package/dist/src/runtime/framework-tools/index.js +1 -1
- package/dist/src/runtime/framework-tools/tasks.d.ts +95 -0
- package/dist/src/runtime/framework-tools/tasks.js +1 -0
- package/dist/src/runtime/prompt/compose.d.ts +1 -0
- package/dist/src/runtime/prompt/compose.js +1 -1
- package/dist/src/runtime/resolve-agent-graph.js +1 -1
- package/dist/src/runtime/resolve-agent.js +1 -1
- package/dist/src/runtime/session-callback-route.js +1 -1
- package/dist/src/runtime/task-input-response-route.d.ts +5 -0
- package/dist/src/runtime/task-input-response-route.js +1 -0
- package/dist/src/services/inspect-application.js +1 -1
- package/dist/src/setup/primitives/pm/pnpm.js +2 -2
- package/dist/src/setup/primitives/run-vercel.js +1 -1
- package/dist/src/setup/scaffold/create/add-to-project.js +1 -1
- package/dist/src/setup/scaffold/create/extension.js +1 -1
- package/dist/src/setup/scaffold/create/project.js +1 -1
- package/dist/src/setup/scaffold/create/web-template.d.ts +1 -1
- package/dist/src/setup/scaffold/create/web-template.js +8 -86
- package/dist/src/setup/scaffold/version-tokens.js +1 -1
- package/dist/src/setup/scaffold/workspace-root.js +1 -1
- package/dist/src/shared/agent-definition.d.ts +7 -0
- package/dist/src/svelte/index.js +1 -1
- package/dist/src/svelte/use-eve-agent.d.ts +3 -3
- package/dist/src/svelte/use-eve-agent.js +1 -1
- package/dist/src/tasks/json.d.ts +88 -0
- package/dist/src/tasks/json.js +1 -0
- package/dist/src/tasks/session-index.d.ts +48 -0
- package/dist/src/tasks/session-index.js +1 -0
- package/dist/src/tasks/task-id.d.ts +34 -0
- package/dist/src/tasks/task-id.js +1 -0
- package/dist/src/tasks/transitions.d.ts +23 -0
- package/dist/src/tasks/transitions.js +1 -0
- package/dist/src/tasks/types.d.ts +295 -0
- package/dist/src/tasks/types.js +1 -0
- package/dist/src/tasks/wire.d.ts +26 -0
- package/dist/src/tasks/wire.js +1 -0
- package/dist/src/tracing/install-instrumentation-runtime.d.ts +2 -1
- package/dist/src/tracing/install-instrumentation-runtime.js +1 -1
- package/dist/src/tracing/otel-declaration.d.ts +32 -3
- package/dist/src/tracing/otel-declaration.js +1 -1
- package/dist/src/tracing/otel-registration.js +1 -1
- package/dist/src/vue/index.js +1 -1
- package/dist/src/vue/use-eve-agent.d.ts +3 -3
- package/dist/src/vue/use-eve-agent.js +1 -1
- package/docs/channels/custom.mdx +1 -1
- package/docs/channels/discord.mdx +1 -1
- package/docs/channels/eve.mdx +15 -2
- package/docs/channels/github.mdx +1 -1
- package/docs/channels/linear.mdx +1 -1
- package/docs/channels/overview.mdx +1 -1
- package/docs/channels/photon.mdx +1 -1
- package/docs/channels/slack.mdx +1 -1
- package/docs/channels/teams.mdx +1 -1
- package/docs/channels/telegram.mdx +1 -1
- package/docs/channels/twilio.mdx +1 -1
- package/docs/extensions.md +10 -6
- package/docs/guides/client/streaming.mdx +7 -6
- package/docs/guides/frontend/overview.mdx +10 -8
- package/docs/guides/frontend/use-eve-agent-svelte.mdx +10 -10
- package/docs/guides/frontend/use-eve-agent-vue.mdx +10 -10
- package/docs/install-integrations.mdx +4 -0
- package/docs/reference/cli.md +1 -1
- package/docs/schedules.mdx +2 -2
- package/docs/tools/human-in-the-loop.md +3 -1
- package/package.json +7 -1
- package/dist/src/compiled/_chunks/workflow/chunk-5MU5Z6L3-CaJgXkVg.js +0 -1
- package/dist/src/compiled/_chunks/workflow/sleep-CzdoBiqy.js +0 -1
- package/dist/src/compiled/_chunks/workflow/src-Cj3P1ChQ.js +0 -1
- package/dist/src/compiled/_chunks/workflow/token-util-DNwIAn_u.js +0 -27
- package/dist/src/execution/route-proxied-deliver-step.js +0 -1
package/docs/channels/custom.mdx
CHANGED
|
@@ -7,7 +7,7 @@ When eve doesn't ship a channel for your surface, you build one. Custom channels
|
|
|
7
7
|
|
|
8
8
|
## File location and identity
|
|
9
9
|
|
|
10
|
-
Custom channels live in `agent/channels/` at the root agent. Local subagents do not declare channels today.
|
|
10
|
+
Custom channels live in `agent/channels/` at the root agent or in an [extension](../extensions) mounted there. Local subagents do not declare channels today.
|
|
11
11
|
|
|
12
12
|
The channel file stem becomes the channel id, so `agent/channels/internal-webhook.ts` is addressed as `internal-webhook`. Export the channel definition as the module's default export.
|
|
13
13
|
|
|
@@ -56,7 +56,7 @@ Then configure the public `https://…/eve/v1/discord` route as the application'
|
|
|
56
56
|
|
|
57
57
|
### Dispatch
|
|
58
58
|
|
|
59
|
-
`onCommand(ctx, interaction)` decides whether to dispatch and under what `auth`. Return `{ auth }` to proceed
|
|
59
|
+
`onCommand(ctx, interaction)` decides whether to dispatch and under what `auth`. Return `{ auth }` to proceed, `null` to drop the interaction, or `title` alongside `auth` to set the title when the dispatch starts a run. By default, auth comes from the invoking user. Event handlers receive `(eventData, channel, ctx)`, with Discord platform handles on `channel.discord`:
|
|
60
60
|
|
|
61
61
|
```ts
|
|
62
62
|
import { discordChannel } from "eve/channels/discord";
|
package/docs/channels/eve.mdx
CHANGED
|
@@ -45,6 +45,20 @@ curl -X POST https://<deployment>/eve/v1/session \
|
|
|
45
45
|
# {"ok":true,"sessionId":"wrun_A","status":"accepted"}
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
+
Authenticated callers that may retry a create request can pass their own `operationId` for
|
|
49
|
+
create-once semantics. The same operation under the same authenticated principal returns the
|
|
50
|
+
active session it already created instead of dispatching the input again. The first accepted
|
|
51
|
+
payload wins; retries with different input still return that first session. Anonymous callers
|
|
52
|
+
cannot use `operationId`, and operation ownership expires when the session is no longer resumable.
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
curl -X POST https://<deployment>/eve/v1/session \
|
|
56
|
+
-H "Authorization: Bearer <token>" \
|
|
57
|
+
-H "Content-Type: application/json" \
|
|
58
|
+
-d '{"message":"What is the weather in Paris?","operationId":"order-4213-research"}'
|
|
59
|
+
# {"ok":true,"sessionId":"wrun_A","status":"accepted"} — retries return the same sessionId
|
|
60
|
+
```
|
|
61
|
+
|
|
48
62
|
The first request requires `message`. A follow-up request accepts exactly one of
|
|
49
63
|
`message` or `inputResponses`; use the latter to answer a pending HITL request:
|
|
50
64
|
|
|
@@ -146,8 +160,7 @@ export default eveChannel({
|
|
|
146
160
|
});
|
|
147
161
|
```
|
|
148
162
|
|
|
149
|
-
`onMessage` must return an auth result. A successful canonical eve HTTP message
|
|
150
|
-
always dispatches and therefore always produces or continues a session.
|
|
163
|
+
`onMessage` must return an auth result. Return `title` alongside `auth` to set the title when the dispatch starts a run. A successful canonical eve HTTP message always dispatches and therefore always produces or continues a session.
|
|
151
164
|
|
|
152
165
|
## Clients
|
|
153
166
|
|
package/docs/channels/github.mdx
CHANGED
|
@@ -66,7 +66,7 @@ Point the GitHub App webhook URL at `https://<deployment>/eve/v1/github`. For co
|
|
|
66
66
|
|
|
67
67
|
### Dispatch
|
|
68
68
|
|
|
69
|
-
Inbound hooks return `{ auth }` to dispatch, or `null` to ignore. Use `defaultGitHubAuth(ctx)` to derive auth from the actor.
|
|
69
|
+
Inbound hooks return `{ auth }` to dispatch, or `null` to ignore. Return `title` alongside `auth` to set the title when the dispatch starts a run. Use `defaultGitHubAuth(ctx)` to derive auth from the actor.
|
|
70
70
|
|
|
71
71
|
```ts
|
|
72
72
|
import { defaultGitHubAuth, githubChannel } from "eve/channels/github";
|
package/docs/channels/linear.mdx
CHANGED
|
@@ -99,7 +99,7 @@ Event handlers receive `channel.linear`, which exposes `createActivity`, `listAc
|
|
|
99
99
|
|
|
100
100
|
## Custom hooks
|
|
101
101
|
|
|
102
|
-
Return `{ auth }` to dispatch, or `null` to acknowledge without waking the agent.
|
|
102
|
+
Return `{ auth }` to dispatch, or `null` to acknowledge without waking the agent. Return `title` alongside `auth` to set the title when the dispatch starts a run.
|
|
103
103
|
|
|
104
104
|
```ts
|
|
105
105
|
import { defaultLinearAuth, linearChannel } from "eve/channels/linear";
|
|
@@ -36,7 +36,7 @@ Each channel has its own provider terms, data flow, auth model, and user-consent
|
|
|
36
36
|
|
|
37
37
|
## Where channels live
|
|
38
38
|
|
|
39
|
-
Channel files live under `agent/channels/` in the root agent. The file stem is the channel id: `agent/channels/intake.ts` is addressed as `intake`.
|
|
39
|
+
Channel files live under `agent/channels/` in the root agent or come from an [extension](../extensions) mounted there. The file stem is the channel id: `agent/channels/intake.ts` is addressed as `intake`. An extension mount prefixes its contributed channel IDs but does not change their route paths. Local subagents do not declare channels.
|
|
40
40
|
|
|
41
41
|
```text
|
|
42
42
|
agent/
|
package/docs/channels/photon.mdx
CHANGED
|
@@ -29,7 +29,7 @@ steers its replacement turn.
|
|
|
29
29
|
|
|
30
30
|
Set `turnPolicy: "queue"` when every response should finish before Photon starts the next message.
|
|
31
31
|
|
|
32
|
-
Customize inbound dispatch with `onMessage`. Return `null` to ignore a message:
|
|
32
|
+
Customize inbound dispatch with `onMessage`. Return `null` to ignore a message, or return `title` alongside `auth` to set the title when the dispatch starts a run:
|
|
33
33
|
|
|
34
34
|
```ts
|
|
35
35
|
export default photonIMessageChannel({
|
package/docs/channels/slack.mdx
CHANGED
|
@@ -125,7 +125,7 @@ Check the delivery path in order so you can identify where a Slack event stops:
|
|
|
125
125
|
|
|
126
126
|
### Message hooks
|
|
127
127
|
|
|
128
|
-
Message hooks return `{ auth }` to dispatch, `null` to drop, or `{ auth, context }` to inject background into history.
|
|
128
|
+
Message hooks return `{ auth }` to dispatch, `null` to drop, or `{ auth, context }` to inject background into history. Return `title` alongside `auth` to set the title when the dispatch starts a run. When omitted, the title continues to use the triggering message text.
|
|
129
129
|
|
|
130
130
|
- `onMessage(ctx, message)` handles Slack `message` events. eve drops messages authored by the installed app before this hook runs, preventing self-reply loops. Messages from other bots remain visible; check `message.author?.isBot` when those should also be ignored. `ctx.isBotMentioned()` and `ctx.isSubscribed()` support mention and active-thread policies.
|
|
131
131
|
- `onAppMention(ctx, message)` handles only `app_mention` and takes precedence over `onMessage`. Its default derives workspace-scoped auth and posts `Thinking…`.
|
package/docs/channels/teams.mdx
CHANGED
|
@@ -26,7 +26,7 @@ By default the channel mounts at `POST /eve/v1/teams`. Point your Azure Bot or T
|
|
|
26
26
|
|
|
27
27
|
### Dispatch
|
|
28
28
|
|
|
29
|
-
The default `onMessage` handles two cases: personal-chat messages, and channel or group-chat messages that mention the bot directly. Ambient resource-specific-consent messages are dropped unless you override it. Before dispatch, 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. Return `title` alongside `auth` to set the title when the dispatch starts a run. 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
|
For example, use the contextual `isSubscribed()` helper to continue active threads without requiring another mention:
|
|
32
32
|
|
|
@@ -39,7 +39,7 @@ In a private chat, text, captions, photos, and documents all go through. Groups
|
|
|
39
39
|
|
|
40
40
|
Forum topics carry `message_thread_id` in the continuation token, so each topic stays on its own thread.
|
|
41
41
|
|
|
42
|
-
To customize auth or filtering, override `onMessage`. Group privacy mode itself lives in BotFather, not here.
|
|
42
|
+
To customize auth or filtering, override `onMessage`. Return `title` alongside `auth` to set the title when the dispatch starts a run. Group privacy mode itself lives in BotFather, not here.
|
|
43
43
|
|
|
44
44
|
### Delivery
|
|
45
45
|
|
package/docs/channels/twilio.mdx
CHANGED
|
@@ -40,7 +40,7 @@ Point your Twilio number's Messaging webhook at `/messages` and Voice webhook at
|
|
|
40
40
|
export default twilioChannel({ allowFrom: ["+15551234567", "+15557654321"] });
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
`onText` and `onVoiceTranscription` decide dispatch and `auth`. Return `{ auth }` to proceed,
|
|
43
|
+
`onText` and `onVoiceTranscription` decide dispatch and `auth`. Return `{ auth }` to proceed, `null` to drop the message, or `title` alongside `auth` to set the title when the dispatch starts a run. `onVoice` fires the moment a call comes in. Return `null` to reject it, or return an object to override the spoken prompt, language, `<Say voice>`, and speech-recognition options.
|
|
44
44
|
|
|
45
45
|
```ts
|
|
46
46
|
export default twilioChannel({
|
package/docs/extensions.md
CHANGED
|
@@ -3,7 +3,7 @@ title: "Extensions"
|
|
|
3
3
|
description: "Package reusable eve capabilities and mount them from npm or a monorepo workspace."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
Extensions package eve tools, connections, skills, instruction fragments, and hooks. An author builds an extension package; each agent that uses it declares the package as a dependency and mounts it. The package can be published to a package registry or kept private inside a monorepo workspace.
|
|
6
|
+
Extensions package eve tools, channels, connections, skills, schedules, instruction fragments, and hooks. An author builds an extension package; each agent that uses it declares the package as a dependency and mounts it. The package can be published to a package registry or kept private inside a monorepo workspace.
|
|
7
7
|
|
|
8
8
|
Ready-made extensions can also be distributed through an eve integration registry. See [Add Integrations](./install-integrations) to discover and add one with `eve add`; this page explains how extension packages are authored, mounted, configured, and overridden.
|
|
9
9
|
|
|
@@ -29,8 +29,10 @@ An extension uses the same file conventions as an agent for its contributions:
|
|
|
29
29
|
extension/
|
|
30
30
|
extension.ts
|
|
31
31
|
tools/search.ts
|
|
32
|
+
channels/webhook.ts
|
|
32
33
|
connections/api.ts
|
|
33
34
|
skills/triage/SKILL.md
|
|
35
|
+
schedules/sync.ts
|
|
34
36
|
instructions.md
|
|
35
37
|
hooks/audit.ts
|
|
36
38
|
lib/http.ts
|
|
@@ -38,9 +40,9 @@ An extension uses the same file conventions as an agent for its contributions:
|
|
|
38
40
|
|
|
39
41
|
Each listed slot accepts the same authored forms as its agent counterpart. Static and dynamic tools, skills, and instructions all work in an extension: `extension/instructions.ts` is as valid as `extension/instructions.md`, and `extension/tools/` can contain `defineDynamic(...)`.
|
|
40
42
|
|
|
41
|
-
Names come from paths, so call the tool `search`, not `crm_search`; the consumer's mount adds the `crm__` prefix. Keep shared code in `extension/lib/`.
|
|
43
|
+
Names come from paths, so call the tool `search`, not `crm_search`; the consumer's mount adds the `crm__` prefix. The same prefix applies to channel and schedule IDs, while channel route paths and schedule cron expressions stay unchanged. Keep shared code in `extension/lib/`.
|
|
42
44
|
|
|
43
|
-
Keep agent configuration, sandboxes,
|
|
45
|
+
Keep agent configuration, sandboxes, and nested extensions in the consumer's agent.
|
|
44
46
|
|
|
45
47
|
### Add configuration and contributions
|
|
46
48
|
|
|
@@ -58,7 +60,7 @@ export default defineExtension({
|
|
|
58
60
|
});
|
|
59
61
|
```
|
|
60
62
|
|
|
61
|
-
Contributions import that handle to read the validated configuration. Defaults have already been applied:
|
|
63
|
+
Contributions, including schedule handlers, can import that handle to read the validated configuration. Defaults have already been applied:
|
|
62
64
|
|
|
63
65
|
```ts title="extension/tools/search.ts"
|
|
64
66
|
import { defineTool } from "eve/tools";
|
|
@@ -168,7 +170,7 @@ export default crm({ apiKey: process.env.CRM_API_KEY! });
|
|
|
168
170
|
|
|
169
171
|
Set `CRM_API_KEY` in the consumer's environment, such as `.env.local` for local development.
|
|
170
172
|
|
|
171
|
-
The mount adds `crm__` to named contributions: `tools/search.ts` becomes `crm__search`, and `connections/api.ts` becomes `crm__api`.
|
|
173
|
+
The mount adds `crm__` to named contributions: `tools/search.ts` becomes `crm__search`, `channels/webhook.ts` becomes `crm__webhook`, `schedules/sync.ts` becomes `crm__sync`, and `connections/api.ts` becomes `crm__api`. Channels keep their declared route paths, and schedules keep their cron expressions.
|
|
172
174
|
|
|
173
175
|
For an extension with no configuration, mount its default export directly:
|
|
174
176
|
|
|
@@ -274,7 +276,7 @@ import crm from "@acme/crm";
|
|
|
274
276
|
export default crm({ apiKey: process.env.CRM_API_KEY! });
|
|
275
277
|
```
|
|
276
278
|
|
|
277
|
-
A same-named consumer tool, connection, or
|
|
279
|
+
A same-named consumer channel, tool, connection, skill, or schedule wins. To adjust an extension tool, import it from the package's `./tools` export and define it again:
|
|
278
280
|
|
|
279
281
|
```ts title="agent/extensions/crm/tools/search.ts"
|
|
280
282
|
import { search } from "@acme/crm/tools";
|
|
@@ -329,4 +331,6 @@ At build time, eve checks the extension's generated capability metadata. If the
|
|
|
329
331
|
- [Instructions](/docs/instructions): static and TypeScript instructions
|
|
330
332
|
- [Skills](/docs/skills): package procedures and supporting files
|
|
331
333
|
- [Connections](/docs/connections): integrate external services
|
|
334
|
+
- [Channels](/docs/channels/overview): receive messages and expose routes
|
|
335
|
+
- [Schedules](/docs/schedules): run the agent on a cron cadence
|
|
332
336
|
- [Hooks](/docs/guides/hooks): observe agent events
|
|
@@ -5,23 +5,24 @@ description: "Consume eve client stream events live, reconnect by event index, a
|
|
|
5
5
|
|
|
6
6
|
Every `ClientSession.send()` call posts the turn, then reads the session's NDJSON (newline-delimited JSON) event stream. `MessageResponse` gives you two ways to consume that stream, aggregating it with `result()` or iterating it live.
|
|
7
7
|
|
|
8
|
-
Once `send()` is accepted,
|
|
8
|
+
Once `send()` is accepted, `response.cancel()` requests cooperative cancellation of that exact turn. Start consuming the response first; cancellation waits for the stream to identify the turn, guards the request with its ID, and never targets a later turn. The result status is `accepted` when the live session durably queues the command. A response that settles before a turn starts returns `no_active_turn`:
|
|
9
9
|
|
|
10
10
|
```ts
|
|
11
|
-
const {
|
|
11
|
+
const { response } = await client.sessions.create({ message: "Run the long operation." });
|
|
12
12
|
|
|
13
|
-
const
|
|
13
|
+
const resultPromise = response.result();
|
|
14
|
+
const cancellation = await response.cancel();
|
|
14
15
|
if (cancellation.status === "accepted") {
|
|
15
16
|
console.log(cancellation.sessionId);
|
|
16
17
|
}
|
|
17
18
|
|
|
18
|
-
const result = await
|
|
19
|
+
const result = await resultPromise;
|
|
19
20
|
```
|
|
20
21
|
|
|
21
22
|
The cancellation result is discriminated by `status`: only `accepted` includes
|
|
22
23
|
`sessionId`; `no_active_turn` has no session identity field.
|
|
23
24
|
|
|
24
|
-
Cancellation does not replace stream consumption. Continue reading the response to observe its terminal `turn.cancelled` and `session.waiting` boundary and to advance the client session cursor normally.
|
|
25
|
+
Cancellation does not replace stream consumption. Continue reading the response to observe its terminal `turn.cancelled` and `session.waiting` boundary and to advance the client session cursor normally. Use `session.cancel({ turnId })` instead when you have only a fixed session handle and an observed turn ID.
|
|
25
26
|
|
|
26
27
|
Between turns, `session.compact()` queues context compaction without sending model input. An accepted request reports the session id; consume the durable stream through the following `session.waiting` boundary before sending the next turn. `compaction.completed` confirms that summarization succeeded; without it, eve preserves the previous history. A never-started session returns `no_active_session` as a successful no-op.
|
|
27
28
|
|
|
@@ -126,7 +127,7 @@ If you support refresh while an authorization prompt is pending, keep the sessio
|
|
|
126
127
|
|
|
127
128
|
## Reconnection
|
|
128
129
|
|
|
129
|
-
HTTP connections can end before a run does. The client reconnects from the number of events already consumed, so long turns continue without replaying events.
|
|
130
|
+
HTTP connections can end before a run does. The client reconnects from the number of events already consumed, so long turns continue without replaying events. By default, a turn response keeps reconnecting until it reaches a turn boundary or is aborted, including while the turn is paused for authorization. A manually opened `session.stream()` eventually stops after repeated empty streams when it can no longer make progress.
|
|
130
131
|
|
|
131
132
|
If your consumer persists events, key on `event.meta.id`. It is stable across reconnects and rewinds, so an overlapping replay is safe to ingest twice. See [the event envelope](../../concepts/sessions-runs-and-streaming#the-event-envelope).
|
|
132
133
|
|
|
@@ -78,7 +78,7 @@ export function Chat() {
|
|
|
78
78
|
| `session` | Serializable fixed session cursor (`sessionId`, `streamIndex`). |
|
|
79
79
|
| `send` | Send text or a multi-part message, with per-turn options. |
|
|
80
80
|
| `respond` | Answer pending HITL input requests, with per-turn options. |
|
|
81
|
-
| `
|
|
81
|
+
| `cancel` | Request durable cancellation of the active turn. |
|
|
82
82
|
| `reset` | Clear local events, data, errors, and the local session cursor. |
|
|
83
83
|
|
|
84
84
|
Most chat UIs only need `data.messages` and `status`. Drop down to `events` when you need the authoritative wire events directly, for example to persist an audit log or build a custom projection.
|
|
@@ -105,15 +105,17 @@ await agent.send([
|
|
|
105
105
|
]);
|
|
106
106
|
```
|
|
107
107
|
|
|
108
|
-
Assistant text, reasoning, tool calls, and tool results stream into `data` as they arrive, and `status` moves from `ready` to `submitted` to `streaming` and back. Call `
|
|
108
|
+
Assistant text, reasoning, tool calls, and tool results stream into `data` as they arrive, and `status` moves from `ready` to `submitted` to `streaming` and back. Call `cancel()` to stop the durable server-side turn, and `reset()` to clear local state so the next send starts a fresh durable session.
|
|
109
109
|
|
|
110
|
-
`
|
|
110
|
+
`cancel()` can be called as soon as `status` is `"submitted"`; the hook waits for the active response to identify its turn when necessary, sends one guarded cancellation request, and keeps the event stream attached. The promise resolves when eve accepts the request or reports that no turn is active, and rejects if the cancellation request fails. The turn then settles on the same stream as `turn.cancelled` followed by `session.waiting`, so the session is safe to continue.
|
|
111
111
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
112
|
+
```tsx
|
|
113
|
+
if (agent.status === "submitted" || agent.status === "streaming") {
|
|
114
|
+
await agent.cancel();
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Unmounting the component or closing the page disconnects the local stream but does not cancel server execution. Call `cancel()` before detaching when the user intends to stop the durable turn.
|
|
117
119
|
|
|
118
120
|
After eve confirms an attachment turn with `message.received`, the default reducer projects each
|
|
119
121
|
received attachment as a `file` part on the user message. The part includes `mediaType`, optional
|
|
@@ -44,14 +44,14 @@ Call the binding once for a conversation and read its reactive getters directly.
|
|
|
44
44
|
|
|
45
45
|
The state fields are reactive getters; the commands are ordinary methods:
|
|
46
46
|
|
|
47
|
-
| Property
|
|
48
|
-
|
|
|
49
|
-
| `data`
|
|
50
|
-
| `status`
|
|
51
|
-
| `error`
|
|
52
|
-
| `events`
|
|
53
|
-
| `session`
|
|
54
|
-
| `send`, `respond`, `
|
|
47
|
+
| Property | Svelte shape |
|
|
48
|
+
| ------------------------------------ | --------------------------------- |
|
|
49
|
+
| `data` | `TData` |
|
|
50
|
+
| `status` | `UseEveAgentStatus` |
|
|
51
|
+
| `error` | `Error \| undefined` |
|
|
52
|
+
| `events` | `readonly MessageStreamEvent[]` |
|
|
53
|
+
| `session` | `ClientSessionState \| undefined` |
|
|
54
|
+
| `send`, `respond`, `cancel`, `reset` | Methods |
|
|
55
55
|
|
|
56
56
|
Read the getters directly in templates, `$derived`, or `$effect`. The [shared returned-state reference](./overview#returned-state) describes what each value and command does.
|
|
57
57
|
|
|
@@ -104,9 +104,9 @@ Pending requests appear in `agent.data.messages`. Use the Svelte exports when na
|
|
|
104
104
|
|
|
105
105
|
See [Human-in-the-loop prompts](./overview#human-in-the-loop-prompts) for request semantics and rendering guidance.
|
|
106
106
|
|
|
107
|
-
##
|
|
107
|
+
## Cancel, reset, and resume
|
|
108
108
|
|
|
109
|
-
Call `agent.
|
|
109
|
+
Call `agent.cancel()` to stop the durable server-side turn while the binding remains attached through settlement. Destroying the component only disconnects its local stream; it does not cancel server execution. Call `agent.reset()` to clear local state and start a new session. Pass `initialSession` and `initialEvents` to restore a saved conversation. See [Resumable sessions](./overview#resumable-sessions) for the persistence contract and [Sending and streaming](./overview#sending-and-streaming) for cancellation behavior.
|
|
110
110
|
|
|
111
111
|
## Custom host and credentials
|
|
112
112
|
|
|
@@ -43,14 +43,14 @@ async function handleSubmit() {
|
|
|
43
43
|
|
|
44
44
|
The state fields are computed refs; the commands are ordinary methods:
|
|
45
45
|
|
|
46
|
-
| Property
|
|
47
|
-
|
|
|
48
|
-
| `data`
|
|
49
|
-
| `status`
|
|
50
|
-
| `error`
|
|
51
|
-
| `events`
|
|
52
|
-
| `session`
|
|
53
|
-
| `send`, `respond`, `
|
|
46
|
+
| Property | Vue shape |
|
|
47
|
+
| ------------------------------------ | ---------------------------------------------- |
|
|
48
|
+
| `data` | `ComputedRef<TData>` |
|
|
49
|
+
| `status` | `ComputedRef<UseEveAgentStatus>` |
|
|
50
|
+
| `error` | `ComputedRef<Error \| undefined>` |
|
|
51
|
+
| `events` | `ComputedRef<readonly MessageStreamEvent[]>` |
|
|
52
|
+
| `session` | `ComputedRef<ClientSessionState \| undefined>` |
|
|
53
|
+
| `send`, `respond`, `cancel`, `reset` | Methods |
|
|
54
54
|
|
|
55
55
|
Destructuring preserves reactivity because each state value remains a ref. Read refs with `.value` in `<script>` and without `.value` in a template. The [shared returned-state reference](./overview#returned-state) describes what each value and command does.
|
|
56
56
|
|
|
@@ -106,9 +106,9 @@ const pendingRequests = computed(() =>
|
|
|
106
106
|
|
|
107
107
|
See [Human-in-the-loop prompts](./overview#human-in-the-loop-prompts) for request semantics and rendering guidance.
|
|
108
108
|
|
|
109
|
-
##
|
|
109
|
+
## Cancel, reset, and resume
|
|
110
110
|
|
|
111
|
-
Call `
|
|
111
|
+
Call `cancel()` to stop the durable server-side turn while the composable remains attached through settlement. Disposing the component only disconnects its local stream; it does not cancel server execution. Call `reset()` to clear local state and start a new session. Pass `initialSession` and `initialEvents` to restore a saved conversation. See [Resumable sessions](./overview#resumable-sessions) for the persistence contract and [Sending and streaming](./overview#sending-and-streaming) for cancellation behavior.
|
|
112
112
|
|
|
113
113
|
## Custom host and credentials
|
|
114
114
|
|
|
@@ -16,6 +16,10 @@ eve add linear
|
|
|
16
16
|
eve add instrumentation/braintrust
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
+
If an item is not found, `eve add` searches the available catalogs and prints close matches without installing anything.
|
|
20
|
+
|
|
21
|
+
If you do not know an item name yet, run `eve add` without an argument. Its help output shows how to search the registry with `eve registry search <query>`.
|
|
22
|
+
|
|
19
23
|
Extensions may create a mount under `agent/extensions/`. Connections write their initial definition under `agent/connections/` and install `@vercel/connect` when required. Instrumentation providers write `agent/instrumentation.ts`; because an agent has one instrumentation file, compose multiple exporters there by hand. Configure generated files and required environment variables before running your agent.
|
|
20
24
|
|
|
21
25
|
Some integrations package several independently installable components. For example, `eve add linear` lets you choose the Linear Channel, Linear MCP, or both; both are selected by default. The specific `eve add channel/linear-agent` and `eve add connection/linear` commands remain available.
|
package/docs/reference/cli.md
CHANGED
|
@@ -3,7 +3,7 @@ title: "CLI"
|
|
|
3
3
|
description: "Reference for every eve CLI command: init, set, info, build, start, dev, logs, trace, link, deploy, eval, channels, and extension."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
Relevant `eve` commands can run from the application root or any directory beneath it. Running `eve` with no command runs `eve init` when the current directory is not an eve project, or `eve dev` when it is.
|
|
7
7
|
|
|
8
8
|
## Commands
|
|
9
9
|
|
package/docs/schedules.mdx
CHANGED
|
@@ -3,9 +3,9 @@ title: "Schedules"
|
|
|
3
3
|
description: "Run an agent on a cron cadence, either a fire-and-forget prompt or a handler that hands work off to a channel."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
A schedule starts the agent on its own clock instead of waiting for an inbound message. Use one for daily digests, data syncs, cleanup sweeps, heartbeats, or anything that should fire on a cadence.
|
|
6
|
+
A schedule starts the agent on its own clock instead of waiting for an inbound message. Use one for daily digests, data syncs, cleanup sweeps, heartbeats, or anything that should fire on a cadence. Root-authored schedules are single files under `agent/schedules/`, and mounted extensions can contribute them from `extension/schedules/`. Declared subagents cannot have a `schedules/` directory.
|
|
7
7
|
|
|
8
|
-
The name comes from the path under `schedules/` (`agent/schedules/billing/sweep.ts` → `"billing/sweep"`), and nested directories are fine.
|
|
8
|
+
The name comes from the path under `schedules/` (`agent/schedules/billing/sweep.ts` → `"billing/sweep"`), and nested directories are fine. An extension mount prefixes that name (`extension/schedules/sweep.ts` mounted as `crm` → `"crm__sweep"`) without changing its cron expression.
|
|
9
9
|
|
|
10
10
|
## `defineSchedule`
|
|
11
11
|
|
|
@@ -109,7 +109,9 @@ semantics.
|
|
|
109
109
|
|
|
110
110
|
The run picks back up exactly where it parked. Because the pause is durable, nothing is held in memory while it waits — the process can restart and the parked turn survives.
|
|
111
111
|
|
|
112
|
-
|
|
112
|
+
When a background subagent requests input, eve emits the same `input.requested` event on its parent session. Answering through that parent session routes the response directly to the blocked child without invoking the parent model.
|
|
113
|
+
|
|
114
|
+
For approval requests, unrelated follow-up text does not deny the tool call. eve keeps the approval pending and holds that text until the approval is answered, then replays it as the next message in the session.
|
|
113
115
|
|
|
114
116
|
See [Sessions, runs & streaming](/docs/concepts/sessions-runs-and-streaming) for the full event and resume contract that this builds on.
|
|
115
117
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eve",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.38.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Filesystem-first framework for durable backend AI agents that run anywhere.",
|
|
6
6
|
"keywords": [
|
|
@@ -231,6 +231,11 @@
|
|
|
231
231
|
"import": "./dist/src/public/channels/auth.js",
|
|
232
232
|
"default": "./dist/src/public/channels/auth.js"
|
|
233
233
|
},
|
|
234
|
+
"./channels/mcp": {
|
|
235
|
+
"types": "./dist/src/public/channels/mcp.d.ts",
|
|
236
|
+
"import": "./dist/src/public/channels/mcp.js",
|
|
237
|
+
"default": "./dist/src/public/channels/mcp.js"
|
|
238
|
+
},
|
|
234
239
|
"./channels/slack": {
|
|
235
240
|
"types": "./dist/src/public/channels/slack/index.d.ts",
|
|
236
241
|
"import": "./dist/src/public/channels/slack/index.js",
|
|
@@ -310,6 +315,7 @@
|
|
|
310
315
|
"@chat-adapter/state-memory": "4.34.0",
|
|
311
316
|
"@chat-adapter/twilio": "4.34.0",
|
|
312
317
|
"@clack/core": "1.3.1",
|
|
318
|
+
"@modelcontextprotocol/server": "2.0.0",
|
|
313
319
|
"@nuxt/kit": "^4.0.0",
|
|
314
320
|
"@opentelemetry/context-async-hooks": "2.6.1",
|
|
315
321
|
"@opentelemetry/core": "2.6.1",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-DaDcL9Zw.js";import{t}from"./src-Cj3P1ChQ.js";import{fileURLToPath as n}from"url";import{createRequire as r}from"module";import i from"path";var a=e(t(),1);const o=r(import.meta.url),s=n(import.meta.url);i.dirname(s);var c=Object.create,l=Object.defineProperty,u=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,f=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty,m=(e=>typeof o<`u`?o:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof o<`u`?o:e)[t]}):e)(function(e){if(typeof o<`u`)return o.apply(this,arguments);throw Error(`Dynamic require of "`+e+`" is not supported`)}),h=(e,t)=>()=>(e&&(t=e(e=0)),t),g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),_=(e,t)=>{for(var n in t)l(e,n,{get:t[n],enumerable:!0})},v=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of d(t))!p.call(e,i)&&i!==n&&l(e,i,{get:()=>t[i],enumerable:!(r=u(t,i))||r.enumerable});return e},y=(e,t,n)=>(v(e,t,`default`),n&&v(n,t,`default`)),b=(e,t,n)=>(n=e==null?{}:c(f(e)),v(t||!e||!e.__esModule?l(n,`default`,{value:e,enumerable:!0}):n,e)),x=e=>v(l({},`__esModule`,{value:!0}),e),S={},C=h(()=>{y(S,a)});export{_ as a,S as c,g as i,y as l,C as n,b as o,m as r,x as s,h as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ar as e}from"./wait-until-DK2lnH6U.js";import{i as t}from"./attribute-changes-BoH7JsWp.js";async function n(r){let i=globalThis[e];return i||t(`sleep()`,`https://workflow-sdk.dev/docs/api-reference/workflow/sleep`,n),i(r)}export{n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DaDcL9Zw.js";var t=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.VERSION=void 0,e.VERSION=`1.9.1`})),n=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isCompatible=e._makeCompatibilityCheck=void 0;let n=t(),r=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function i(e){let t=new Set([e]),n=new Set,i=e.match(r);if(!i)return()=>!1;let a={major:+i[1],minor:+i[2],patch:+i[3],prerelease:i[4]};if(a.prerelease!=null)return function(t){return t===e};function o(e){return n.add(e),!1}function s(e){return t.add(e),!0}return function(e){if(t.has(e))return!0;if(n.has(e))return!1;let i=e.match(r);if(!i)return o(e);let c={major:+i[1],minor:+i[2],patch:+i[3],prerelease:i[4]};return c.prerelease!=null||a.major!==c.major?o(e):a.major===0?a.minor===c.minor&&a.patch<=c.patch?s(e):o(e):a.minor<=c.minor?s(e):o(e)}}e._makeCompatibilityCheck=i,e.isCompatible=i(n.VERSION)})),r=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.unregisterGlobal=e.getGlobal=e.registerGlobal=void 0;let r=t(),i=n(),a=r.VERSION.split(`.`)[0],o=Symbol.for(`opentelemetry.js.api.${a}`),s=typeof globalThis==`object`?globalThis:typeof self==`object`?self:typeof window==`object`?window:typeof global==`object`?global:{};function c(e,t,n,i=!1){let a=s[o]=s[o]??{version:r.VERSION};if(!i&&a[e]){let t=Error(`@opentelemetry/api: Attempted duplicate registration of API: ${e}`);return n.error(t.stack||t.message),!1}if(a.version!==r.VERSION){let t=Error(`@opentelemetry/api: Registration of version v${a.version} for ${e} does not match previously registered API v${r.VERSION}`);return n.error(t.stack||t.message),!1}return a[e]=t,n.debug(`@opentelemetry/api: Registered a global for ${e} v${r.VERSION}.`),!0}e.registerGlobal=c;function l(e){let t=s[o]?.version;if(!(!t||!(0,i.isCompatible)(t)))return s[o]?.[e]}e.getGlobal=l;function u(e,t){t.debug(`@opentelemetry/api: Unregistering a global for ${e} v${r.VERSION}.`);let n=s[o];n&&delete n[e]}e.unregisterGlobal=u})),i=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.DiagComponentLogger=void 0;let t=r();e.DiagComponentLogger=class{constructor(e){this._namespace=e.namespace||`DiagComponentLogger`}debug(...e){return n(`debug`,this._namespace,e)}error(...e){return n(`error`,this._namespace,e)}info(...e){return n(`info`,this._namespace,e)}warn(...e){return n(`warn`,this._namespace,e)}verbose(...e){return n(`verbose`,this._namespace,e)}};function n(e,n,r){let i=(0,t.getGlobal)(`diag`);if(i)return i[e](n,...r)}})),a=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.DiagLogLevel=void 0,(function(e){e[e.NONE=0]=`NONE`,e[e.ERROR=30]=`ERROR`,e[e.WARN=50]=`WARN`,e[e.INFO=60]=`INFO`,e[e.DEBUG=70]=`DEBUG`,e[e.VERBOSE=80]=`VERBOSE`,e[e.ALL=9999]=`ALL`})(e.DiagLogLevel||={})})),o=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.createLogLevelDiagLogger=void 0;let t=a();function n(e,n){e<t.DiagLogLevel.NONE?e=t.DiagLogLevel.NONE:e>t.DiagLogLevel.ALL&&(e=t.DiagLogLevel.ALL),n||={};function r(t,r){let i=n[t];return typeof i==`function`&&e>=r?i.bind(n):function(){}}return{error:r(`error`,t.DiagLogLevel.ERROR),warn:r(`warn`,t.DiagLogLevel.WARN),info:r(`info`,t.DiagLogLevel.INFO),debug:r(`debug`,t.DiagLogLevel.DEBUG),verbose:r(`verbose`,t.DiagLogLevel.VERBOSE)}}e.createLogLevelDiagLogger=n})),s=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.DiagAPI=void 0;let t=i(),n=o(),s=a(),c=r();e.DiagAPI=class e{static instance(){return this._instance||=new e,this._instance}constructor(){function e(e){return function(...t){let n=(0,c.getGlobal)(`diag`);if(n)return n[e](...t)}}let r=this;r.setLogger=(e,t={logLevel:s.DiagLogLevel.INFO})=>{if(e===r){let e=Error(`Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation`);return r.error(e.stack??e.message),!1}typeof t==`number`&&(t={logLevel:t});let i=(0,c.getGlobal)(`diag`),a=(0,n.createLogLevelDiagLogger)(t.logLevel??s.DiagLogLevel.INFO,e);if(i&&!t.suppressOverrideMessage){let e=Error().stack??`<failed to generate stacktrace>`;i.warn(`Current logger will be overwritten from ${e}`),a.warn(`Current logger will overwrite one already registered from ${e}`)}return(0,c.registerGlobal)(`diag`,a,r,!0)},r.disable=()=>{(0,c.unregisterGlobal)(`diag`,r)},r.createComponentLogger=e=>new t.DiagComponentLogger(e),r.verbose=e(`verbose`),r.debug=e(`debug`),r.info=e(`info`),r.warn=e(`warn`),r.error=e(`error`)}}})),c=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BaggageImpl=void 0,e.BaggageImpl=class e{constructor(e){this._entries=e?new Map(e):new Map}getEntry(e){let t=this._entries.get(e);if(t)return Object.assign({},t)}getAllEntries(){return Array.from(this._entries.entries())}setEntry(t,n){let r=new e(this._entries);return r._entries.set(t,n),r}removeEntry(t){let n=new e(this._entries);return n._entries.delete(t),n}removeEntries(...t){let n=new e(this._entries);for(let e of t)n._entries.delete(e);return n}clear(){return new e}}})),l=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.baggageEntryMetadataSymbol=void 0,e.baggageEntryMetadataSymbol=Symbol(`BaggageEntryMetadata`)})),u=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.baggageEntryMetadataFromString=e.createBaggage=void 0;let t=s(),n=c(),r=l(),i=t.DiagAPI.instance();function a(e={}){return new n.BaggageImpl(new Map(Object.entries(e)))}e.createBaggage=a;function o(e){return typeof e!=`string`&&(i.error(`Cannot create baggage metadata from unknown type: ${typeof e}`),e=``),{__TYPE__:r.baggageEntryMetadataSymbol,toString(){return e}}}e.baggageEntryMetadataFromString=o})),d=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ROOT_CONTEXT=e.createContextKey=void 0;function t(e){return Symbol.for(e)}e.createContextKey=t,e.ROOT_CONTEXT=new class e{constructor(t){let n=this;n._currentContext=t?new Map(t):new Map,n.getValue=e=>n._currentContext.get(e),n.setValue=(t,r)=>{let i=new e(n._currentContext);return i._currentContext.set(t,r),i},n.deleteValue=t=>{let r=new e(n._currentContext);return r._currentContext.delete(t),r}}}})),f=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.DiagConsoleLogger=e._originalConsoleMethods=void 0;let t=[{n:`error`,c:`error`},{n:`warn`,c:`warn`},{n:`info`,c:`info`},{n:`debug`,c:`debug`},{n:`verbose`,c:`trace`}];if(e._originalConsoleMethods={},typeof console<`u`)for(let t of[`error`,`warn`,`info`,`debug`,`trace`,`log`])typeof console[t]==`function`&&(e._originalConsoleMethods[t]=console[t]);e.DiagConsoleLogger=class{constructor(){function n(t){return function(...n){let r=e._originalConsoleMethods[t];if(typeof r!=`function`&&(r=e._originalConsoleMethods.log),typeof r!=`function`&&console&&(r=console[t],typeof r!=`function`&&(r=console.log)),typeof r==`function`)return r.apply(console,n)}}for(let e=0;e<t.length;e++)this[t[e].n]=n(t[e].c)}}})),p=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.createNoopMeter=e.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=e.NOOP_OBSERVABLE_GAUGE_METRIC=e.NOOP_OBSERVABLE_COUNTER_METRIC=e.NOOP_UP_DOWN_COUNTER_METRIC=e.NOOP_HISTOGRAM_METRIC=e.NOOP_GAUGE_METRIC=e.NOOP_COUNTER_METRIC=e.NOOP_METER=e.NoopObservableUpDownCounterMetric=e.NoopObservableGaugeMetric=e.NoopObservableCounterMetric=e.NoopObservableMetric=e.NoopHistogramMetric=e.NoopGaugeMetric=e.NoopUpDownCounterMetric=e.NoopCounterMetric=e.NoopMetric=e.NoopMeter=void 0;var t=class{constructor(){}createGauge(t,n){return e.NOOP_GAUGE_METRIC}createHistogram(t,n){return e.NOOP_HISTOGRAM_METRIC}createCounter(t,n){return e.NOOP_COUNTER_METRIC}createUpDownCounter(t,n){return e.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(t,n){return e.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(t,n){return e.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(t,n){return e.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(e,t){}removeBatchObservableCallback(e){}};e.NoopMeter=t;var n=class{};e.NoopMetric=n;var r=class extends n{add(e,t){}};e.NoopCounterMetric=r;var i=class extends n{add(e,t){}};e.NoopUpDownCounterMetric=i;var a=class extends n{record(e,t){}};e.NoopGaugeMetric=a;var o=class extends n{record(e,t){}};e.NoopHistogramMetric=o;var s=class{addCallback(e){}removeCallback(e){}};e.NoopObservableMetric=s;var c=class extends s{};e.NoopObservableCounterMetric=c;var l=class extends s{};e.NoopObservableGaugeMetric=l;var u=class extends s{};e.NoopObservableUpDownCounterMetric=u,e.NOOP_METER=new t,e.NOOP_COUNTER_METRIC=new r,e.NOOP_GAUGE_METRIC=new a,e.NOOP_HISTOGRAM_METRIC=new o,e.NOOP_UP_DOWN_COUNTER_METRIC=new i,e.NOOP_OBSERVABLE_COUNTER_METRIC=new c,e.NOOP_OBSERVABLE_GAUGE_METRIC=new l,e.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new u;function d(){return e.NOOP_METER}e.createNoopMeter=d})),m=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ValueType=void 0,(function(e){e[e.INT=0]=`INT`,e[e.DOUBLE=1]=`DOUBLE`})(e.ValueType||={})})),h=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.defaultTextMapSetter=e.defaultTextMapGetter=void 0,e.defaultTextMapGetter={get(e,t){if(e!=null)return e[t]},keys(e){return e==null?[]:Object.keys(e)}},e.defaultTextMapSetter={set(e,t,n){e!=null&&(e[t]=n)}}})),g=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NoopContextManager=void 0;let t=d();e.NoopContextManager=class{active(){return t.ROOT_CONTEXT}with(e,t,n,...r){return t.call(n,...r)}bind(e,t){return t}enable(){return this}disable(){return this}}})),_=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ContextAPI=void 0;let t=g(),n=r(),i=s(),a=`context`,o=new t.NoopContextManager;e.ContextAPI=class e{constructor(){}static getInstance(){return this._instance||=new e,this._instance}setGlobalContextManager(e){return(0,n.registerGlobal)(a,e,i.DiagAPI.instance())}active(){return this._getContextManager().active()}with(e,t,n,...r){return this._getContextManager().with(e,t,n,...r)}bind(e,t){return this._getContextManager().bind(e,t)}_getContextManager(){return(0,n.getGlobal)(a)||o}disable(){this._getContextManager().disable(),(0,n.unregisterGlobal)(a,i.DiagAPI.instance())}}})),v=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TraceFlags=void 0,(function(e){e[e.NONE=0]=`NONE`,e[e.SAMPLED=1]=`SAMPLED`})(e.TraceFlags||={})})),y=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.INVALID_SPAN_CONTEXT=e.INVALID_TRACEID=e.INVALID_SPANID=void 0;let t=v();e.INVALID_SPANID=`0000000000000000`,e.INVALID_TRACEID=`00000000000000000000000000000000`,e.INVALID_SPAN_CONTEXT={traceId:e.INVALID_TRACEID,spanId:e.INVALID_SPANID,traceFlags:t.TraceFlags.NONE}})),b=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NonRecordingSpan=void 0;let t=y();e.NonRecordingSpan=class{constructor(e=t.INVALID_SPAN_CONTEXT){this._spanContext=e}spanContext(){return this._spanContext}setAttribute(e,t){return this}setAttributes(e){return this}addEvent(e,t){return this}addLink(e){return this}addLinks(e){return this}setStatus(e){return this}updateName(e){return this}end(e){}isRecording(){return!1}recordException(e,t){}}})),x=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getSpanContext=e.setSpanContext=e.deleteSpan=e.setSpan=e.getActiveSpan=e.getSpan=void 0;let t=d(),n=b(),r=_(),i=(0,t.createContextKey)(`OpenTelemetry Context Key SPAN`);function a(e){return e.getValue(i)||void 0}e.getSpan=a;function o(){return a(r.ContextAPI.getInstance().active())}e.getActiveSpan=o;function s(e,t){return e.setValue(i,t)}e.setSpan=s;function c(e){return e.deleteValue(i)}e.deleteSpan=c;function l(e,t){return s(e,new n.NonRecordingSpan(t))}e.setSpanContext=l;function u(e){return a(e)?.spanContext()}e.getSpanContext=u})),S=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.wrapSpanContext=e.isSpanContextValid=e.isValidSpanId=e.isValidTraceId=void 0;let t=y(),n=b(),r=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1]);function i(e,t){if(typeof e!=`string`||e.length!==t)return!1;let n=0;for(let t=0;t<e.length;t+=4)n+=(r[e.charCodeAt(t)]|0)+(r[e.charCodeAt(t+1)]|0)+(r[e.charCodeAt(t+2)]|0)+(r[e.charCodeAt(t+3)]|0);return n===t}function a(e){return i(e,32)&&e!==t.INVALID_TRACEID}e.isValidTraceId=a;function o(e){return i(e,16)&&e!==t.INVALID_SPANID}e.isValidSpanId=o;function s(e){return a(e.traceId)&&o(e.spanId)}e.isSpanContextValid=s;function c(e){return new n.NonRecordingSpan(e)}e.wrapSpanContext=c})),C=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NoopTracer=void 0;let t=_(),n=x(),r=b(),i=S(),a=t.ContextAPI.getInstance();e.NoopTracer=class{startSpan(e,t,s=a.active()){if(t?.root)return new r.NonRecordingSpan;let c=s&&(0,n.getSpanContext)(s);return o(c)&&(0,i.isSpanContextValid)(c)?new r.NonRecordingSpan(c):new r.NonRecordingSpan}startActiveSpan(e,t,r,i){let o,s,c;if(arguments.length<2)return;arguments.length===2?c=t:arguments.length===3?(o=t,c=r):(o=t,s=r,c=i);let l=s??a.active(),u=this.startSpan(e,o,l),d=(0,n.setSpan)(l,u);return a.with(d,c,void 0,u)}};function o(e){return typeof e==`object`&&!!e&&`spanId`in e&&typeof e.spanId==`string`&&`traceId`in e&&typeof e.traceId==`string`&&`traceFlags`in e&&typeof e.traceFlags==`number`}})),w=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ProxyTracer=void 0;let t=new(C()).NoopTracer;e.ProxyTracer=class{constructor(e,t,n,r){this._provider=e,this.name=t,this.version=n,this.options=r}startSpan(e,t,n){return this._getTracer().startSpan(e,t,n)}startActiveSpan(e,t,n,r){let i=this._getTracer();return Reflect.apply(i.startActiveSpan,i,arguments)}_getTracer(){if(this._delegate)return this._delegate;let e=this._provider.getDelegateTracer(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):t}}})),T=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NoopTracerProvider=void 0;let t=C();e.NoopTracerProvider=class{getTracer(e,n,r){return new t.NoopTracer}}})),E=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ProxyTracerProvider=void 0;let t=w(),n=new(T()).NoopTracerProvider;e.ProxyTracerProvider=class{getTracer(e,n,r){return this.getDelegateTracer(e,n,r)??new t.ProxyTracer(this,e,n,r)}getDelegate(){return this._delegate??n}setDelegate(e){this._delegate=e}getDelegateTracer(e,t,n){return this._delegate?.getTracer(e,t,n)}}})),D=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SamplingDecision=void 0,(function(e){e[e.NOT_RECORD=0]=`NOT_RECORD`,e[e.RECORD=1]=`RECORD`,e[e.RECORD_AND_SAMPLED=2]=`RECORD_AND_SAMPLED`})(e.SamplingDecision||={})})),O=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SpanKind=void 0,(function(e){e[e.INTERNAL=0]=`INTERNAL`,e[e.SERVER=1]=`SERVER`,e[e.CLIENT=2]=`CLIENT`,e[e.PRODUCER=3]=`PRODUCER`,e[e.CONSUMER=4]=`CONSUMER`})(e.SpanKind||={})})),k=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SpanStatusCode=void 0,(function(e){e[e.UNSET=0]=`UNSET`,e[e.OK=1]=`OK`,e[e.ERROR=2]=`ERROR`})(e.SpanStatusCode||={})})),A=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.validateValue=e.validateKey=void 0;let t=`[_0-9a-z-*/]`,n=RegExp(`^(?:${`[a-z]${t}{0,255}`}|${`[a-z0-9]${t}{0,240}@[a-z]${t}{0,13}`})$`),r=/^[ -~]{0,255}[!-~]$/,i=/,|=/;function a(e){return n.test(e)}e.validateKey=a;function o(e){return r.test(e)&&!i.test(e)}e.validateValue=o})),j=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TraceStateImpl=void 0;let t=A();e.TraceStateImpl=class e{constructor(e){this._internalState=new Map,e&&this._parse(e)}set(e,t){let n=this._clone();return n._internalState.has(e)&&n._internalState.delete(e),n._internalState.set(e,t),n}unset(e){let t=this._clone();return t._internalState.delete(e),t}get(e){return this._internalState.get(e)}serialize(){return Array.from(this._internalState.keys()).reduceRight((e,t)=>(e.push(t+`=`+this.get(t)),e),[]).join(`,`)}_parse(e){e.length>512||(this._internalState=e.split(`,`).reduceRight((e,n)=>{let r=n.trim(),i=r.indexOf(`=`);if(i!==-1){let a=r.slice(0,i),o=r.slice(i+1,n.length);(0,t.validateKey)(a)&&(0,t.validateValue)(o)&&e.set(a,o)}return e},new Map),this._internalState.size>32&&(this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,32))))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){let t=new e;return t._internalState=new Map(this._internalState),t}}})),M=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.createTraceState=void 0;let t=j();function n(e){return new t.TraceStateImpl(e)}e.createTraceState=n})),N=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.context=void 0,e.context=_().ContextAPI.getInstance()})),P=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.diag=void 0,e.diag=s().DiagAPI.instance()})),F=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NOOP_METER_PROVIDER=e.NoopMeterProvider=void 0;let t=p();var n=class{getMeter(e,n,r){return t.NOOP_METER}};e.NoopMeterProvider=n,e.NOOP_METER_PROVIDER=new n})),I=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MetricsAPI=void 0;let t=F(),n=r(),i=s(),a=`metrics`;e.MetricsAPI=class e{constructor(){}static getInstance(){return this._instance||=new e,this._instance}setGlobalMeterProvider(e){return(0,n.registerGlobal)(a,e,i.DiagAPI.instance())}getMeterProvider(){return(0,n.getGlobal)(a)||t.NOOP_METER_PROVIDER}getMeter(e,t,n){return this.getMeterProvider().getMeter(e,t,n)}disable(){(0,n.unregisterGlobal)(a,i.DiagAPI.instance())}}})),L=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.metrics=void 0,e.metrics=I().MetricsAPI.getInstance()})),R=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NoopTextMapPropagator=void 0,e.NoopTextMapPropagator=class{inject(e,t){}extract(e,t){return e}fields(){return[]}}})),z=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.deleteBaggage=e.setBaggage=e.getActiveBaggage=e.getBaggage=void 0;let t=_(),n=(0,d().createContextKey)(`OpenTelemetry Baggage Key`);function r(e){return e.getValue(n)||void 0}e.getBaggage=r;function i(){return r(t.ContextAPI.getInstance().active())}e.getActiveBaggage=i;function a(e,t){return e.setValue(n,t)}e.setBaggage=a;function o(e){return e.deleteValue(n)}e.deleteBaggage=o})),B=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PropagationAPI=void 0;let t=r(),n=R(),i=h(),a=z(),o=u(),c=s(),l=`propagation`,d=new n.NoopTextMapPropagator;e.PropagationAPI=class e{constructor(){this.createBaggage=o.createBaggage,this.getBaggage=a.getBaggage,this.getActiveBaggage=a.getActiveBaggage,this.setBaggage=a.setBaggage,this.deleteBaggage=a.deleteBaggage}static getInstance(){return this._instance||=new e,this._instance}setGlobalPropagator(e){return(0,t.registerGlobal)(l,e,c.DiagAPI.instance())}inject(e,t,n=i.defaultTextMapSetter){return this._getGlobalPropagator().inject(e,t,n)}extract(e,t,n=i.defaultTextMapGetter){return this._getGlobalPropagator().extract(e,t,n)}fields(){return this._getGlobalPropagator().fields()}disable(){(0,t.unregisterGlobal)(l,c.DiagAPI.instance())}_getGlobalPropagator(){return(0,t.getGlobal)(l)||d}}})),V=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.propagation=void 0,e.propagation=B().PropagationAPI.getInstance()})),H=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TraceAPI=void 0;let t=r(),n=E(),i=S(),a=x(),o=s(),c=`trace`;e.TraceAPI=class e{constructor(){this._proxyTracerProvider=new n.ProxyTracerProvider,this.wrapSpanContext=i.wrapSpanContext,this.isSpanContextValid=i.isSpanContextValid,this.deleteSpan=a.deleteSpan,this.getSpan=a.getSpan,this.getActiveSpan=a.getActiveSpan,this.getSpanContext=a.getSpanContext,this.setSpan=a.setSpan,this.setSpanContext=a.setSpanContext}static getInstance(){return this._instance||=new e,this._instance}setGlobalTracerProvider(e){let n=(0,t.registerGlobal)(c,this._proxyTracerProvider,o.DiagAPI.instance());return n&&this._proxyTracerProvider.setDelegate(e),n}getTracerProvider(){return(0,t.getGlobal)(c)||this._proxyTracerProvider}getTracer(e,t){return this.getTracerProvider().getTracer(e,t)}disable(){(0,t.unregisterGlobal)(c,o.DiagAPI.instance()),this._proxyTracerProvider=new n.ProxyTracerProvider}}})),U=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.trace=void 0,e.trace=H().TraceAPI.getInstance()})),W=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.trace=e.propagation=e.metrics=e.diag=e.context=e.INVALID_SPAN_CONTEXT=e.INVALID_TRACEID=e.INVALID_SPANID=e.isValidSpanId=e.isValidTraceId=e.isSpanContextValid=e.createTraceState=e.TraceFlags=e.SpanStatusCode=e.SpanKind=e.SamplingDecision=e.ProxyTracerProvider=e.ProxyTracer=e.defaultTextMapSetter=e.defaultTextMapGetter=e.ValueType=e.createNoopMeter=e.DiagLogLevel=e.DiagConsoleLogger=e.ROOT_CONTEXT=e.createContextKey=e.baggageEntryMetadataFromString=void 0;var t=u();Object.defineProperty(e,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return t.baggageEntryMetadataFromString}});var n=d();Object.defineProperty(e,"createContextKey",{enumerable:!0,get:function(){return n.createContextKey}}),Object.defineProperty(e,"ROOT_CONTEXT",{enumerable:!0,get:function(){return n.ROOT_CONTEXT}});var r=f();Object.defineProperty(e,"DiagConsoleLogger",{enumerable:!0,get:function(){return r.DiagConsoleLogger}});var i=a();Object.defineProperty(e,"DiagLogLevel",{enumerable:!0,get:function(){return i.DiagLogLevel}});var o=p();Object.defineProperty(e,"createNoopMeter",{enumerable:!0,get:function(){return o.createNoopMeter}});var s=m();Object.defineProperty(e,"ValueType",{enumerable:!0,get:function(){return s.ValueType}});var c=h();Object.defineProperty(e,"defaultTextMapGetter",{enumerable:!0,get:function(){return c.defaultTextMapGetter}}),Object.defineProperty(e,"defaultTextMapSetter",{enumerable:!0,get:function(){return c.defaultTextMapSetter}});var l=w();Object.defineProperty(e,"ProxyTracer",{enumerable:!0,get:function(){return l.ProxyTracer}});var g=E();Object.defineProperty(e,"ProxyTracerProvider",{enumerable:!0,get:function(){return g.ProxyTracerProvider}});var _=D();Object.defineProperty(e,"SamplingDecision",{enumerable:!0,get:function(){return _.SamplingDecision}});var b=O();Object.defineProperty(e,"SpanKind",{enumerable:!0,get:function(){return b.SpanKind}});var x=k();Object.defineProperty(e,"SpanStatusCode",{enumerable:!0,get:function(){return x.SpanStatusCode}});var C=v();Object.defineProperty(e,"TraceFlags",{enumerable:!0,get:function(){return C.TraceFlags}});var T=M();Object.defineProperty(e,"createTraceState",{enumerable:!0,get:function(){return T.createTraceState}});var A=S();Object.defineProperty(e,"isSpanContextValid",{enumerable:!0,get:function(){return A.isSpanContextValid}}),Object.defineProperty(e,"isValidTraceId",{enumerable:!0,get:function(){return A.isValidTraceId}}),Object.defineProperty(e,"isValidSpanId",{enumerable:!0,get:function(){return A.isValidSpanId}});var j=y();Object.defineProperty(e,"INVALID_SPANID",{enumerable:!0,get:function(){return j.INVALID_SPANID}}),Object.defineProperty(e,"INVALID_TRACEID",{enumerable:!0,get:function(){return j.INVALID_TRACEID}}),Object.defineProperty(e,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return j.INVALID_SPAN_CONTEXT}});let F=N();Object.defineProperty(e,"context",{enumerable:!0,get:function(){return F.context}});let I=P();Object.defineProperty(e,"diag",{enumerable:!0,get:function(){return I.diag}});let R=L();Object.defineProperty(e,"metrics",{enumerable:!0,get:function(){return R.metrics}});let z=V();Object.defineProperty(e,"propagation",{enumerable:!0,get:function(){return z.propagation}});let B=U();Object.defineProperty(e,"trace",{enumerable:!0,get:function(){return B.trace}}),e.default={context:F.context,diag:I.diag,metrics:R.metrics,propagation:z.propagation,trace:B.trace}}));export{W as t};
|