Bumps the vercel-agent-stack group with 3 updates in the / directory: @vercel/connect, ai and eve.
Updates @vercel/connect from 2.5.6 to 2.8.0
Commits
- See full diff in compare view
Updates ai from 7.0.154 to 7.0.162
Release notes
Sourced from ai's releases.
ai@7.0.162
Patch Changes
- 857ca45: Restore server-defined tool metadata, dynamic status, and title when validating tool approval continuations so approval policies receive the same tool definition fields as new model calls.
- 4d6d830: Support a single telemetry operation for durable
WorkflowAgentruns, including the prompt, final output, steps, and tools. Events recorded in the workflow are reported on completion or suspension with their original timestamps. For OpenTelemetry, pass the sameOpenTelemetryIdGeneratorinstance as the tracer provider'sidGeneratorandsamplerand asnew OpenTelemetry({ durable }). This explicit bridge carries parent trace context and sampling across steps, reports model spans live with provider requests nested beneath them, and reconstructs the enclosinginvoke_agenttree when the run completes. Without the bridge, existing live per-model tracing is preserved. Add typed experimental durable context hooks for telemetry integrations; remove reliance on process-global ID-generator detection.- Updated dependencies [fa15312]
Changelog
Sourced from ai's changelog.
7.0.162
Patch Changes
- 857ca45: Restore server-defined tool metadata, dynamic status, and title when validating tool approval continuations so approval policies receive the same tool definition fields as new model calls.
- 4d6d830: Support a single telemetry operation for durable
WorkflowAgentruns, including the prompt, final output, steps, and tools. Events recorded in the workflow are reported on completion or suspension with their original timestamps. For OpenTelemetry, pass the sameOpenTelemetryIdGeneratorinstance as the tracer provider'sidGeneratorandsamplerand asnew OpenTelemetry({ durable }). This explicit bridge carries parent trace context and sampling across steps, reports model spans live with provider requests nested beneath them, and reconstructs the enclosinginvoke_agenttree when the run completes. Without the bridge, existing live per-model tracing is preserved. Add typed experimental durable context hooks for telemetry integrations; remove reliance on process-global ID-generator detection.- Updated dependencies [fa15312]
7.0.161
Patch Changes
- 51ca5b7: fix(ai): support cross-realm Uint8Array and ArrayBuffer in DefaultGeneratedFile
- 51ca5b7: fix(ai): handle cross-realm Uint8Array and ArrayBuffer in data-content and file-part-data
- 51ca5b7: fix(ai): support cross-realm binary buffers and circular structures in cloneModelMessages
- Updated dependencies [51ca5b7]
- Updated dependencies [dc6f1c3]
- Updated dependencies [4ae6986]
7.0.160
Patch Changes
a71172d: fix(ai): clarify inverted smoothStream prefix error message
cf27969: add steering.queue() to send a message once the current task is done
17b6923: fix(ai): validate streamed data parts against
dataPartSchemas
processUIMessageStreamlooked updataPartSchemasby the full chunk type (data-weather) instead of the bare part name (weather), souseChat/Chatnever validated streamed data parts. Invalid data parts now raise aTypeValidationError.Updated dependencies [2099d45]
Updated dependencies [d05ff62]
@ai-sdk/gateway@4.0.1337.0.159
Patch Changes
- Updated dependencies [cbc9ac0]
@ai-sdk/gateway@4.0.1327.0.158
Patch Changes
- 8ba3a5c: fix(ai): repair partial JSON that ends with a minus sign at the start of an array
- 5c247e9: feat(sandbox): add
stat,listDirectory, anddeleteFiletoExperimental_SandboxSession, and specify that relative paths in every method resolve against the directoryrunandspawnstart in
... (truncated)
Commits
2feaeecVersion Packages (#24410)857ca45fix(ai): restore server tool metadata for approval continuations (#24422)4d6d830feat(workflow): trace durable agent runs as a single operation (#24408)7498799Version Packages (#24380)51ca5b7fix(ai): preserve cross-realm binary data and message cycles (#24370)563b3ffVersion Packages (#24294)cf27969feat(ai): add steering.queue() to send a message once the current task is don...a71172dfix(ai): clarify inverted smoothStream prefix error message (#24301)17b6923fix(ai): validate streamed data parts against dataPartSchemas (#24298)f3e2cc2Version Packages (#24264)- Additional commits viewable in compare view
Updates eve from 0.82.0 to 0.91.0
Release notes
Sourced from eve's releases.
eve@0.91.0
Released 2026-10-30 · Compare with 0.90.0
Breaking Changes
session.clear()now cancels a running turn and every working task before it clears history, instead of waiting for the turn to finish. Previously a clear sent while a turn waited on tasks didn't run until the tasks finished, and never ran if one hung. Tasks a clear stops end withtask.endedoutcome: "cancelled", and no task result the cleared conversation hadn't read reaches the next turn. (#5619)Features
- Hooks can start a session's next turn with
ctx.continue()fromturn.settledand*handlers. Other handlers don't receive it. It continues a completed turn, or a turn the same hook cancelled, and hooks that continue one turn share its next turn. It takesMessageContentwithsession.send()'scontextand an optionalauth, returns{ queued }synchronously, and yields to any other turn, cancel, clear, or reset that comes first.delivery.admittedrecordssource: { channel, hook }. (#5555)Bug Fixes
- The
bashtool now keeps only the last 50 KiB of each output stream while a command runs, so a verbose command no longer holds its whole stdout and stderr in memory. Very large output no longer fails withCannot create a string longer than 0x1fffffe8 characters. Output past the limit is noted asearlier output omitted, as it already was for commands left running. Thanks@mrudfor reporting this in #5651. (#5653)- HTTP Basic auth now compares the username and password in constant time on every request, so response timing no longer reveals whether the username matched. (#5521)
- Anthropic agents no longer fail with a 400 when the model calls a server tool, such as
web_searchor programmaticcode_execution, beside a local tool. Anthropic runs that server tool after the local results arrive and returns its result at the start of the next response, so the next request must end on those local results. Until that result arrives, eve now holds a message that steers the turn for one model step, holds changed catalog or skill announcements, sends an empty-response retry's note as a system instruction, and keeps compaction from separating the deferred result from its call or adding a resumption message after the local results. When the result can no longer arrive, because the turn was cancelled, failed, or retried, or a new turn starts, eve answers the server call as one whose outcome is unknown, so the model reads the new message right away. Thanks@jam3gwfor reporting this in #4890. (#4891)- A Discord
display: "select"request with an optionidlonger than 100 characters now fails with a clear error instead of posting a select whose truncated value came back as an id the request never offered, which dropped or mismatched the user's choice. (#5533)- Sessions now fail controls their eve version does not support, so the control's delivery settles
failedinstead of never settling. (#5622)- A provider tool result that arrives in the response after its call, such as an Anthropic tool search the model started beside a local tool, now settles the call the earlier step introduced. Previously eve published that call a second time, so with the session-event checker on (
eve dev,eve eval, orEVE_CHECK_SESSION_EVENTS=1) the step failed withintroduced-twice, and without it the session log recorded one call introduced twice. (#5648)- A turn cancellation raised while the model is being resolved now cancels the turn instead of failing the session with
MODEL_SELECTION_FAILED, even when it arrives before the turn's abort signal fires. Thanks@burn2deletefor reporting this and proposing the fix in #4273. (#4274)- Session steps now return only the session projection rows they changed, instead of every row of each changed table, so a step's stored output no longer grows with the calls and parts the turn already settled. Thanks
@mrudfor reporting this in #5635. (#5642)- Slack approval and question cards now show their prompt, tool input, and answer as literal text. A model-written
<!channel>or<url|label>in a prompt or tool input no longer notifies the channel or hides a link's real destination from the approver.Card(...)rendering is unchanged. (#5517)- A connection in
agent/connections/*.tsnow keeps anapprovalwritten as{ request, response, prompt }, so its tools ask for approval and run itsresponsepolicy. Previously only the function form was kept and the object form was dropped, so the connection's tools ran without asking anyone. A malformedapprovalnow fails resolution instead of being ignored. (#5632)- Teams approval and question cards now show the prompt, tool input, and answer as literal text. A model-written
[docs](https://evil.example)no longer renders as a link whose label hides its destination. The cards useRichTextBlocktext runs, and the message text is sent as plain text. (#5529)- Teams inbound verification now accepts only RS256-signed Bot Connector tokens, as Microsoft documents, instead of using the algorithm named in the token header. (#5530)
ctx.turn.inputkeeps the turn's input after the turn pauses for an approval, a question, a sign-in, or a budget answer. Dynamic values no longer see empty input after the pause, includingauto()if its per-turn memo was invalidated. (#5628)web_fetchnow rejects atimeoutof zero or less as invalid tool input, instead of throwing an opaqueRangeErroror aborting the request immediately. (#5532)evesetup now opens browser URLs on Windows throughrundll32instead ofcmd /c start, so&or|in a URL is no longer interpreted by the shell. (#5522)eve@0.90.0
Released 2026-10-29 · Compare with 0.89.0
Breaking Changes
GET /eve/v1/infonow serves only operator principals and returns 403 to end users. The route answersserviceandruntimeprincipals and callers a configuredlocalDev()admits, and returns403with codeinfo_forbiddento everyone else. To give another credential access, returnprincipalType: "service"from itsAuthFn, orallowAgentInfo: truefrom anEveAuthFn;allowAgentInfo: falsedenies a caller that would otherwise qualify. The payload stays at version 5 with every field, andclient.info()now ignores unknown fields and reads unknown enum strings as"unrecognized", so handle that value when switching on fields such asmodeorsourceKind.kinddiscriminants stay closed, so a new variant needs a version bump. (#5542)- Tool-stub grants on Vercel OIDC subjects move from
vercelOidcto the neweveVercelOidchelper ineve/channels/eve.
... (truncated)
Changelog
Sourced from eve's changelog.
0.91.0
Released 2026-10-30 · Compare with 0.90.0
Breaking Changes
session.clear()now cancels a running turn and every working task before it clears history, instead of waiting for the turn to finish. Previously a clear sent while a turn waited on tasks didn't run until the tasks finished, and never ran if one hung. Tasks a clear stops end withtask.endedoutcome: "cancelled", and no task result the cleared conversation hadn't read reaches the next turn. (#5619)Features
- Hooks can start a session's next turn with
ctx.continue()fromturn.settledand*handlers. Other handlers don't receive it. It continues a completed turn, or a turn the same hook cancelled, and hooks that continue one turn share its next turn. It takesMessageContentwithsession.send()'scontextand an optionalauth, returns{ queued }synchronously, and yields to any other turn, cancel, clear, or reset that comes first.delivery.admittedrecordssource: { channel, hook }. (#5555)Bug Fixes
- The
bashtool now keeps only the last 50 KiB of each output stream while a command runs, so a verbose command no longer holds its whole stdout and stderr in memory. Very large output no longer fails withCannot create a string longer than 0x1fffffe8 characters. Output past the limit is noted asearlier output omitted, as it already was for commands left running. Thanks@mrudfor reporting this in #5651. (#5653)- HTTP Basic auth now compares the username and password in constant time on every request, so response timing no longer reveals whether the username matched. (#5521)
- Anthropic agents no longer fail with a 400 when the model calls a server tool, such as
web_searchor programmaticcode_execution, beside a local tool. Anthropic runs that server tool after the local results arrive and returns its result at the start of the next response, so the next request must end on those local results. Until that result arrives, eve now holds a message that steers the turn for one model step, holds changed catalog or skill announcements, sends an empty-response retry's note as a system instruction, and keeps compaction from separating the deferred result from its call or adding a resumption message after the local results. When the result can no longer arrive, because the turn was cancelled, failed, or retried, or a new turn starts, eve answers the server call as one whose outcome is unknown, so the model reads the new message right away. Thanks@jam3gwfor reporting this in #4890. (#4891)- A Discord
display: "select"request with an optionidlonger than 100 characters now fails with a clear error instead of posting a select whose truncated value came back as an id the request never offered, which dropped or mismatched the user's choice. (#5533)- Sessions now fail controls their eve version does not support, so the control's delivery settles
failedinstead of never settling. (#5622)- A provider tool result that arrives in the response after its call, such as an Anthropic tool search the model started beside a local tool, now settles the call the earlier step introduced. Previously eve published that call a second time, so with the session-event checker on (
eve dev,eve eval, orEVE_CHECK_SESSION_EVENTS=1) the step failed withintroduced-twice, and without it the session log recorded one call introduced twice. (#5648)- A turn cancellation raised while the model is being resolved now cancels the turn instead of failing the session with
MODEL_SELECTION_FAILED, even when it arrives before the turn's abort signal fires. Thanks@burn2deletefor reporting this and proposing the fix in #4273. (#4274)- Session steps now return only the session projection rows they changed, instead of every row of each changed table, so a step's stored output no longer grows with the calls and parts the turn already settled. Thanks
@mrudfor reporting this in #5635. (#5642)- Slack approval and question cards now show their prompt, tool input, and answer as literal text. A model-written
<!channel>or<url|label>in a prompt or tool input no longer notifies the channel or hides a link's real destination from the approver.Card(...)rendering is unchanged. (#5517)- A connection in
agent/connections/*.tsnow keeps anapprovalwritten as{ request, response, prompt }, so its tools ask for approval and run itsresponsepolicy. Previously only the function form was kept and the object form was dropped, so the connection's tools ran without asking anyone. A malformedapprovalnow fails resolution instead of being ignored. (#5632)- Teams approval and question cards now show the prompt, tool input, and answer as literal text. A model-written
[docs](https://evil.example)no longer renders as a link whose label hides its destination. The cards useRichTextBlocktext runs, and the message text is sent as plain text. (#5529)- Teams inbound verification now accepts only RS256-signed Bot Connector tokens, as Microsoft documents, instead of using the algorithm named in the token header. (#5530)
ctx.turn.inputkeeps the turn's input after the turn pauses for an approval, a question, a sign-in, or a budget answer. Dynamic values no longer see empty input after the pause, includingauto()if its per-turn memo was invalidated. (#5628)web_fetchnow rejects atimeoutof zero or less as invalid tool input, instead of throwing an opaqueRangeErroror aborting the request immediately. (#5532)evesetup now opens browser URLs on Windows throughrundll32instead ofcmd /c start, so&or|in a URL is no longer interpreted by the shell. (#5522)0.90.0
Released 2026-10-29 · Compare with 0.89.0
Breaking Changes
GET /eve/v1/infonow serves only operator principals and returns 403 to end users.
... (truncated)
Commits
523b5d7Version Packages (#5625)02113a3fix(eve): keep requests ending on local results while an Anthropic server too...32cef20fix(eve): propagate turn cancellation raised during model resolution (#4274)c986b69fix(eve): diff session projection tables row by row (#5635) (#5642)86b68fbfix(eve): keep only the tail of bash output while a command runs (#5653)423b91ctest(eve): pin session state deltas carrying whole projection tables (#5635) ...56e6a7dtest(eve): pin bash buffering whole command output before truncation (#5651) ...6c620dffix(eve): settle a provider result that arrives a step late (#5645) (#5648)d8368c0test(eve): pin a late provider result introduced twice (#5645) (#5647)e44b89cfix(discord): refuse select option ids Discord would truncate (#5533)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions