@ai-sdk/provider-utils 5.0.0-beta.1 → 5.0.0-beta.10
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 +142 -0
- package/dist/index.d.mts +276 -76
- package/dist/index.d.ts +276 -76
- package/dist/index.js +114 -28
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +99 -16
- package/dist/index.mjs.map +1 -1
- package/dist/test/index.js +3 -3
- package/package.json +2 -4
- package/src/convert-image-model-file-to-data-uri.ts +3 -3
- package/src/create-tool-name-mapping.ts +5 -21
- package/src/index.ts +7 -0
- package/src/inject-json-instruction.ts +5 -5
- package/src/is-provider-reference.ts +18 -0
- package/src/map-reasoning-to-provider.ts +105 -0
- package/src/provider-tool-factory.ts +43 -32
- package/src/resolve-provider-reference.ts +27 -0
- package/src/types/assistant-model-message.ts +4 -0
- package/src/types/content-part.ts +90 -4
- package/src/types/context.ts +4 -0
- package/src/types/execute-tool.ts +24 -4
- package/src/types/index.ts +10 -9
- package/src/types/infer-tool-context.ts +7 -0
- package/src/types/infer-tool-input.ts +7 -0
- package/src/types/infer-tool-output.ts +7 -0
- package/src/types/infer-tool-set-context.ts +17 -0
- package/src/types/provider-options.ts +2 -2
- package/src/types/provider-reference.ts +10 -0
- package/src/types/tool-set.ts +22 -0
- package/src/types/tool.ts +57 -35
- package/src/types/union-to-intersection.ts +17 -0
- package/src/validate-download-url.ts +7 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,147 @@
|
|
|
1
1
|
# @ai-sdk/provider-utils
|
|
2
2
|
|
|
3
|
+
## 5.0.0-beta.10
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- c29a26f: feat(provider): add support for provider references and uploading files as supported per provider
|
|
8
|
+
- Updated dependencies [c29a26f]
|
|
9
|
+
- @ai-sdk/provider@4.0.0-beta.6
|
|
10
|
+
|
|
11
|
+
## 5.0.0-beta.9
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- 2e17091: fix(types): move shared tool set utility types into provider-utils
|
|
16
|
+
|
|
17
|
+
Moved `ToolSet`, `InferToolSetContext`, and `UnionToIntersection` into `@ai-sdk/provider-utils` and updated `ai` internals to import them directly from there. This keeps the shared tool typing utilities colocated with the core tool type definitions.
|
|
18
|
+
|
|
19
|
+
## 5.0.0-beta.8
|
|
20
|
+
|
|
21
|
+
### Major Changes
|
|
22
|
+
|
|
23
|
+
- 986c6fd: feat(ai): change type of experimental_context from unknown to generic
|
|
24
|
+
- 493295c: Remove the deprecated `ToolCallOptions` export.
|
|
25
|
+
|
|
26
|
+
Use `ToolExecutionOptions` instead.
|
|
27
|
+
|
|
28
|
+
## 5.0.0-beta.7
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- 1f509d4: fix(ai): force template check on 'kind' param
|
|
33
|
+
- Updated dependencies [1f509d4]
|
|
34
|
+
- @ai-sdk/provider@4.0.0-beta.5
|
|
35
|
+
|
|
36
|
+
## 5.0.0-beta.6
|
|
37
|
+
|
|
38
|
+
### Patch Changes
|
|
39
|
+
|
|
40
|
+
- 3887c70: feat(provider): add new top-level reasoning parameter to spec and support it in `generateText` and `streamText`
|
|
41
|
+
- Updated dependencies [3887c70]
|
|
42
|
+
- @ai-sdk/provider@4.0.0-beta.4
|
|
43
|
+
|
|
44
|
+
## 5.0.0-beta.5
|
|
45
|
+
|
|
46
|
+
### Major Changes
|
|
47
|
+
|
|
48
|
+
- 776b617: feat(provider): adding new 'custom' content type
|
|
49
|
+
|
|
50
|
+
### Patch Changes
|
|
51
|
+
|
|
52
|
+
- Updated dependencies [776b617]
|
|
53
|
+
- @ai-sdk/provider@4.0.0-beta.3
|
|
54
|
+
|
|
55
|
+
## 5.0.0-beta.4
|
|
56
|
+
|
|
57
|
+
### Major Changes
|
|
58
|
+
|
|
59
|
+
- 61753c3: ### `@ai-sdk/openai`: remove redundant `name` argument from `openai.tools.customTool()`
|
|
60
|
+
|
|
61
|
+
`openai.tools.customTool()` no longer accepts a `name` field. the tool name is now derived from the sdk tool key (the object key in the `tools` object).
|
|
62
|
+
|
|
63
|
+
migration: remove the `name` property from `customTool()` calls. the object key is now used as the tool name sent to the openai api.
|
|
64
|
+
|
|
65
|
+
before:
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
tools: {
|
|
69
|
+
write_sql: openai.tools.customTool({
|
|
70
|
+
name: 'write_sql',
|
|
71
|
+
description: '...',
|
|
72
|
+
}),
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
after:
|
|
77
|
+
|
|
78
|
+
```ts
|
|
79
|
+
tools: {
|
|
80
|
+
write_sql: openai.tools.customTool({
|
|
81
|
+
description: '...',
|
|
82
|
+
}),
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### `@ai-sdk/provider-utils`: `createToolNameMapping()` no longer accepts the `resolveProviderToolName` parameter
|
|
87
|
+
|
|
88
|
+
before: tool name can be set dynamically
|
|
89
|
+
|
|
90
|
+
```ts
|
|
91
|
+
const toolNameMapping = createToolNameMapping({
|
|
92
|
+
tools,
|
|
93
|
+
providerToolNames: {
|
|
94
|
+
"openai.code_interpreter": "code_interpreter",
|
|
95
|
+
"openai.file_search": "file_search",
|
|
96
|
+
"openai.image_generation": "image_generation",
|
|
97
|
+
"openai.local_shell": "local_shell",
|
|
98
|
+
"openai.shell": "shell",
|
|
99
|
+
"openai.web_search": "web_search",
|
|
100
|
+
"openai.web_search_preview": "web_search_preview",
|
|
101
|
+
"openai.mcp": "mcp",
|
|
102
|
+
"openai.apply_patch": "apply_patch",
|
|
103
|
+
},
|
|
104
|
+
resolveProviderToolName: (tool) =>
|
|
105
|
+
tool.id === "openai.custom"
|
|
106
|
+
? (tool.args as { name?: string }).name
|
|
107
|
+
: undefined,
|
|
108
|
+
});
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
after: tool name is static based on `tools` keys
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
const toolNameMapping = createToolNameMapping({
|
|
115
|
+
tools,
|
|
116
|
+
providerToolNames: {
|
|
117
|
+
'openai.code_interpreter': 'code_interpreter',
|
|
118
|
+
'openai.file_search': 'file_search',
|
|
119
|
+
'openai.image_generation': 'image_generation',
|
|
120
|
+
'openai.local_shell': 'local_shell',
|
|
121
|
+
'openai.shell': 'shell',
|
|
122
|
+
'openai.web_search': 'web_search',
|
|
123
|
+
'openai.web_search_preview': 'web_search_preview',
|
|
124
|
+
'openai.mcp': 'mcp',
|
|
125
|
+
'openai.apply_patch': 'apply_patch',
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## 5.0.0-beta.3
|
|
131
|
+
|
|
132
|
+
### Patch Changes
|
|
133
|
+
|
|
134
|
+
- f7d4f01: feat(provider): add support for `reasoning-file` type for files that are part of reasoning
|
|
135
|
+
- Updated dependencies [f7d4f01]
|
|
136
|
+
- @ai-sdk/provider@4.0.0-beta.2
|
|
137
|
+
|
|
138
|
+
## 5.0.0-beta.2
|
|
139
|
+
|
|
140
|
+
### Patch Changes
|
|
141
|
+
|
|
142
|
+
- Updated dependencies [5c2a5a2]
|
|
143
|
+
- @ai-sdk/provider@4.0.0-beta.1
|
|
144
|
+
|
|
3
145
|
## 5.0.0-beta.1
|
|
4
146
|
|
|
5
147
|
### Patch Changes
|