ai 7.0.0-beta.111 → 7.0.0-beta.112

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/dist/index.d.ts +2640 -2457
  3. package/dist/index.js +1136 -640
  4. package/dist/index.js.map +1 -1
  5. package/dist/internal/index.d.ts +324 -262
  6. package/dist/internal/index.js +23 -20
  7. package/dist/internal/index.js.map +1 -1
  8. package/docs/02-foundations/03-prompts.mdx +13 -10
  9. package/docs/03-agents/01-overview.mdx +16 -0
  10. package/docs/03-agents/02-building-agents.mdx +78 -14
  11. package/docs/03-agents/06-subagents.mdx +3 -1
  12. package/docs/03-agents/07-workflow-agent.mdx +130 -3
  13. package/docs/03-agents/index.mdx +4 -2
  14. package/docs/03-ai-sdk-core/05-generating-text.mdx +53 -23
  15. package/docs/03-ai-sdk-core/15-tools-and-tool-calling.mdx +154 -115
  16. package/docs/03-ai-sdk-core/17-runtime-and-tool-context.mdx +215 -0
  17. package/docs/03-ai-sdk-core/60-telemetry.mdx +115 -27
  18. package/docs/03-ai-sdk-core/65-event-listeners.mdx +176 -153
  19. package/docs/03-ai-sdk-core/index.mdx +6 -0
  20. package/docs/04-ai-sdk-ui/03-chatbot-tool-usage.mdx +46 -4
  21. package/docs/04-ai-sdk-ui/50-stream-protocol.mdx +43 -0
  22. package/docs/07-reference/01-ai-sdk-core/01-generate-text.mdx +172 -128
  23. package/docs/07-reference/01-ai-sdk-core/02-stream-text.mdx +172 -110
  24. package/docs/07-reference/01-ai-sdk-core/05-embed.mdx +4 -16
  25. package/docs/07-reference/01-ai-sdk-core/06-embed-many.mdx +4 -16
  26. package/docs/07-reference/01-ai-sdk-core/06-rerank.mdx +2 -2
  27. package/docs/07-reference/01-ai-sdk-core/15-agent.mdx +4 -4
  28. package/docs/07-reference/01-ai-sdk-core/16-tool-loop-agent.mdx +92 -126
  29. package/docs/07-reference/01-ai-sdk-core/17-create-agent-ui-stream.mdx +1 -1
  30. package/docs/07-reference/01-ai-sdk-core/18-create-agent-ui-stream-response.mdx +1 -1
  31. package/docs/07-reference/01-ai-sdk-core/18-pipe-agent-ui-stream-to-response.mdx +1 -1
  32. package/docs/07-reference/01-ai-sdk-core/20-tool.mdx +12 -1
  33. package/docs/07-reference/01-ai-sdk-core/22-dynamic-tool.mdx +1 -1
  34. package/docs/07-reference/01-ai-sdk-core/23-create-mcp-client.mdx +14 -1
  35. package/docs/07-reference/01-ai-sdk-core/29-filter-active-tools.mdx +14 -2
  36. package/docs/07-reference/01-ai-sdk-core/30-model-message.mdx +5 -2
  37. package/docs/07-reference/02-ai-sdk-ui/31-convert-to-model-messages.mdx +9 -0
  38. package/docs/07-reference/03-ai-sdk-rsc/01-stream-ui.mdx +7 -0
  39. package/docs/07-reference/04-ai-sdk-workflow/01-workflow-agent.mdx +48 -29
  40. package/docs/08-migration-guides/23-migration-guide-7-0.mdx +99 -0
  41. package/package.json +5 -4
  42. package/src/agent/agent.ts +10 -10
  43. package/src/agent/create-agent-ui-stream-response.ts +5 -4
  44. package/src/agent/create-agent-ui-stream.ts +5 -4
  45. package/src/agent/index.ts +0 -4
  46. package/src/agent/pipe-agent-ui-stream-to-response.ts +5 -4
  47. package/src/agent/tool-loop-agent-settings.ts +28 -41
  48. package/src/agent/tool-loop-agent.ts +23 -10
  49. package/src/embed/embed-events.ts +8 -44
  50. package/src/embed/embed-many.ts +14 -34
  51. package/src/embed/embed.ts +11 -23
  52. package/src/generate-object/generate-object.ts +20 -24
  53. package/src/generate-object/index.ts +4 -4
  54. package/src/generate-object/stream-object.ts +26 -27
  55. package/src/generate-object/structured-output-events.ts +4 -25
  56. package/src/generate-text/active-tools.ts +12 -0
  57. package/src/generate-text/content-part.ts +5 -3
  58. package/src/generate-text/create-execute-tools-transformation.ts +80 -38
  59. package/src/generate-text/execute-tool-call.ts +31 -37
  60. package/src/generate-text/filter-active-tools.ts +38 -0
  61. package/src/generate-text/{core-events.ts → generate-text-events.ts} +108 -113
  62. package/src/generate-text/generate-text.ts +214 -167
  63. package/src/generate-text/index.ts +29 -14
  64. package/src/generate-text/language-model-events.ts +79 -0
  65. package/src/generate-text/prepare-step.ts +2 -1
  66. package/src/generate-text/resolve-tool-approval.ts +134 -0
  67. package/src/generate-text/restricted-telemetry-dispatcher.ts +247 -0
  68. package/src/generate-text/step-result.ts +0 -9
  69. package/src/generate-text/stream-language-model-call.ts +245 -35
  70. package/src/generate-text/stream-text-result.ts +5 -0
  71. package/src/generate-text/stream-text.ts +168 -215
  72. package/src/generate-text/to-response-messages.ts +34 -2
  73. package/src/generate-text/tool-approval-configuration.ts +128 -0
  74. package/src/generate-text/tool-approval-request-output.ts +7 -0
  75. package/src/generate-text/tool-approval-response-output.ts +35 -0
  76. package/src/generate-text/tool-execution-events.ts +120 -65
  77. package/src/index.ts +1 -0
  78. package/src/prompt/convert-to-language-model-prompt.ts +1 -1
  79. package/src/prompt/prompt.ts +9 -0
  80. package/src/prompt/standardize-prompt.ts +38 -27
  81. package/src/rerank/index.ts +3 -3
  82. package/src/rerank/rerank-events.ts +8 -44
  83. package/src/rerank/rerank.ts +13 -33
  84. package/src/telemetry/{create-unified-telemetry.ts → create-telemetry-dispatcher.ts} +71 -24
  85. package/src/telemetry/index.ts +1 -1
  86. package/src/telemetry/telemetry.ts +92 -36
  87. package/src/ui/convert-to-model-messages.ts +21 -1
  88. package/src/ui/process-ui-message-stream.ts +48 -1
  89. package/src/ui/ui-messages.ts +10 -0
  90. package/src/ui/validate-ui-messages.ts +10 -0
  91. package/src/ui-message-stream/ui-message-chunks.ts +18 -0
  92. package/src/util/merge-objects.ts +5 -0
  93. package/src/generate-text/filter-active-tool.ts +0 -41
  94. package/src/generate-text/is-tool-approval-needed.ts +0 -66
  95. package/src/generate-text/tool-needs-approval-configuration.ts +0 -21
