@vybestack/llxprt-code-core 0.6.1-nightly.251204.b119e390d → 0.6.1-nightly.251205.deee6dfc3

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 (48) hide show
  1. package/dist/src/auth/types.d.ts +6 -6
  2. package/dist/src/core/geminiChat.d.ts +8 -0
  3. package/dist/src/core/geminiChat.js +63 -5
  4. package/dist/src/core/geminiChat.js.map +1 -1
  5. package/dist/src/core/turn.js +12 -8
  6. package/dist/src/core/turn.js.map +1 -1
  7. package/dist/src/ide/ide-client.js +4 -2
  8. package/dist/src/ide/ide-client.js.map +1 -1
  9. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +0 -1
  10. package/dist/src/providers/anthropic/AnthropicProvider.js +6 -14
  11. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  12. package/dist/src/providers/anthropic/schemaConverter.d.ts +63 -0
  13. package/dist/src/providers/anthropic/schemaConverter.js +189 -0
  14. package/dist/src/providers/anthropic/schemaConverter.js.map +1 -0
  15. package/dist/src/providers/openai/OpenAIProvider.d.ts +77 -0
  16. package/dist/src/providers/openai/OpenAIProvider.js +1087 -175
  17. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  18. package/dist/src/providers/openai/ToolCallNormalizer.d.ts +6 -0
  19. package/dist/src/providers/openai/ToolCallNormalizer.js +16 -2
  20. package/dist/src/providers/openai/ToolCallNormalizer.js.map +1 -1
  21. package/dist/src/providers/openai/schemaConverter.d.ts +67 -0
  22. package/dist/src/providers/openai/schemaConverter.js +191 -0
  23. package/dist/src/providers/openai/schemaConverter.js.map +1 -0
  24. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.d.ts +0 -4
  25. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js +3 -75
  26. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js.map +1 -1
  27. package/dist/src/providers/openai-responses/schemaConverter.d.ts +65 -0
  28. package/dist/src/providers/openai-responses/schemaConverter.js +195 -0
  29. package/dist/src/providers/openai-responses/schemaConverter.js.map +1 -0
  30. package/dist/src/providers/openai-vercel/OpenAIVercelProvider.d.ts +1 -6
  31. package/dist/src/providers/openai-vercel/OpenAIVercelProvider.js +4 -14
  32. package/dist/src/providers/openai-vercel/OpenAIVercelProvider.js.map +1 -1
  33. package/dist/src/providers/openai-vercel/schemaConverter.d.ts +66 -0
  34. package/dist/src/providers/openai-vercel/schemaConverter.js +191 -0
  35. package/dist/src/providers/openai-vercel/schemaConverter.js.map +1 -0
  36. package/dist/src/providers/reasoning/reasoningUtils.d.ts +43 -0
  37. package/dist/src/providers/reasoning/reasoningUtils.js +92 -0
  38. package/dist/src/providers/reasoning/reasoningUtils.js.map +1 -0
  39. package/dist/src/runtime/AgentRuntimeContext.d.ts +27 -0
  40. package/dist/src/runtime/AgentRuntimeContext.js.map +1 -1
  41. package/dist/src/runtime/createAgentRuntimeContext.js +27 -0
  42. package/dist/src/runtime/createAgentRuntimeContext.js.map +1 -1
  43. package/dist/src/services/history/IContent.d.ts +6 -0
  44. package/dist/src/services/history/IContent.js.map +1 -1
  45. package/dist/src/tools/ToolFormatter.js +6 -0
  46. package/dist/src/tools/ToolFormatter.js.map +1 -1
  47. package/dist/src/tools/todo-schemas.d.ts +4 -4
  48. package/package.json +1 -1
