@vybestack/llxprt-code-core 0.6.1-nightly.251203.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
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import Anthropic from '@anthropic-ai/sdk';
7
7
  import { DebugLogger } from '../../debug/index.js';
8
- import { ToolFormatter } from '../../tools/ToolFormatter.js';
8
+ import { convertToolsToAnthropic } from './schemaConverter.js';
9
9
  import { BaseProvider, } from '../BaseProvider.js';
10
10
  import { processToolParameters, logDoubleEscapingInChunk, } from '../../tools/doubleEscapeUtils.js';
11
11
  import { getCoreSystemPromptAsync } from '../../core/prompts.js';
@@ -144,9 +144,6 @@ export class AnthropicProvider extends BaseProvider {
144
144
  });
145
145
  return { client, authToken };
146
146
  }
147
- createToolFormatter() {
148
- return new ToolFormatter();
149
- }
150
147
  /**
151
148
  * @plan PLAN-20251023-STATELESS-HARDENING.P08
152
149
  * @requirement REQ-SP4-002
@@ -592,7 +589,6 @@ export class AnthropicProvider extends BaseProvider {
592
589
  */
593
590
  async *generateChatCompletionWithOptions(options) {
594
591
  const { client, authToken } = await this.buildProviderClient(options, options.resolved.telemetry);
595
- const callFormatter = this.createToolFormatter();
596
592
  const { contents: content, tools } = options;
597
593
  // Convert IContent directly to Anthropic API format (no IMessage!)
598
594
  const anthropicMessages = [];
@@ -801,12 +797,8 @@ export class AnthropicProvider extends BaseProvider {
801
797
  content: 'Hello',
802
798
  });
803
799
  }
804
- // Detect if we need qwen-style parameter processing (for GLM-4.5, qwen models)
805
- // but ALWAYS use anthropic format for the tool structure sent to the API
806
- const detectedFormat = this.detectToolFormat();
807
- const needsQwenParameterProcessing = detectedFormat === 'qwen';
808
- // Convert Gemini format tools to anthropic format (always for Anthropic API)
809
- let anthropicTools = callFormatter.convertGeminiToFormat(tools, 'anthropic');
800
+ // Convert Gemini format tools to Anthropic format using provider-specific converter
801
+ let anthropicTools = convertToolsToAnthropic(tools);
810
802
  // Stabilize tool ordering and JSON schema keys to prevent cache invalidation
811
803
  if (anthropicTools && anthropicTools.length > 0) {
812
804
  anthropicTools = [...anthropicTools]
@@ -1077,7 +1069,7 @@ export class AnthropicProvider extends BaseProvider {
1077
1069
  const jsonDelta = chunk.delta;
1078
1070
  currentToolCall.input += jsonDelta.partial_json;
1079
1071
  // Check for double-escaping patterns
1080
- logDoubleEscapingInChunk(jsonDelta.partial_json, currentToolCall.name, needsQwenParameterProcessing ? 'qwen' : 'anthropic');
1072
+ logDoubleEscapingInChunk(jsonDelta.partial_json, currentToolCall.name, 'anthropic');
1081
1073
  }
1082
1074
  }
