@zhivex-ai/openai 0.7.2 → 0.8.1
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/README.md +237 -11
- package/dist/index.d.ts +101 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +780 -213
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -5,32 +5,258 @@ OpenAI adapter for Zhivex AI SDK.
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
bun add @zhivex-ai/openai
|
|
8
|
+
bun add @zhivex-ai/openai @zhivex-ai/core zod
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Audio response limits
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Transcription and speech responses are bounded before JSON parsing or binary buffering. Defaults are 16 MiB for speech, 4 MiB for transcription JSON, and 64 KiB for error bodies. Override them at provider creation time when your application requires a stricter policy:
|
|
14
14
|
|
|
15
15
|
```ts
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const openai = createOpenAI({
|
|
17
|
+
responseLimits: {
|
|
18
|
+
speechBytes: 16 * 1024 * 1024,
|
|
19
|
+
transcriptionBytes: 1024 * 1024,
|
|
20
|
+
errorBodyBytes: 64 * 1024
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Oversized successful bodies throw `ProviderResponseTooLargeError`. Provider HTTP errors keep their original status and expose only a bounded, possibly truncated `responseBody`.
|
|
26
|
+
|
|
27
|
+
## GPT-5.6
|
|
28
|
+
|
|
29
|
+
The adapter recognizes the three GPT-5.6 model IDs and their shared SDK surface:
|
|
30
|
+
|
|
31
|
+
- `gpt-5.6-sol`, also available through the `gpt-5.6` alias
|
|
32
|
+
- `gpt-5.6-terra`
|
|
33
|
+
- `gpt-5.6-luna`
|
|
34
|
+
|
|
35
|
+
Upstream availability is currently a limited preview for approved organizations; there is no public enrollment or general-availability date. API and Codex access are approved separately. See [OpenAI's GPT-5.6 preview access notes](https://help.openai.com/en/articles/20001325-a-preview-of-gpt-5-6-sol-terra-and-luna).
|
|
36
|
+
|
|
37
|
+
GPT-5.6 uses the Responses API by default in this adapter. `providerOptions.apiMode` can force either endpoint for compatibility; `"chat"` cannot be combined with Responses-only tools or Multi-agent.
|
|
38
|
+
|
|
39
|
+
For prompts with more than 272K input tokens, OpenAI charges 2x the input rate and 1.5x the output rate for the entire request, across Sol, Terra, and Luna. See the official [Sol](https://developers.openai.com/api/docs/models/gpt-5.6-sol), [Terra](https://developers.openai.com/api/docs/models/gpt-5.6-terra), and [Luna](https://developers.openai.com/api/docs/models/gpt-5.6-luna) model pages.
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
import { generateText } from "@zhivex-ai/core";
|
|
43
|
+
import { createOpenAI } from "@zhivex-ai/openai";
|
|
18
44
|
|
|
19
45
|
const openai = createOpenAI({ apiKey: process.env.OPENAI_API_KEY });
|
|
20
46
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
47
|
+
const result = await generateText({
|
|
48
|
+
model: openai("gpt-5.6"),
|
|
49
|
+
prompt: "Design a resilient job queue.",
|
|
50
|
+
reasoning: {
|
|
51
|
+
effort: "max",
|
|
52
|
+
mode: "pro",
|
|
53
|
+
context: "all_turns"
|
|
54
|
+
},
|
|
55
|
+
providerOptions: {
|
|
56
|
+
apiMode: "responses",
|
|
57
|
+
safety_identifier: "user_8f2a"
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
console.log(result.text);
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
`reasoning.mode` (`"standard"` or `"pro"`) and `reasoning.context` (`"auto"`, `"current_turn"`, or `"all_turns"`) are Responses-only controls. Chat Completions continues to accept `reasoning.effort`, including `"max"`, but rejects `mode` and `context` instead of silently dropping them.
|
|
65
|
+
|
|
66
|
+
Multi-turn Responses normally continue through `previous_response_id`. With `providerOptions.store: false`, the adapter automatically requests `reasoning.encrypted_content` and replays the returned reasoning and output items instead, including across local tool-loop continuations.
|
|
67
|
+
|
|
68
|
+
Use `providerOptions.safety_identifier` for a stable, non-PII identifier for the end user. It is sent as an OpenAI request field; do not put email addresses, names, or other direct personal data in it.
|
|
69
|
+
|
|
70
|
+
## Prompt caching
|
|
71
|
+
|
|
72
|
+
OpenAI prompt cache controls pass through `providerOptions`. Explicit breakpoints can be attached directly to a cacheable text, image, or file part through `providerMetadata`, or inserted immediately after a cacheable part with `openAIPromptCacheBreakpoint()`.
|
|
73
|
+
|
|
74
|
+
```ts
|
|
75
|
+
import { generateText, user } from "@zhivex-ai/core";
|
|
76
|
+
import { createOpenAI, openAIPromptCacheBreakpoint } from "@zhivex-ai/openai";
|
|
77
|
+
|
|
78
|
+
const openai = createOpenAI();
|
|
24
79
|
|
|
25
80
|
await generateText({
|
|
26
|
-
model: openai("gpt-5.
|
|
27
|
-
|
|
81
|
+
model: openai("gpt-5.6-terra"),
|
|
82
|
+
messages: [
|
|
83
|
+
user([
|
|
84
|
+
{
|
|
85
|
+
type: "text",
|
|
86
|
+
text: "Reusable project context",
|
|
87
|
+
providerMetadata: {
|
|
88
|
+
openai: { prompt_cache_breakpoint: { mode: "explicit" } }
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
{ type: "text", text: "Answer the current question." },
|
|
92
|
+
openAIPromptCacheBreakpoint()
|
|
93
|
+
])
|
|
94
|
+
],
|
|
95
|
+
providerOptions: {
|
|
96
|
+
prompt_cache_key: "project-docs-v1",
|
|
97
|
+
prompt_cache_options: { mode: "explicit", ttl: "30m" }
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
The helper marks the content block immediately before it. Placing it before any cacheable content throws `ConfigurationError`. `prompt_cache_retention` remains available for older model families, but it is a legacy alternative to `prompt_cache_options` and should not be combined with it for GPT-5.6.
|
|
103
|
+
|
|
104
|
+
For GPT-5.6, cache writes cost 1.25x the uncached input rate and cache reads receive a 90% discount. Normalized usage exposes these as `result.usage.cacheWriteTokens` and `result.usage.cachedInputTokens`; the raw response remains available when provider-specific details are needed. See [OpenAI's pricing and prompt caching notes](https://help.openai.com/en/articles/20001325-a-preview-of-gpt-5-6-sol-terra-and-luna).
|
|
105
|
+
|
|
106
|
+
## Programmatic Tool Calling
|
|
107
|
+
|
|
108
|
+
GPT-5.6 supports Programmatic Tool Calling through `openAIProgrammaticToolCallingTool()`. Wrap callable tools with `openAIProgrammaticTool()` to declare `allowed_callers` and an optional provider output schema. The adapter preserves the provider `caller` metadata across tool execution and continuation requests.
|
|
109
|
+
|
|
110
|
+
```ts
|
|
111
|
+
import { generateText, tool } from "@zhivex-ai/core";
|
|
112
|
+
import {
|
|
113
|
+
createOpenAI,
|
|
114
|
+
openAIProgrammaticTool,
|
|
115
|
+
openAIProgrammaticToolCallingTool
|
|
116
|
+
} from "@zhivex-ai/openai";
|
|
117
|
+
import { z } from "zod";
|
|
118
|
+
|
|
119
|
+
const openai = createOpenAI();
|
|
120
|
+
const inventory = openAIProgrammaticTool(
|
|
121
|
+
tool({
|
|
122
|
+
name: "inventory",
|
|
123
|
+
schema: z.object({ sku: z.string() }),
|
|
124
|
+
execute: ({ sku }) => ({ sku, available: 12 })
|
|
125
|
+
}),
|
|
126
|
+
{
|
|
127
|
+
allowedCallers: ["programmatic"],
|
|
128
|
+
outputSchema: z.object({ sku: z.string(), available: z.number() })
|
|
129
|
+
}
|
|
130
|
+
);
|
|
131
|
+
|
|
132
|
+
await generateText({
|
|
133
|
+
model: openai("gpt-5.6-luna"),
|
|
134
|
+
prompt: "Check the requested SKUs efficiently.",
|
|
135
|
+
maxSteps: 4,
|
|
136
|
+
tools: {
|
|
137
|
+
program: openAIProgrammaticToolCallingTool(),
|
|
138
|
+
inventory
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Hosted Code Interpreter and remote MCP accept `allowed_callers`; `openAIHostedShellTool()`, `openAIShellTool()`, and `openAIApplyPatchTool()` expose the equivalent `allowedCallers` option.
|
|
144
|
+
|
|
145
|
+
## Multi-agent beta
|
|
146
|
+
|
|
147
|
+
Enable the GPT-5.6 Multi-agent beta with `providerOptions.multi_agent`. The adapter adds the `responses_multi_agent=v1` beta header automatically and returns the root agent's final answer from provider output.
|
|
148
|
+
|
|
149
|
+
```ts
|
|
150
|
+
const result = await generateText({
|
|
151
|
+
model: openai("gpt-5.6-sol"),
|
|
152
|
+
prompt: "Delegate research and implementation planning, then return one final plan.",
|
|
153
|
+
providerOptions: {
|
|
154
|
+
multi_agent: {
|
|
155
|
+
enabled: true,
|
|
156
|
+
max_concurrent_subagents: 3
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Agent tools and capabilities
|
|
163
|
+
|
|
164
|
+
GPT-5.6 supports Tool Search, Computer Use GA, hosted and local shell, apply patch, and skills. The adapter validates model/tool combinations before a request is sent. `openAIComputerTool()` exposes GA Computer Use with batched actions and app-owned screenshot execution; `openAIComputerUseTool()` remains available for the legacy preview shape. `openAIShellTool()` and `openAIApplyPatchTool()` are SDK-managed harnesses that require approval by default.
|
|
165
|
+
|
|
166
|
+
Current family gates are:
|
|
167
|
+
|
|
168
|
+
| Capability | Supported OpenAI model families |
|
|
169
|
+
| --- | --- |
|
|
170
|
+
| Tool Search | GPT-5.6; GPT-5.5 base; GPT-5.4 base and mini |
|
|
171
|
+
| Computer Use | GPT-5.6; GPT-5.5 base; GPT-5.4 base and mini |
|
|
172
|
+
| Shell | GPT-5.6; GPT-5.5 base and pro; GPT-5.4 base, mini, nano, and pro |
|
|
173
|
+
| Apply patch and skills | GPT-5.6; GPT-5.5 base; GPT-5.4 base, mini, and nano |
|
|
174
|
+
| Programmatic Tool Calling and Multi-agent | GPT-5.6 |
|
|
175
|
+
|
|
176
|
+
```ts
|
|
177
|
+
import { getAgentCapabilities } from "@zhivex-ai/core";
|
|
178
|
+
import {
|
|
179
|
+
openAIComputerTool,
|
|
180
|
+
openAIShellTool,
|
|
181
|
+
openAIToolSearchTool
|
|
182
|
+
} from "@zhivex-ai/openai";
|
|
183
|
+
|
|
184
|
+
const model = openai("gpt-5.6-sol");
|
|
185
|
+
console.log(getAgentCapabilities(model));
|
|
186
|
+
|
|
187
|
+
declare const computerHarness: {
|
|
188
|
+
execute(actions: unknown[]): Promise<void>;
|
|
189
|
+
screenshot(): Promise<string>;
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
await generateText({
|
|
193
|
+
model,
|
|
194
|
+
prompt: "Inspect the project and the current browser state.",
|
|
195
|
+
maxSteps: 4,
|
|
196
|
+
toolApprovalPolicy: () => ({ approved: true }),
|
|
28
197
|
tools: {
|
|
29
|
-
search: openAIToolSearchTool()
|
|
198
|
+
search: openAIToolSearchTool(),
|
|
199
|
+
computer: openAIComputerTool({
|
|
200
|
+
async execute({ actions }) {
|
|
201
|
+
await computerHarness.execute(actions);
|
|
202
|
+
return {
|
|
203
|
+
type: "computer_screenshot",
|
|
204
|
+
image_url: await computerHarness.screenshot()
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
}),
|
|
208
|
+
shell: openAIShellTool({
|
|
209
|
+
rootDir: process.cwd(),
|
|
210
|
+
timeoutMs: 10_000,
|
|
211
|
+
environment: {
|
|
212
|
+
type: "local",
|
|
213
|
+
skills: [
|
|
214
|
+
{
|
|
215
|
+
name: "repo-conventions",
|
|
216
|
+
description: "Repository-specific implementation rules",
|
|
217
|
+
path: ".agents/skills/repo-conventions"
|
|
218
|
+
}
|
|
219
|
+
]
|
|
220
|
+
}
|
|
221
|
+
})
|
|
30
222
|
}
|
|
31
223
|
});
|
|
32
224
|
```
|
|
33
225
|
|
|
226
|
+
Local and hosted shell are deliberately separate:
|
|
227
|
+
|
|
228
|
+
- `openAIShellTool()` runs commands through an app-owned local callback or process and accepts only `environment.type: "local"`.
|
|
229
|
+
- `openAIHostedShellTool()` sends `container_auto` or `container_reference` to OpenAI. It never re-executes hosted commands in the local process.
|
|
230
|
+
|
|
231
|
+
Hosted containers have no outbound network access by default. Enabling it requires both an organization allowlist and a request-level `network_policy`. The request may only narrow the organization policy:
|
|
232
|
+
|
|
233
|
+
```ts
|
|
234
|
+
import { openAIHostedShellTool } from "@zhivex-ai/openai";
|
|
235
|
+
|
|
236
|
+
const hostedShell = openAIHostedShellTool({
|
|
237
|
+
allowedCallers: ["direct", "programmatic"],
|
|
238
|
+
environment: {
|
|
239
|
+
type: "container_auto",
|
|
240
|
+
skills: [
|
|
241
|
+
{ type: "skill_reference", skill_id: "skill_123", version: "latest" }
|
|
242
|
+
],
|
|
243
|
+
network_policy: {
|
|
244
|
+
type: "allowlist",
|
|
245
|
+
allowed_domains: ["api.example.com"],
|
|
246
|
+
domain_secrets: [
|
|
247
|
+
{
|
|
248
|
+
domain: "api.example.com",
|
|
249
|
+
name: "API_TOKEN",
|
|
250
|
+
value: process.env.EXAMPLE_API_TOKEN!
|
|
251
|
+
}
|
|
252
|
+
]
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
Treat every allowlisted domain as an exfiltration boundary. Prompt injection can cause a shell workflow to send data or injected domain secrets outward, so allow only domains you trust and that an attacker cannot use as a data receiver. See OpenAI's [Hosted Shell network and safety guidance](https://developers.openai.com/api/docs/guides/tools-shell#network-access).
|
|
259
|
+
|
|
34
260
|
Repository and full documentation:
|
|
35
261
|
|
|
36
262
|
- <https://github.com/Zhivex/zhivex-ai-sdk>
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { type CallableProviderAdapter, type JsonValue, type ProviderAdapter, type RealtimeConnectionFactory, type ToolDefinition } from "@zhivex-ai/core";
|
|
2
|
+
import { type AudioResponseLimits, type CallableProviderAdapter, type JsonValue, type ProviderAdapter, type RealtimeConnectionFactory, type ToolDefinition } from "@zhivex-ai/core";
|
|
3
3
|
export interface OpenAIProviderOptions {
|
|
4
4
|
apiKey?: string;
|
|
5
5
|
baseURL?: string;
|
|
@@ -7,6 +7,7 @@ export interface OpenAIProviderOptions {
|
|
|
7
7
|
realtimeURL?: string;
|
|
8
8
|
browserTokenURL?: string;
|
|
9
9
|
realtimeConnectionFactory?: RealtimeConnectionFactory;
|
|
10
|
+
responseLimits?: AudioResponseLimits;
|
|
10
11
|
}
|
|
11
12
|
export interface OpenAIWebSearchToolConfig {
|
|
12
13
|
type?: "web_search" | "web_search_2025_08_26";
|
|
@@ -47,6 +48,7 @@ type OpenAIRemoteMcpToolSharedConfig = {
|
|
|
47
48
|
authorization?: string;
|
|
48
49
|
require_approval?: OpenAIMcpRequireApproval;
|
|
49
50
|
allowed_tools?: OpenAIMcpAllowedTools;
|
|
51
|
+
allowed_callers?: OpenAIProgrammaticToolCaller[];
|
|
50
52
|
};
|
|
51
53
|
export type OpenAIRemoteMcpToolConfig = (OpenAIRemoteMcpToolSharedConfig & {
|
|
52
54
|
server_url: string;
|
|
@@ -60,12 +62,26 @@ export interface OpenAIComputerUseToolConfig {
|
|
|
60
62
|
display_width?: number;
|
|
61
63
|
display_height?: number;
|
|
62
64
|
}
|
|
65
|
+
export interface OpenAIComputerCallInput {
|
|
66
|
+
actions: JsonValue[];
|
|
67
|
+
}
|
|
68
|
+
export interface OpenAIComputerScreenshotOutput {
|
|
69
|
+
type: "computer_screenshot";
|
|
70
|
+
image_url: string;
|
|
71
|
+
detail?: "original";
|
|
72
|
+
}
|
|
73
|
+
export interface OpenAIComputerToolConfig {
|
|
74
|
+
name?: string;
|
|
75
|
+
requiresApproval?: boolean;
|
|
76
|
+
execute: (input: OpenAIComputerCallInput) => Promise<OpenAIComputerScreenshotOutput> | OpenAIComputerScreenshotOutput;
|
|
77
|
+
}
|
|
63
78
|
export interface OpenAICodeInterpreterToolConfig {
|
|
64
79
|
container: string | {
|
|
65
80
|
type: "auto";
|
|
66
81
|
memory_limit?: "1g" | "4g" | "16g" | "64g";
|
|
67
82
|
file_ids?: string[];
|
|
68
83
|
};
|
|
84
|
+
allowed_callers?: OpenAIProgrammaticToolCaller[];
|
|
69
85
|
}
|
|
70
86
|
export interface OpenAIShellToolConfig {
|
|
71
87
|
name?: string;
|
|
@@ -73,12 +89,56 @@ export interface OpenAIShellToolConfig {
|
|
|
73
89
|
rootDir?: string;
|
|
74
90
|
timeoutMs?: number;
|
|
75
91
|
maxOutputLength?: number;
|
|
76
|
-
|
|
92
|
+
allowedCallers?: OpenAIProgrammaticToolCaller[];
|
|
93
|
+
environment?: OpenAILocalShellEnvironment;
|
|
94
|
+
execute?: (input: OpenAIShellToolInput) => Promise<OpenAIShellToolOutput | OpenAIShellToolOutput[]> | OpenAIShellToolOutput | OpenAIShellToolOutput[];
|
|
95
|
+
}
|
|
96
|
+
export type OpenAIHostedShellEnvironment = {
|
|
97
|
+
type: "container_auto";
|
|
98
|
+
skills?: Array<{
|
|
99
|
+
type: "skill_reference";
|
|
100
|
+
skill_id: string;
|
|
101
|
+
version?: number | "latest";
|
|
102
|
+
}>;
|
|
103
|
+
network_policy?: OpenAIHostedShellNetworkPolicy;
|
|
104
|
+
} | {
|
|
105
|
+
type: "container_reference";
|
|
106
|
+
container_id: string;
|
|
107
|
+
skills?: Array<{
|
|
108
|
+
type: "skill_reference";
|
|
109
|
+
skill_id: string;
|
|
110
|
+
version?: number | "latest";
|
|
111
|
+
}>;
|
|
112
|
+
network_policy?: OpenAIHostedShellNetworkPolicy;
|
|
113
|
+
};
|
|
114
|
+
export interface OpenAIHostedShellNetworkPolicy {
|
|
115
|
+
type: "allowlist";
|
|
116
|
+
allowed_domains: string[];
|
|
117
|
+
domain_secrets?: Array<{
|
|
118
|
+
domain: string;
|
|
119
|
+
name: string;
|
|
120
|
+
value: string;
|
|
121
|
+
}>;
|
|
122
|
+
}
|
|
123
|
+
export interface OpenAILocalShellEnvironment {
|
|
124
|
+
type: "local";
|
|
125
|
+
skills?: Array<{
|
|
126
|
+
name: string;
|
|
127
|
+
description?: string;
|
|
128
|
+
path: string;
|
|
129
|
+
}>;
|
|
130
|
+
}
|
|
131
|
+
export type OpenAIShellEnvironment = OpenAIHostedShellEnvironment | OpenAILocalShellEnvironment;
|
|
132
|
+
export interface OpenAIHostedShellToolConfig {
|
|
133
|
+
environment: OpenAIHostedShellEnvironment;
|
|
134
|
+
allowedCallers?: OpenAIProgrammaticToolCaller[];
|
|
77
135
|
}
|
|
78
136
|
export interface OpenAIShellToolInput {
|
|
79
137
|
command?: string;
|
|
80
138
|
action?: {
|
|
81
139
|
command?: string;
|
|
140
|
+
commands?: string[];
|
|
141
|
+
timeout_ms?: number;
|
|
82
142
|
max_output_length?: number;
|
|
83
143
|
maxOutputLength?: number;
|
|
84
144
|
};
|
|
@@ -91,6 +151,7 @@ export interface OpenAIShellToolOutput {
|
|
|
91
151
|
outcome: {
|
|
92
152
|
type: "exit" | "timeout";
|
|
93
153
|
exitCode?: number;
|
|
154
|
+
exit_code?: number;
|
|
94
155
|
};
|
|
95
156
|
maxOutputLength?: number;
|
|
96
157
|
}
|
|
@@ -102,6 +163,7 @@ export interface OpenAIApplyPatchOperation {
|
|
|
102
163
|
export interface OpenAIApplyPatchToolConfig {
|
|
103
164
|
name?: string;
|
|
104
165
|
rootDir?: string;
|
|
166
|
+
allowedCallers?: OpenAIProgrammaticToolCaller[];
|
|
105
167
|
applyOperation: (operation: OpenAIApplyPatchOperation) => Promise<OpenAIApplyPatchToolOutput> | OpenAIApplyPatchToolOutput;
|
|
106
168
|
}
|
|
107
169
|
export interface OpenAIApplyPatchToolInput {
|
|
@@ -114,6 +176,19 @@ export interface OpenAIApplyPatchToolOutput {
|
|
|
114
176
|
export interface OpenAIToolSearchToolConfig {
|
|
115
177
|
[key: string]: unknown;
|
|
116
178
|
}
|
|
179
|
+
export type OpenAIProgrammaticToolCaller = "direct" | "programmatic";
|
|
180
|
+
export interface OpenAIProgrammaticToolOptions {
|
|
181
|
+
allowedCallers?: OpenAIProgrammaticToolCaller[];
|
|
182
|
+
outputSchema?: z.ZodTypeAny;
|
|
183
|
+
}
|
|
184
|
+
export interface OpenAIPromptCacheOptions {
|
|
185
|
+
mode?: "implicit" | "explicit";
|
|
186
|
+
ttl?: "30m";
|
|
187
|
+
}
|
|
188
|
+
export interface OpenAIMultiAgentOptions {
|
|
189
|
+
enabled: boolean;
|
|
190
|
+
max_concurrent_subagents?: number;
|
|
191
|
+
}
|
|
117
192
|
export interface OpenAIMcpApprovalRequest {
|
|
118
193
|
type: "mcp_approval_request";
|
|
119
194
|
id: string;
|
|
@@ -145,16 +220,34 @@ export interface OpenAIMcpListTools {
|
|
|
145
220
|
server_label?: string;
|
|
146
221
|
tools?: JsonValue;
|
|
147
222
|
}
|
|
223
|
+
export interface OpenAIPromptCacheBreakpointData {
|
|
224
|
+
type: "prompt_cache_breakpoint";
|
|
225
|
+
mode: "explicit";
|
|
226
|
+
}
|
|
227
|
+
export interface OpenAIResponsesOutputData {
|
|
228
|
+
type: "responses_output";
|
|
229
|
+
items: JsonValue[];
|
|
230
|
+
}
|
|
148
231
|
export type OpenAIProviderData = {
|
|
149
232
|
responseId: string;
|
|
150
|
-
} | OpenAIMcpApprovalRequest | OpenAIMcpApprovalResponse | OpenAIMcpCall | OpenAIMcpListTools;
|
|
233
|
+
} | OpenAIMcpApprovalRequest | OpenAIMcpApprovalResponse | OpenAIMcpCall | OpenAIMcpListTools | OpenAIPromptCacheBreakpointData | OpenAIResponsesOutputData;
|
|
151
234
|
export interface OpenAILanguageModelOptions {
|
|
235
|
+
apiMode?: "auto" | "chat" | "responses";
|
|
236
|
+
headers?: Record<string, string>;
|
|
237
|
+
betas?: string[];
|
|
152
238
|
top_p?: number;
|
|
153
239
|
frequency_penalty?: number;
|
|
154
240
|
presence_penalty?: number;
|
|
155
241
|
stop?: string | string[];
|
|
156
242
|
seed?: number;
|
|
157
243
|
user?: string;
|
|
244
|
+
safety_identifier?: string;
|
|
245
|
+
prompt_cache_key?: string;
|
|
246
|
+
prompt_cache_options?: OpenAIPromptCacheOptions;
|
|
247
|
+
prompt_cache_retention?: "in_memory" | "24h";
|
|
248
|
+
multi_agent?: OpenAIMultiAgentOptions;
|
|
249
|
+
include?: string[];
|
|
250
|
+
store?: boolean;
|
|
158
251
|
tool_choice?: "none" | "auto" | "required" | {
|
|
159
252
|
type: "function";
|
|
160
253
|
function: {
|
|
@@ -170,9 +263,14 @@ export declare const openAIWebSearchTool: (config?: OpenAIWebSearchToolConfig) =
|
|
|
170
263
|
export declare const openAIFileSearchTool: (config?: OpenAIFileSearchToolConfig) => import("@zhivex-ai/core").HostedToolDefinition<JsonValue>;
|
|
171
264
|
export declare const openAICodeInterpreterTool: (config: OpenAICodeInterpreterToolConfig) => import("@zhivex-ai/core").HostedToolDefinition<JsonValue>;
|
|
172
265
|
export declare const openAIToolSearchTool: (config?: OpenAIToolSearchToolConfig) => import("@zhivex-ai/core").HostedToolDefinition<JsonValue>;
|
|
266
|
+
export declare const openAIProgrammaticToolCallingTool: () => import("@zhivex-ai/core").HostedToolDefinition<JsonValue>;
|
|
267
|
+
export declare const openAIProgrammaticTool: <TSchema extends z.ZodTypeAny, TResult>(definition: ToolDefinition<TSchema, TResult>, options?: OpenAIProgrammaticToolOptions) => ToolDefinition<TSchema, TResult>;
|
|
173
268
|
export declare const openAIRemoteMcpTool: (config: OpenAIRemoteMcpToolConfig) => import("@zhivex-ai/core").HostedToolDefinition<JsonValue>;
|
|
174
269
|
export declare const openAIMcpApprovalResponse: (response: Omit<OpenAIMcpApprovalResponse, "type">) => import("@zhivex-ai/core").ContentPart;
|
|
270
|
+
export declare const openAIPromptCacheBreakpoint: () => import("@zhivex-ai/core").ContentPart;
|
|
175
271
|
export declare const openAIComputerUseTool: (config: OpenAIComputerUseToolConfig) => import("@zhivex-ai/core").HostedToolDefinition<JsonValue>;
|
|
272
|
+
export declare const openAIComputerTool: (config: OpenAIComputerToolConfig) => ToolDefinition<z.ZodType<OpenAIComputerCallInput>, JsonValue>;
|
|
273
|
+
export declare const openAIHostedShellTool: (config: OpenAIHostedShellToolConfig) => import("@zhivex-ai/core").HostedToolDefinition<JsonValue>;
|
|
176
274
|
export declare const openAIShellTool: (config?: OpenAIShellToolConfig) => ToolDefinition<z.ZodType<OpenAIShellToolInput>, JsonValue>;
|
|
177
275
|
export declare const openAIApplyPatchTool: (config: OpenAIApplyPatchToolConfig) => ToolDefinition<z.ZodType<OpenAIApplyPatchToolInput>, JsonValue>;
|
|
178
276
|
export {};
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,CAAC,EAAE,MAAM,KAAK,CAAC;AAEtC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|