@@ -0,0 +1,191 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Schema converter for OpenAI provider.
8
+ * Converts tool schemas to OpenAI-compatible JSON Schema format.
9
+ *
10
+ * Key requirements for OpenAI function calling:
11
+ * - type: must be lowercase string ("object", "string", etc.)
12
+ * - required: must always be present as an array (even if empty)
13
+ * - properties: object describing each parameter
14
+ */
15
+ import { DebugLogger } from '../../debug/DebugLogger.js';
16
+ const logger = new DebugLogger('llxprt:provider:openai:schema');
17
+ /**
18
+ * Convert a Gemini-style schema to OpenAI JSON Schema format.
19
+ * Handles:
20
+ * - Uppercase type enums → lowercase strings
21
+ * - Missing required fields → adds empty array
22
+ * - String numeric values → proper numbers
23
+ * - Recursive property/items conversion
24
+ */
25
+ export function convertSchemaToOpenAI(schema) {
26
+ if (!schema || typeof schema !== 'object') {
27
+ return {
28
+ type: 'object',
29
+ properties: {},
30
+ required: [],
31
+ };
32
+ }
33
+ const input = schema;
34
+ const result = {
35
+ type: 'object',
36
+ properties: {},
37
+ required: [],
38
+ };
39
+ // Convert properties recursively
40
+ if (input.properties && typeof input.properties === 'object') {
41
+ result.properties = convertProperties(input.properties);
42
+ }
43
+ // Ensure required is always an array
44
+ if (Array.isArray(input.required)) {
45
+ result.required = input.required.map((r) => String(r));
46
+ }
47
+ else {
48
+ // OpenAI requires the 'required' field to be present, even if empty
49
+ result.required = [];
50
+ }
51
+ // Handle additionalProperties if present
52
+ if (typeof input.additionalProperties === 'boolean') {
53
+ result.additionalProperties = input.additionalProperties;
54
+ }
55
+ return result;
56
+ }
57
+ /**
58
+ * Convert properties object recursively
59
+ */
60
+ function convertProperties(properties) {
61
+ const result = {};
62
+ for (const [key, value] of Object.entries(properties)) {
63
+ if (value && typeof value === 'object') {
64
+ result[key] = convertPropertySchema(value);
65
+ }
66
+ }
67
+ return result;
68
+ }
69
+ /**
70
+ * Convert a single property schema
71
+ */
72
+ function convertPropertySchema(prop) {
73
+ const result = {
74
+ type: normalizeType(prop.type),
75
+ };
76
+ // Copy description
77
+ if (typeof prop.description === 'string') {
78
+ result.description = prop.description;
79
+ }
80
+ // Handle enum values
81
+ if (Array.isArray(prop.enum)) {
82
+ result.enum = prop.enum.map((v) => String(v));
83
+ }
84
+ // Handle array items
85
+ if (prop.items) {
86
+ if (Array.isArray(prop.items)) {
87
+ // Tuple type - use first item as representative
88
+ result.items = convertPropertySchema(prop.items[0]);
89
+ }
90
+ else {
91
+ result.items = convertPropertySchema(prop.items);
92
+ }
93
+ }
94
+ // Handle nested object properties
95
+ if (prop.properties && typeof prop.properties === 'object') {
96
+ result.properties = convertProperties(prop.properties);
97
+ // Nested objects should also have required array
98
+ if (Array.isArray(prop.required)) {
99
+ result.required = prop.required.map((r) => String(r));
100
+ }
101
+ else if (result.type === 'object') {
102
+ result.required = [];
103
+ }
104
+ }
105
+ // Handle numeric constraints (convert strings to numbers if needed)
106
+ if (prop.minimum !== undefined) {
107
+ result.minimum = toNumber(prop.minimum);
108
+ }
109
+ if (prop.maximum !== undefined) {
110
+ result.maximum = toNumber(prop.maximum);
111
+ }
112
+ if (prop.minLength !== undefined) {
113
+ result.minLength = toNumber(prop.minLength);
114
+ }
115
+ if (prop.maxLength !== undefined) {
116
+ result.maxLength = toNumber(prop.maxLength);
117
+ }
118
+ // Handle default value
119
+ if (prop.default !== undefined) {
120
+ result.default = prop.default;
121
+ }
122
+ return result;
123
+ }
124
+ /**
125
+ * Normalize type value to lowercase string.
126
+ * Handles Gemini's uppercase Type enum (e.g., "OBJECT" → "object")
127
+ */
128
+ function normalizeType(type) {
129
+ if (typeof type === 'string') {
130
+ return type.toLowerCase();
131
+ }
132
+ if (typeof type === 'number') {
133
+ // Gemini Type enum values
134
+ const typeMap = {
135
+ 1: 'string',
136
+ 2: 'number',
137
+ 3: 'integer',
138
+ 4: 'boolean',
139
+ 5: 'array',
140
+ 6: 'object',
141
+ };
142
+ return typeMap[type] || 'string';
143
+ }
144
+ return 'string';
145
+ }
146
+ /**
147
+ * Convert value to number, handling strings
148
+ */
149
+ function toNumber(value) {
150
+ if (typeof value === 'number') {
151
+ return value;
152
+ }
153
+ if (typeof value === 'string') {
154
+ const num = parseFloat(value);
155
+ return isNaN(num) ? undefined : num;
156
+ }
157
+ return undefined;
158
+ }
159
+ /**
160
+ * Convert an array of Gemini-style tool declarations to OpenAI format
161
+ */
162
+ export function convertToolsToOpenAI(geminiTools) {
163
+ if (!geminiTools || geminiTools.length === 0) {
164
+ return undefined;
165
+ }
166
+ const openAITools = [];
167
+ for (const toolGroup of geminiTools) {
168
+ if (!toolGroup.functionDeclarations) {
169
+ continue;
170
+ }
171
+ for (const decl of toolGroup.functionDeclarations) {
172
+ const parameters = convertSchemaToOpenAI(decl.parametersJsonSchema);
173
+ openAITools.push({
174
+ type: 'function',
175
+ function: {
176
+ name: decl.name,
177
+ description: decl.description || '',
178
+ parameters,
179
+ },
180
+ });
181
+ }
182
+ }
183
+ if (logger.enabled && openAITools.length > 0) {
184
+ logger.debug(() => `Converted ${openAITools.length} tools to OpenAI format`, {
185
+ toolNames: openAITools.map((t) => t.function.name),
186
+ firstToolHasRequired: openAITools[0]?.function.parameters.required !== undefined,
187
+ });
188
+ }
189
+ return openAITools.length > 0 ? openAITools : undefined;
190
+ }
191
+ //# sourceMappingURL=schemaConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaConverter.js","sourceRoot":"","sources":["../../../../src/providers/openai/schemaConverter.ts"],"names":[],"mappings":"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"}
@@ -19,10 +19,6 @@ import { IProviderConfig } from '../types/IProviderConfig.js';
19
19
  import { BaseProvider, NormalizedGenerateChatOptions } from '../BaseProvider.js';