1083
1075
  else if (chunk.type === 'content_block_stop') {
@@ -1085,7 +1077,7 @@ export class AnthropicProvider extends BaseProvider {
1085
1077
  const activeToolCall = currentToolCall;
1086
1078
  this.getStreamingLogger().debug(() => `Completed tool use: ${activeToolCall.name}`);
1087
1079
  // Process tool parameters with double-escape handling
1088
- const processedParameters = processToolParameters(activeToolCall.input, activeToolCall.name, needsQwenParameterProcessing ? 'qwen' : 'anthropic');
1080
+ const processedParameters = processToolParameters(activeToolCall.input, activeToolCall.name, 'anthropic');
1089
1081
  yield {
1090
1082
  speaker: 'ai',
1091
1083
  blocks: [
@@ -1133,7 +1125,7 @@ export class AnthropicProvider extends BaseProvider {
1133
1125
  }
1134
1126
  else if (contentBlock.type === 'tool_use') {
1135
1127
  // Process tool parameters with double-escape handling
1136
- const processedParameters = processToolParameters(JSON.stringify(contentBlock.input), contentBlock.name, needsQwenParameterProcessing ? 'qwen' : 'anthropic');
1128
+ const processedParameters = processToolParameters(JSON.stringify(contentBlock.input), contentBlock.name, 'anthropic');
1137
1129
  blocks.push({
1138
1130
  type: 'tool_call',
1139
1131
  id: this.normalizeToHistoryToolId(contentBlock.id),
@@ -1 +1 @@
1
- {"version":3,"file":"AnthropicProvider.js","sourceRoot":"","sources":["../../../../src/providers/anthropic/AnthropicProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnthropicProvider.js","sourceRoot":"","sources":["../../../../src/providers/anthropic/AnthropicProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Anthropic input schema format
8
+ */
9
+ export interface AnthropicInputSchema {
10
+ type: 'object';
11
+ properties?: Record<string, AnthropicPropertySchema>;
12
+ required: string[];
13
+ [key: string]: unknown;
14
+ }
15
+ /**
16
+ * Anthropic property schema (recursive for nested objects/arrays)
17
+ */
18
+ export interface AnthropicPropertySchema {
19
+ type: string;
20
+ description?: string;
21
+ enum?: string[];
22
+ items?: AnthropicPropertySchema;
23
+ properties?: Record<string, AnthropicPropertySchema>;
24
+ required?: string[];
25
+ minimum?: number;
26
+ maximum?: number;
27
+ minLength?: number;
28
+ maxLength?: number;
29
+ default?: unknown;
30
+ }
31
+ /**
32
+ * Anthropic tool format
33
+ */
34
+ export interface AnthropicTool {
35
+ name: string;
36
+ description: string;
37
+ input_schema: AnthropicInputSchema;
38
+ }
39
+ /**
40
+ * Input format from Gemini-style tool declarations
41
+ */
42
+ interface GeminiToolDeclaration {
43
+ name: string;
44
+ description?: string;
45
+ parametersJsonSchema?: unknown;
46
+ parameters?: unknown;
47
+ }
48
+ /**
49
+ * Convert a Gemini-style schema to Anthropic input_schema format.
50
+ * Handles:
51
+ * - Uppercase type enums → lowercase strings
52
+ * - Missing required fields → adds empty array
53
+ * - String numeric values → proper numbers
54
+ * - Recursive property/items conversion
55
+ */
56
+ export declare function convertSchemaToAnthropic(schema: unknown): AnthropicInputSchema;
57
+ /**
58
+ * Convert an array of Gemini-style tool declarations to Anthropic format
59
+ */
60
+ export declare function convertToolsToAnthropic(geminiTools?: Array<{
61
+ functionDeclarations?: GeminiToolDeclaration[];
62
+ }>): AnthropicTool[] | undefined;
63
+ export {};
@@ -0,0 +1,189 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Schema converter for Anthropic provider.
8
+ * Converts tool schemas to Anthropic-compatible format.
9
+ *
10
+ * Key requirements for Anthropic tool use:
11
+ * - name: string
12
+ * - description: string
13
+ * - input_schema: object with type, properties, required
14
+ * - required: must always be present as an array (even if empty)
15
+ */
16
+ import { DebugLogger } from '../../debug/DebugLogger.js';
17
+ const logger = new DebugLogger('llxprt:provider:anthropic:schema');
18
+ /**
19
+ * Convert a Gemini-style schema to Anthropic input_schema format.
20
+ * Handles:
21
+ * - Uppercase type enums → lowercase strings
22
+ * - Missing required fields → adds empty array
23
+ * - String numeric values → proper numbers
24
+ * - Recursive property/items conversion
25
+ */
26
+ export function convertSchemaToAnthropic(schema) {
27
+ if (!schema || typeof schema !== 'object') {
28
+ return {
29
+ type: 'object',
30
+ properties: {},
31
+ required: [],
32
+ };
33
+ }
34
+ const input = schema;
35
+ const result = {
36
+ type: 'object',
37
+ properties: {},
38
+ required: [],
39
+ };
40
+ // Convert properties recursively
41
+ if (input.properties && typeof input.properties === 'object') {
42
+ result.properties = convertProperties(input.properties);
43
+ }
44
+ // Ensure required is always an array - CRITICAL for consistent behavior
45
+ if (Array.isArray(input.required)) {
46
+ result.required = input.required.map((r) => String(r));
47
+ }
48
+ else {
49
+ // Always include required field, even if empty
50
+ result.required = [];
51
+ }
52
+ return result;
53
+ }
54
+ /**
55
+ * Convert properties object recursively
56
+ */
57
+ function convertProperties(properties) {
58
+ const result = {};
59
+ for (const [key, value] of Object.entries(properties)) {
60
+ if (value && typeof value === 'object') {
61
+ result[key] = convertPropertySchema(value);
62
+ }
63
+ }
64
+ return result;
65
+ }
66
+ /**
67
+ * Convert a single property schema
68
+ */
69
+ function convertPropertySchema(prop) {
70
+ const result = {
71
+ type: normalizeType(prop.type),
72
+ };
73
+ // Copy description
74
+ if (typeof prop.description === 'string') {
75
+ result.description = prop.description;
76
+ }
77
+ // Handle enum values
78
+ if (Array.isArray(prop.enum)) {
79
+ result.enum = prop.enum.map((v) => String(v));
80
+ }
81
+ // Handle array items
82
+ if (prop.items) {
83
+ if (Array.isArray(prop.items)) {
84
+ // Tuple type - use first item as representative
85
+ result.items = convertPropertySchema(prop.items[0]);
86
+ }
87
+ else {
88
+ result.items = convertPropertySchema(prop.items);
89
+ }
90
+ }
91
+ // Handle nested object properties
92
+ if (prop.properties && typeof prop.properties === 'object') {
93
+ result.properties = convertProperties(prop.properties);
94
+ // Nested objects should also have required array
95
+ if (Array.isArray(prop.required)) {
96
+ result.required = prop.required.map((r) => String(r));
97
+ }
98
+ else if (result.type === 'object') {
99
+ result.required = [];
100
+ }
101
+ }
102
+ // Handle numeric constraints (convert strings to numbers if needed)
103
+ if (prop.minimum !== undefined) {
104
+ result.minimum = toNumber(prop.minimum);
105
+ }
106
+ if (prop.maximum !== undefined) {
107
+ result.maximum = toNumber(prop.maximum);
108
+ }
109
+ if (prop.minLength !== undefined) {
110
+ result.minLength = toNumber(prop.minLength);
111
+ }
112
+ if (prop.maxLength !== undefined) {
113
+ result.maxLength = toNumber(prop.maxLength);
114
+ }
115
+ // Handle default value
116
+ if (prop.default !== undefined) {
117
+ result.default = prop.default;
118
+ }
119
+ return result;
120
+ }
121
+ /**
122
+ * Normalize type value to lowercase string.
123
+ * Handles Gemini's uppercase Type enum (e.g., "OBJECT" → "object")
124
+ */
125
+ function normalizeType(type) {
126
+ if (typeof type === 'string') {
127
+ return type.toLowerCase();
128
+ }
129
+ if (typeof type === 'number') {
130
+ // Gemini Type enum values
131
+ const typeMap = {
132
+ 1: 'string',
133
+ 2: 'number',
134
+ 3: 'integer',
135
+ 4: 'boolean',
136
+ 5: 'array',
137
+ 6: 'object',
138
+ };
139
+ return typeMap[type] || 'string';
140
+ }
141
+ return 'string';
142
+ }
143
+ /**
144
+ * Convert value to number, handling strings
145
+ */
146
+ function toNumber(value) {
147
+ if (typeof value === 'number') {
148
+ return value;
149
+ }
150
+ if (typeof value === 'string') {
151
+ const num = parseFloat(value);
152
+ return isNaN(num) ? undefined : num;
153
+ }
154
+ return undefined;
155
+ }
156
+ /**
157
+ * Convert an array of Gemini-style tool declarations to Anthropic format
158
+ */
159
+ export function convertToolsToAnthropic(geminiTools) {
160
+ if (!geminiTools || geminiTools.length === 0) {
161
+ return undefined;
162
+ }
163
+ const anthropicTools = [];
164
+ for (const toolGroup of geminiTools) {
165
+ if (!toolGroup.functionDeclarations) {
166
+ continue;
167
+ }
168
+ for (const decl of toolGroup.functionDeclarations) {
169
+ // Try parametersJsonSchema first, fall back to parameters
170
+ const toolParameters = 'parametersJsonSchema' in decl
171
+ ? decl.parametersJsonSchema
172
+ : decl.parameters;
173
+ const inputSchema = convertSchemaToAnthropic(toolParameters);
174
+ anthropicTools.push({
175
+ name: decl.name,
176
+ description: decl.description || '',
177
+ input_schema: inputSchema,
178
+ });
179
+ }
180
+ }
181
+ if (logger.enabled && anthropicTools.length > 0) {
182
+ logger.debug(() => `Converted ${anthropicTools.length} tools to Anthropic format`, {
183
+ toolNames: anthropicTools.map((t) => t.name),
184
+ firstToolHasRequired: anthropicTools[0]?.input_schema.required !== undefined,
185
+ });
186
+ }
187
+ return anthropicTools.length > 0 ? anthropicTools : undefined;
188
+ }
189
+ //# sourceMappingURL=schemaConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaConverter.js","sourceRoot":"","sources":["../../../../src/providers/anthropic/schemaConverter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,kCAAkC,CAAC,CAAC;AAgDnE;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAe;IAEf,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAiC,CAAC;IAChD,MAAM,MAAM,GAAyB;QACnC,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,iCAAiC;IACjC,IAAI,KAAK,CAAC,UAAU,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC7D,MAAM,CAAC,UAAU,GAAG,iBAAiB,CACnC,KAAK,CAAC,UAAqC,CAC5C,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,+CAA+C;QAC/C,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,UAAmC;IAEnC,MAAM,MAAM,GAA4C,EAAE,CAAC;IAE3D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,KAAgC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC5B,IAA6B;IAE7B,MAAM,MAAM,GAA4B;QACtC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;KAC/B,CAAC;IAEF,mBAAmB;IACnB,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACxC,CAAC;IAED,qBAAqB;IACrB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,qBAAqB;IACrB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,gDAAgD;YAChD,MAAM,CAAC,KAAK,GAAG,qBAAqB,CAClC,IAAI,CAAC,KAAK,CAAC,CAAC,CAA4B,CACzC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,GAAG,qBAAqB,CAClC,IAAI,CAAC,KAAgC,CACtC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC3D,MAAM,CAAC,UAAU,GAAG,iBAAiB,CACnC,IAAI,CAAC,UAAqC,CAC3C,CAAC;QACF,iDAAiD;QACjD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,uBAAuB;IACvB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,IAAa;IAClC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,0BAA0B;QAC1B,MAAM,OAAO,GAA2B;YACtC,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,SAAS;YACZ,CAAC,EAAE,SAAS;YACZ,CAAC,EAAE,OAAO;YACV,CAAC,EAAE,QAAQ;SACZ,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;IACnC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IACtC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,WAEE;IAEF,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,cAAc,GAAoB,EAAE,CAAC;IAE3C,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,oBAAoB,EAAE,CAAC;YAClD,0DAA0D;YAC1D,MAAM,cAAc,GAClB,sBAAsB,IAAI,IAAI;gBAC5B,CAAC,CAAC,IAAI,CAAC,oBAAoB;gBAC3B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAEtB,MAAM,WAAW,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;YAE7D,cAAc,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;gBACnC,YAAY,EAAE,WAAW;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,KAAK,CACV,GAAG,EAAE,CAAC,aAAa,cAAc,CAAC,MAAM,4BAA4B,EACpE;YACE,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5C,oBAAoB,EAClB,cAAc,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,QAAQ,KAAK,SAAS;SACzD,CACF,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;AAChE,CAAC"}
@@ -70,6 +70,62 @@ export declare class OpenAIProvider extends BaseProvider implements IProvider {
70
70
  * Instantiates a fresh OpenAI client per call to preserve stateless behaviour.
71
71
  */
72
72
  private instantiateClient;
73
+ /**
74
+ * Coerce provider "content" (which may be a string or an array-of-parts)
75
+ * into a plain string. Defensive for OpenAI-compatible providers that emit
76
+ * structured content blocks.
77
+ */
78
+ private coerceMessageContentToString;
79
+ /**
80
+ * Strip provider-specific "thinking" / reasoning markup from visible text.
81
+ * This prevents DeepSeek / Kimi-style <think> blocks from leaking into
82
+ * user-visible output or tool arguments.
83
+ */
84
+ private sanitizeProviderText;
85
+ /**
86
+ * Extract thinking content from <think>, <thinking>, or <analysis> tags
87
+ * and return it as a ThinkingBlock. Returns null if no thinking tags found.
88
+ *
89
+ * This must be called BEFORE sanitizeProviderText which strips these tags.
90
+ *
91
+ * Handles two formats:
92
+ * 1. Standard: <think>Full thinking paragraph here...</think>
93
+ * 2. Fragmented (Synthetic API): <think>word</think><think>word</think>...
94
+ *
95
+ * For fragmented format, joins with spaces. For standard, joins with newlines.
96
+ *
97
+ * @plan PLAN-20251202-THINKING.P16
98
+ * @requirement REQ-THINK-003
99
+ */
100
+ private extractThinkTagsAsBlock;
101
+ /**
102
+ * Normalize tool name by stripping Kimi-K2 style prefixes.
103
+ *
104
+ * Handles malformed tool names where the model concatenates prefixes like
105
+ * "functions" or "call_functions" with the actual tool name:
106
+ * - "functionslist_directory" -> "list_directory"
107
+ * - "call_functionslist_directory6" -> "list_directory"
108
+ * - "call_functionsglob7" -> "glob"
109
+ */
110
+ private normalizeToolName;
111
+ /**
112
+ * Sanitize raw tool argument payloads before JSON parsing:
113
+ * - Remove thinking blocks (<think>...</think>, etc.).
114
+ * - Strip Markdown code fences (```json ... ```).
115
+ * - Try to isolate the main JSON object if wrapped in prose.
116
+ */
117
+ private sanitizeToolArgumentsString;
118
+ /**
119
+ * Parse Kimi-K2 `<|tool_calls_section_begin|> ... <|tool_calls_section_end|>`
120
+ * blocks out of a text string.
121
+ *
122
+ * - Returns cleanedText with the whole section removed.
123
+ * - Returns ToolCallBlock[] constructed from the section contents.
124
+ *
125
+ * This is used for HF/vLLM-style Kimi deployments where `tool_calls` is empty
126
+ * and all tool info is only encoded in the text template.
127
+ */
128
+ private extractKimiToolCallsFromText;
73
129
  /**
74
130
  * @plan:PLAN-20251023-STATELESS-HARDENING.P09
75
131
  * @requirement:REQ-SP4-002
@@ -140,6 +196,13 @@ export declare class OpenAIProvider extends BaseProvider implements IProvider {
140
196
  * Convert IContent array to OpenAI ChatCompletionMessageParam array
141
197
  */
142
198
  private convertToOpenAIMessages;
199
+ /**
200
+ * Build messages with optional reasoning_content based on settings.
201
+ *
202
+ * @plan PLAN-20251202-THINKING.P14
203
+ * @requirement REQ-THINK-004, REQ-THINK-006
204
+ */
205
+ private buildMessagesWithReasoning;
143
206
  /**
144
207
  * Validates tool message sequence to ensure each tool message has a corresponding tool_calls
145
208
  * This prevents "messages with role 'tool' must be a response to a preceeding message with 'tool_calls'" errors
@@ -207,4 +270,18 @@ export declare class OpenAIProvider extends BaseProvider implements IProvider {
207
270
  * @returns true if the request should be retried, false otherwise
208
271
  */
209
272
  shouldRetryResponse(error: unknown): boolean;
273
+ /**
274
+ * Parse reasoning_content from streaming delta.
275
+ *
276
+ * @plan PLAN-20251202-THINKING.P11, PLAN-20251202-THINKING.P16
277
+ * @requirement REQ-THINK-003.1, REQ-THINK-003.3, REQ-THINK-003.4
278
+ */
279
+ private parseStreamingReasoningDelta;
280
+ /**
281
+ * Parse reasoning_content from non-streaming message.
282
+ *
283
+ * @plan PLAN-20251202-THINKING.P11, PLAN-20251202-THINKING.P16
284
+ * @requirement REQ-THINK-003.2, REQ-THINK-003.3, REQ-THINK-003.4
285
+ */
286
+ private parseNonStreamingReasoning;
210
287
  }