@tanstack/openai-base 0.9.14 → 0.10.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/dist/esm/adapters/chat-completions-text.js +2 -1
- package/dist/esm/adapters/chat-completions-text.js.map +1 -1
- package/dist/esm/adapters/responses-text.d.ts +1 -1
- package/dist/esm/adapters/responses-text.js +26 -3
- package/dist/esm/adapters/responses-text.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/tools/apply-patch-tool.js +3 -2
- package/dist/esm/tools/apply-patch-tool.js.map +1 -1
- package/dist/esm/tools/code-interpreter-tool.js +4 -3
- package/dist/esm/tools/code-interpreter-tool.js.map +1 -1
- package/dist/esm/tools/computer-use-tool.js +4 -3
- package/dist/esm/tools/computer-use-tool.js.map +1 -1
- package/dist/esm/tools/custom-tool.js +4 -3
- package/dist/esm/tools/custom-tool.js.map +1 -1
- package/dist/esm/tools/file-search-tool.js +4 -3
- package/dist/esm/tools/file-search-tool.js.map +1 -1
- package/dist/esm/tools/image-generation-tool.d.ts +2 -4
- package/dist/esm/tools/image-generation-tool.js +6 -7
- package/dist/esm/tools/image-generation-tool.js.map +1 -1
- package/dist/esm/tools/index.js +14 -0
- package/dist/esm/tools/local-shell-tool.js +3 -2
- package/dist/esm/tools/local-shell-tool.js.map +1 -1
- package/dist/esm/tools/mcp-tool.js +7 -6
- package/dist/esm/tools/mcp-tool.js.map +1 -1
- package/dist/esm/tools/openai-provider-tool.d.ts +20 -0
- package/dist/esm/tools/openai-provider-tool.js +49 -0
- package/dist/esm/tools/openai-provider-tool.js.map +1 -0
- package/dist/esm/tools/shell-tool.js +4 -3
- package/dist/esm/tools/shell-tool.js.map +1 -1
- package/dist/esm/tools/tool-converter.js +7 -18
- package/dist/esm/tools/tool-converter.js.map +1 -1
- package/dist/esm/tools/web-search-preview-tool.d.ts +1 -2
- package/dist/esm/tools/web-search-preview-tool.js +5 -5
- package/dist/esm/tools/web-search-preview-tool.js.map +1 -1
- package/dist/esm/tools/web-search-tool.d.ts +2 -4
- package/dist/esm/tools/web-search-tool.js +6 -7
- package/dist/esm/tools/web-search-tool.js.map +1 -1
- package/package.json +3 -3
- package/src/adapters/chat-completions-text.ts +11 -0
- package/src/adapters/responses-text.ts +86 -7
- package/src/tools/apply-patch-tool.ts +9 -5
- package/src/tools/code-interpreter-tool.ts +17 -8
- package/src/tools/computer-use-tool.ts +14 -7
- package/src/tools/custom-tool.ts +14 -7
- package/src/tools/file-search-tool.ts +14 -7
- package/src/tools/image-generation-tool.ts +19 -11
- package/src/tools/local-shell-tool.ts +9 -5
- package/src/tools/mcp-tool.ts +19 -9
- package/src/tools/openai-provider-tool.ts +72 -0
- package/src/tools/shell-tool.ts +17 -9
- package/src/tools/tool-converter.ts +28 -43
- package/src/tools/web-search-preview-tool.ts +17 -8
- package/src/tools/web-search-tool.ts +18 -10
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getOpenAIProviderToolMetadata,
|
|
3
|
+
openAIProviderTool,
|
|
4
|
+
} from './openai-provider-tool'
|
|
1
5
|
import type { WebSearchPreviewTool as WebSearchPreviewToolConfig } from 'openai/resources/responses/responses'
|
|
2
6
|
import type { Tool } from '@tanstack/ai'
|
|
3
7
|
|
|
@@ -9,13 +13,15 @@ export type WebSearchPreviewTool = WebSearchPreviewToolConfig
|
|
|
9
13
|
/**
|
|
10
14
|
* Converts a standard Tool to OpenAI WebSearchPreviewTool format. Force the
|
|
11
15
|
* literal `type: 'web_search_preview'` instead of trusting `metadata.type`,
|
|
12
|
-
*
|
|
13
|
-
* malformed payload while the dispatcher already routed by `tool.name`.
|
|
16
|
+
* so a missing or wrong metadata type cannot produce a malformed payload.
|
|
14
17
|
*/
|
|
15
18
|
export function convertWebSearchPreviewToolToAdapterFormat(
|
|
16
19
|
tool: Tool,
|
|
17
20
|
): WebSearchPreviewToolConfig {
|
|
18
|
-
const metadata = tool
|
|
21
|
+
const metadata = getOpenAIProviderToolMetadata(tool) as Omit<
|
|
22
|
+
WebSearchPreviewToolConfig,
|
|
23
|
+
'type'
|
|
24
|
+
>
|
|
19
25
|
return {
|
|
20
26
|
...metadata,
|
|
21
27
|
type: 'web_search_preview',
|
|
@@ -31,9 +37,12 @@ export function convertWebSearchPreviewToolToAdapterFormat(
|
|
|
31
37
|
export function webSearchPreviewTool(
|
|
32
38
|
toolData: WebSearchPreviewToolConfig,
|
|
33
39
|
): Tool {
|
|
34
|
-
return
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
40
|
+
return openAIProviderTool(
|
|
41
|
+
{
|
|
42
|
+
name: 'web_search_preview',
|
|
43
|
+
description: 'Search the web (preview version)',
|
|
44
|
+
metadata: toolData,
|
|
45
|
+
},
|
|
46
|
+
'web_search_preview',
|
|
47
|
+
)
|
|
39
48
|
}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getOpenAIProviderToolMetadata,
|
|
3
|
+
openAIProviderTool,
|
|
4
|
+
} from './openai-provider-tool'
|
|
1
5
|
import type { WebSearchTool as WebSearchToolConfig } from 'openai/resources/responses/responses'
|
|
2
6
|
import type { Tool } from '@tanstack/ai'
|
|
3
7
|
|
|
@@ -8,15 +12,16 @@ export type WebSearchTool = WebSearchToolConfig
|
|
|
8
12
|
|
|
9
13
|
/**
|
|
10
14
|
* Converts a standard Tool to OpenAI WebSearchTool format. Spread `metadata`
|
|
11
|
-
* first, then force `type: 'web_search'` last
|
|
12
|
-
*
|
|
13
|
-
* authored by hand with a different `metadata.type` would emit a malformed
|
|
14
|
-
* payload.
|
|
15
|
+
* first, then force `type: 'web_search'` last so a different metadata type
|
|
16
|
+
* cannot produce a malformed payload.
|
|
15
17
|
*/
|
|
16
18
|
export function convertWebSearchToolToAdapterFormat(
|
|
17
19
|
tool: Tool,
|
|
18
20
|
): WebSearchToolConfig {
|
|
19
|
-
const metadata = tool
|
|
21
|
+
const metadata = getOpenAIProviderToolMetadata(tool) as Omit<
|
|
22
|
+
WebSearchToolConfig,
|
|
23
|
+
'type'
|
|
24
|
+
>
|
|
20
25
|
return {
|
|
21
26
|
...metadata,
|
|
22
27
|
type: 'web_search',
|
|
@@ -30,9 +35,12 @@ export function convertWebSearchToolToAdapterFormat(
|
|
|
30
35
|
* re-wrap this in their own package.
|
|
31
36
|
*/
|
|
32
37
|
export function webSearchTool(toolData: WebSearchToolConfig): Tool {
|
|
33
|
-
return
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
return openAIProviderTool(
|
|
39
|
+
{
|
|
40
|
+
name: 'web_search',
|
|
41
|
+
description: 'Search the web',
|
|
42
|
+
metadata: toolData,
|
|
43
|
+
},
|
|
44
|
+
'web_search',
|
|
45
|
+
)
|
|
38
46
|
}
|