20
20
  import type { ToolFormat } from '../../tools/IToolFormatter.js';
21
21
  export declare class OpenAIResponsesProvider extends BaseProvider {
22
- /**
23
- * Converts Gemini schema format (with uppercase Type enums) to standard JSON Schema format
24
- */
25
- private convertGeminiSchemaToStandard;
26
22
  private logger;
27
23
  constructor(apiKey: string | undefined, baseURL?: string, config?: IProviderConfig);
28
24
  /**
@@ -25,68 +25,12 @@ import { DebugLogger } from '../../debug/index.js';
25
25
  import { RESPONSES_API_MODELS } from '../openai/RESPONSES_API_MODELS.js';
26
26
  import { parseResponsesStream, parseErrorResponse, } from '../openai/parseResponsesStream.js';
27
27
  import { BaseProvider, } from '../BaseProvider.js';
28
+ import { convertToolsToOpenAIResponses } from './schemaConverter.js';
28
29
  import { getCoreSystemPromptAsync } from '../../core/prompts.js';
29
30
  import { resolveUserMemory } from '../utils/userMemory.js';
30
31
  import { resolveRuntimeAuthToken } from '../utils/authToken.js';
31
32
  import { filterOpenAIRequestParams } from '../openai/openaiRequestParams.js';
32
33
  export class OpenAIResponsesProvider extends BaseProvider {
33
- // TODO(P08) @plan:PLAN-20251018-STATELESSPROVIDER2.P07 @requirement:REQ-SP2-001
34
- // Align per-call stateless flow with openai-responses-stateless.md steps.
35
- /**
36
- * Converts Gemini schema format (with uppercase Type enums) to standard JSON Schema format
37
- */
38
- convertGeminiSchemaToStandard(schema) {
39
- if (!schema || typeof schema !== 'object') {
40
- return schema;
41
- }
42
- const newSchema = { ...schema };
43
- // Handle properties
44
- if (newSchema.properties && typeof newSchema.properties === 'object') {
45
- const newProperties = {};
46
- for (const [key, value] of Object.entries(newSchema.properties)) {
47
- newProperties[key] = this.convertGeminiSchemaToStandard(value);
48
- }
49
- newSchema.properties = newProperties;
50
- }
51
- // Handle items
52
- if (newSchema.items) {
53
- if (Array.isArray(newSchema.items)) {
54
- newSchema.items = newSchema.items.map((item) => this.convertGeminiSchemaToStandard(item));
55
- }
56
- else {
57
- newSchema.items = this.convertGeminiSchemaToStandard(newSchema.items);
58
- }
59
- }
60
- // Convert type from UPPERCASE enum to lowercase string
61
- if (newSchema.type) {
62
- newSchema.type = String(newSchema.type).toLowerCase();
63
- }
64
- // Convert enum values if present
65
- if (newSchema.enum && Array.isArray(newSchema.enum)) {
66
- newSchema.enum = newSchema.enum.map((v) => String(v));
67
- }
68
- // Convert minLength from string to number if present
69
- if (newSchema.minLength && typeof newSchema.minLength === 'string') {
70
- const minLengthNum = parseInt(newSchema.minLength, 10);
71
- if (!isNaN(minLengthNum)) {
72
- newSchema.minLength = minLengthNum;
73
- }
74
- else {
75
- delete newSchema.minLength;
76
- }
77
- }
78
- // Convert maxLength from string to number if present
79
- if (newSchema.maxLength && typeof newSchema.maxLength === 'string') {
80
- const maxLengthNum = parseInt(newSchema.maxLength, 10);
81
- if (!isNaN(maxLengthNum)) {
82
- newSchema.maxLength = maxLengthNum;
83
- }
84
- else {
85
- delete newSchema.maxLength;
86
- }
87
- }
88
- return newSchema;
89
- }
90
34
  logger;
91
35
  // @plan:PLAN-20251023-STATELESS-HARDENING.P08
92
36
  // @requirement:REQ-SP4-002/REQ-SP4-003
@@ -307,24 +251,8 @@ export class OpenAIResponsesProvider extends BaseProvider {
307
251
  }
308
252
  }