package/CHANGELOG.md CHANGED
@@ -1,5 +1,55 @@
1
1
  # ai
2
2
 
3
+ ## 7.0.0-beta.112
4
+
5
+ ### Major Changes
6
+
7
+ - cf93359: feat(ai): remove/refactor event data sent via callbacks
8
+ - 116c89f: feat(ai): remove telemetry data from the user-facing event data
9
+ - 4e095b0: fix(ai): reject system messages in messages or prompt by default (opt-in)
10
+
11
+ ### Patch Changes
12
+
13
+ - 5f3749c: refactoring: rename toolNeedsApproval to toolApproval
14
+ - 0a51f7d: fix(ai): enforce `callOptionsSchema` at runtime in `ToolLoopAgent`
15
+
16
+ `ToolLoopAgentSettings.callOptionsSchema` was declared and documented as a runtime schema for `options`, but `tool-loop-agent.ts` never invoked it. Any invariant a developer encoded in the schema was silently bypassed at runtime, and unchecked `options` flowed straight into `prepareCall` and any `instructions` template that interpolated them.
17
+
18
+ `ToolLoopAgent.prepareCall` now validates caller-supplied `options` against `callOptionsSchema` (when set) via `safeValidateTypes`, throwing `InvalidArgumentError` on failure before forwarding to `prepareCall` / `generateText` / `streamText`.
19
+
20
+ - 71d3022: fix(ai): unify generate text event callbacks
21
+ - 67df0a0: feat: add sensitiveContext property to Tool
22
+ - 4181cfe: fix(ai): harden `getMediaTypeFromUrl` against prototype-property collisions
23
+
24
+ `getMediaTypeFromUrl` (used to infer media types for `file-url` / `image-url` parts) used `ext in URL_EXTENSION_TO_MEDIA_TYPE` against a plain object literal. A URL ending in `.constructor` therefore resolved through the prototype chain and returned the `Object` constructor function, violating the helper's `: string` return type and forwarding a non-string value to provider adapters.
25
+
26
+ Switch to `Object.hasOwn(...)` so attacker-controlled extensions like `.constructor` cannot resolve to inherited `Object.prototype` keys.
27
+
28
+ - 51ce232: feat(ai): add sensitiveRuntimeContext option
29
+ - befb78c: refactoring: remove real-time delays in unit tests
30
+ - 29d8cf4: feat(ai): rename the core-event types
31
+ - 58a2ad7: fix: more precise default message for tool execution denial
32
+ - 37d69b2: feat(ai): access runtime context in tool approval functions
33
+ - 1043274: feat(ai): add a ModelCall start/end event
34
+ - 7f59f04: feat(ai): add approval reason to automatic tool approvals
35
+ - 7677c1e: feat(ai): allow tool approval functions to return undefined
36
+ - f58f9bc: fix(ai): remove stopWhen from onStart event
37
+ - e1bfb9c: feat(ai): remove unnecessary data from events
38
+ - e87d71b: feat(ai): support automatic tool approval in ui messages
39
+ - 9d486aa: feat(ai): generic tool approval function
40
+ - 9b0bc8a: fix(mcp): prevent prototype pollution by using secureJsonParse
41
+ - fc92055: feat(ai): automatic tool approval
42
+ - Updated dependencies [785fe16]
43
+ - Updated dependencies [67df0a0]
44
+ - Updated dependencies [befb78c]
45
+ - Updated dependencies [0458559]
46
+ - Updated dependencies [5852c0a]
47
+ - Updated dependencies [baa5f20]
48
+ - Updated dependencies [fc92055]
49
+ - Updated dependencies [f9acbc0]
50
+ - @ai-sdk/provider-utils@5.0.0-beta.27
51
+ - @ai-sdk/gateway@4.0.0-beta.63
52
+
3
53
  ## 7.0.0-beta.111
4
54
 
5
55
  ### Major Changes