309
253
  }
310
- const responsesTools = tools
311
- ? tools[0].functionDeclarations.map((decl) => {
312
- const toolParameters = 'parametersJsonSchema' in decl
313
- ? decl
314
- .parametersJsonSchema
315
- : decl.parameters;
316
- const convertedParams = toolParameters
317
- ? this.convertGeminiSchemaToStandard(toolParameters)
318
- : { type: 'object', properties: {} };
319
- return {
320
- type: 'function',
321
- name: decl.name,
322
- description: decl.description || null,
323
- parameters: convertedParams,
324
- strict: null,
325
- };
326
- })
327
- : undefined;
254
+ // Convert Gemini tools to OpenAI Responses format using provider-specific converter
255
+ const responsesTools = convertToolsToOpenAIResponses(tools);
328
256
  // @plan:PLAN-20251023-STATELESS-HARDENING.P08
329
257
  // @requirement:REQ-SP4-002/REQ-SP4-003
330
258
  // Source per-call request overrides from normalized options (ephemeral settings take precedence)
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAIResponsesProvider.js","sourceRoot":"","sources":["../../../../src/providers/openai-responses/OpenAIResponsesProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenAIResponsesProvider.js","sourceRoot":"","sources":["../../../../src/providers/openai-responses/OpenAIResponsesProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * OpenAI Responses function parameter schema format
8
+ */
9
+ export interface OpenAIResponsesParameters {
10
+ type: 'object';
11
+ properties: Record<string, OpenAIResponsesPropertySchema>;
12
+ required: string[];
13
+ [key: string]: unknown;
14
+ }
15
+ /**
16
+ * OpenAI Responses property schema (recursive for nested objects/arrays)
17
+ */
18
+ export interface OpenAIResponsesPropertySchema {
19
+ type: string;
20
+ description?: string;
21
+ enum?: string[];
22
+ items?: OpenAIResponsesPropertySchema;
23
+ properties?: Record<string, OpenAIResponsesPropertySchema>;
24
+ required?: string[];
25
+ minimum?: number;
26
+ maximum?: number;
27
+ minLength?: number;
28
+ maxLength?: number;
29
+ default?: unknown;
30
+ }
31
+ /**
32
+ * OpenAI Responses tool format
33
+ */
34
+ export interface OpenAIResponsesTool {
35
+ type: 'function';
36
+ name: string;
37
+ description: string | null;
38
+ parameters: OpenAIResponsesParameters;
39
+ strict: null;
40
+ }
41
+ /**
42
+ * Input format from Gemini-style tool declarations
43
+ */
44
+ interface GeminiToolDeclaration {
45
+ name: string;
46
+ description?: string;
47
+ parametersJsonSchema?: unknown;
48
+ parameters?: unknown;
49
+ }
50
+ /**
51
+ * Convert a Gemini-style schema to OpenAI Responses parameter format.
52
+ * Handles:
53
+ * - Uppercase type enums → lowercase strings
54
+ * - Missing required fields → adds empty array
55
+ * - String numeric values → proper numbers
56
+ * - Recursive property/items conversion
57
+ */
58
+ export declare function convertSchemaToOpenAIResponses(schema: unknown): OpenAIResponsesParameters;
59
+ /**
60
+ * Convert an array of Gemini-style tool declarations to OpenAI Responses format
61
+ */
62
+ export declare function convertToolsToOpenAIResponses(geminiTools?: Array<{
63
+ functionDeclarations?: GeminiToolDeclaration[];
64
+ }>): OpenAIResponsesTool[] | undefined;
65
+ export {};
@@ -0,0 +1,195 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Schema converter for OpenAI Responses provider.
8
+ * Converts tool schemas to OpenAI Responses API format.
9
+ *
10
+ * Key requirements for OpenAI Responses API:
11
+ * - type: 'function'
12
+ * - name: string
13
+ * - description: string | null
14
+ * - parameters: object with type, properties, required
15
+ * - strict: null
16
+ * - required: must always be present as an array (even if empty)
17
+ */
18
+ import { DebugLogger } from '../../debug/DebugLogger.js';
19
+ const logger = new DebugLogger('llxprt:provider:openai-responses:schema');
20
+ /**
21
+ * Convert a Gemini-style schema to OpenAI Responses parameter format.
22
+ * Handles:
23
+ * - Uppercase type enums → lowercase strings
24
+ * - Missing required fields → adds empty array
25
+ * - String numeric values → proper numbers
26
+ * - Recursive property/items conversion
27
+ */
28
+ export function convertSchemaToOpenAIResponses(schema) {
29
+ if (!schema || typeof schema !== 'object') {
30
+ return {
31
+ type: 'object',
32
+ properties: {},
33
+ required: [],
34
+ };
35
+ }
36
+ const input = schema;
37
+ const result = {
38
+ type: 'object',
39
+ properties: {},
40
+ required: [],
41
+ };
42
+ // Convert properties recursively
43
+ if (input.properties && typeof input.properties === 'object') {
44
+ result.properties = convertProperties(input.properties);
45
+ }
46
+ // Ensure required is always an array - CRITICAL for K2 and other models
47
+ if (Array.isArray(input.required)) {
48
+ result.required = input.required.map((r) => String(r));
49
+ }
50
+ else {
51
+ // OpenAI requires the 'required' field to be present, even if empty
52
+ result.required = [];
53
+ }
54
+ return result;
55
+ }
56
+ /**
57
+ * Convert properties object recursively
58
+ */
59
+ function convertProperties(properties) {
60
+ const result = {};
61
+ for (const [key, value] of Object.entries(properties)) {
62
+ if (value && typeof value === 'object') {
63
+ result[key] = convertPropertySchema(value);
64
+ }
65
+ }
66
+ return result;
67
+ }
68
+ /**
69
+ * Convert a single property schema
70
+ */
71
+ function convertPropertySchema(prop) {
72
+ const result = {
73
+ type: normalizeType(prop.type),
74
+ };
75
+ // Copy description
76
+ if (typeof prop.description === 'string') {
77
+ result.description = prop.description;
78
+ }
79
+ // Handle enum values
80
+ if (Array.isArray(prop.enum)) {
81
+ result.enum = prop.enum.map((v) => String(v));
82
+ }
83
+ // Handle array items
84
+ if (prop.items) {
85
+ if (Array.isArray(prop.items)) {
86
+ // Tuple type - use first item as representative (skip empty tuples)
87
+ if (prop.items.length > 0) {
88
+ result.items = convertPropertySchema(prop.items[0]);
89
+ }
90
+ }
91
+ else {
92
+ result.items = convertPropertySchema(prop.items);
93
+ }
94
+ }
95
+ // Handle nested object properties
96
+ if (prop.properties && typeof prop.properties === 'object') {
97
+ result.properties = convertProperties(prop.properties);
98
+ // Nested objects should also have required array
99
+ if (Array.isArray(prop.required)) {
100
+ result.required = prop.required.map((r) => String(r));
101
+ }
102
+ else if (result.type === 'object') {
103
+ result.required = [];
104
+ }
105
+ }
106
+ // Handle numeric constraints (convert strings to numbers if needed)
107
+ if (prop.minimum !== undefined) {
108
+ result.minimum = toNumber(prop.minimum);
109
+ }
110
+ if (prop.maximum !== undefined) {
111
+ result.maximum = toNumber(prop.maximum);
112
+ }
113
+ if (prop.minLength !== undefined) {
114
+ result.minLength = toNumber(prop.minLength);
115
+ }
116
+ if (prop.maxLength !== undefined) {
117
+ result.maxLength = toNumber(prop.maxLength);
118
+ }
119
+ // Handle default value
120
+ if (prop.default !== undefined) {
121
+ result.default = prop.default;
122
+ }
123
+ return result;
124
+ }
125
+ /**
126
+ * Normalize type value to lowercase string.
127
+ * Handles Gemini's uppercase Type enum (e.g., "OBJECT" → "object")
128
+ */
129
+ function normalizeType(type) {
130
+ if (typeof type === 'string') {
131
+ return type.toLowerCase();
132
+ }
133
+ if (typeof type === 'number') {
134
+ // Gemini Type enum values
135
+ const typeMap = {
136
+ 1: 'string',
137
+ 2: 'number',
138
+ 3: 'integer',
139
+ 4: 'boolean',
140
+ 5: 'array',
141
+ 6: 'object',
142
+ };
143
+ return typeMap[type] || 'string';
144
+ }
145
+ return 'string';
146
+ }
147
+ /**
148
+ * Convert value to number, handling strings
149
+ */
150
+ function toNumber(value) {
151
+ if (typeof value === 'number') {
152
+ return value;
153
+ }
154
+ if (typeof value === 'string') {
155
+ const num = parseFloat(value);
156
+ return isNaN(num) ? undefined : num;
157
+ }
158
+ return undefined;
159
+ }
160
+ /**
161
+ * Convert an array of Gemini-style tool declarations to OpenAI Responses format
162
+ */
163
+ export function convertToolsToOpenAIResponses(geminiTools) {
164
+ if (!geminiTools || geminiTools.length === 0) {
165
+ return undefined;
166
+ }
167
+ const responsesTools = [];
168
+ for (const toolGroup of geminiTools) {
169
+ if (!toolGroup.functionDeclarations) {
170
+ continue;
171
+ }
172
+ for (const decl of toolGroup.functionDeclarations) {
173
+ // Try parametersJsonSchema first, fall back to parameters
174
+ const toolParameters = 'parametersJsonSchema' in decl
175
+ ? decl.parametersJsonSchema
176
+ : decl.parameters;
177
+ const parameters = convertSchemaToOpenAIResponses(toolParameters);
178
+ responsesTools.push({
179
+ type: 'function',
180
+ name: decl.name,
181
+ description: decl.description || null,
182
+ parameters,
183
+ strict: null,
184
+ });
185
+ }
186
+ }
187
+ if (logger.enabled && responsesTools.length > 0) {
188
+ logger.debug(() => `Converted ${responsesTools.length} tools to OpenAI Responses format`, {
189
+ toolNames: responsesTools.map((t) => t.name),
190
+ firstToolHasRequired: responsesTools[0]?.parameters.required !== undefined,
191
+ });
192
+ }
193
+ return responsesTools.length > 0 ? responsesTools : undefined;
194
+ }
195
+ //# sourceMappingURL=schemaConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaConverter.js","sourceRoot":"","sources":["../../../../src/providers/openai-responses/schemaConverter.ts"],"names":[],"mappings":"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"}
@@ -48,11 +48,6 @@ export declare class OpenAIVercelProvider extends BaseProvider implements IProvi
48
48
  * This mirrors OpenAIProvider but feeds AI SDK call options instead.
49
49
  */
50
50
  private extractModelParamsFromOptions;
51
- /**
52
- * Tool formatter instances cannot be shared between stateless calls,
53
- * so construct a fresh one for every invocation.
54
- */
55
- private createToolFormatter;
56
51
  private getAiJsonSchema;
57
52
  private getAiTool;
58
53
  /**
@@ -74,7 +69,7 @@ export declare class OpenAIVercelProvider extends BaseProvider implements IProvi
74
69
  /**
75
70
  * Build an AI SDK ToolSet from already-normalized OpenAI-style tool definitions.
76
71
  *
77
- * Input is the same array produced by ToolFormatter.convertGeminiToFormat(…, 'openai'|'qwen').
72
+ * Input is the array produced by convertToolsToOpenAIVercel().
78
73
  */
79
74
  private buildVercelTools;
80
75
  private mapUsageToMetadata;