@vybestack/llxprt-code-core 0.6.2 → 0.7.0-nightly.251206.43b97dbf4

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 (92) hide show
  1. package/dist/src/auth/precedence.js +9 -10
  2. package/dist/src/auth/precedence.js.map +1 -1
  3. package/dist/src/auth/types.d.ts +6 -6
  4. package/dist/src/core/geminiChat.d.ts +8 -0
  5. package/dist/src/core/geminiChat.js +63 -5
  6. package/dist/src/core/geminiChat.js.map +1 -1
  7. package/dist/src/core/turn.js +12 -8
  8. package/dist/src/core/turn.js.map +1 -1
  9. package/dist/src/ide/ide-client.js +4 -2
  10. package/dist/src/ide/ide-client.js.map +1 -1
  11. package/dist/src/index.d.ts +1 -0
  12. package/dist/src/index.js +1 -0
  13. package/dist/src/index.js.map +1 -1
  14. package/dist/src/parsers/TextToolCallParser.d.ts +0 -15
  15. package/dist/src/parsers/TextToolCallParser.js +21 -5
  16. package/dist/src/parsers/TextToolCallParser.js.map +1 -1
  17. package/dist/src/providers/BaseProvider.d.ts +3 -0
  18. package/dist/src/providers/BaseProvider.js +11 -0
  19. package/dist/src/providers/BaseProvider.js.map +1 -1
  20. package/dist/src/providers/IProvider.d.ts +3 -0
  21. package/dist/src/providers/ProviderManager.js +6 -0
  22. package/dist/src/providers/ProviderManager.js.map +1 -1
  23. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +0 -1
  24. package/dist/src/providers/anthropic/AnthropicProvider.js +233 -22
  25. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  26. package/dist/src/providers/anthropic/schemaConverter.d.ts +63 -0
  27. package/dist/src/providers/anthropic/schemaConverter.js +189 -0
  28. package/dist/src/providers/anthropic/schemaConverter.js.map +1 -0
  29. package/dist/src/providers/gemini/GeminiProvider.js +108 -11
  30. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  31. package/dist/src/providers/gemini/thoughtSignatures.d.ts +51 -0
  32. package/dist/src/providers/gemini/thoughtSignatures.js +189 -0
  33. package/dist/src/providers/gemini/thoughtSignatures.js.map +1 -0
  34. package/dist/src/providers/openai/OpenAIProvider.d.ts +78 -1
  35. package/dist/src/providers/openai/OpenAIProvider.js +1159 -190
  36. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  37. package/dist/src/providers/openai/ToolCallNormalizer.d.ts +6 -0
  38. package/dist/src/providers/openai/ToolCallNormalizer.js +16 -2
  39. package/dist/src/providers/openai/ToolCallNormalizer.js.map +1 -1
  40. package/dist/src/providers/openai/schemaConverter.d.ts +67 -0
  41. package/dist/src/providers/openai/schemaConverter.js +191 -0
  42. package/dist/src/providers/openai/schemaConverter.js.map +1 -0
  43. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.d.ts +0 -4
  44. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js +3 -75
  45. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js.map +1 -1
  46. package/dist/src/providers/openai-responses/schemaConverter.d.ts +65 -0
  47. package/dist/src/providers/openai-responses/schemaConverter.js +195 -0
  48. package/dist/src/providers/openai-responses/schemaConverter.js.map +1 -0
  49. package/dist/src/providers/openai-vercel/OpenAIVercelProvider.d.ts +146 -0
  50. package/dist/src/providers/openai-vercel/OpenAIVercelProvider.js +1177 -0
  51. package/dist/src/providers/openai-vercel/OpenAIVercelProvider.js.map +1 -0
  52. package/dist/src/providers/openai-vercel/errors.d.ts +46 -0
  53. package/dist/src/providers/openai-vercel/errors.js +137 -0
  54. package/dist/src/providers/openai-vercel/errors.js.map +1 -0
  55. package/dist/src/providers/openai-vercel/index.d.ts +22 -0
  56. package/dist/src/providers/openai-vercel/index.js +23 -0
  57. package/dist/src/providers/openai-vercel/index.js.map +1 -0
  58. package/dist/src/providers/openai-vercel/messageConversion.d.ts +36 -0
  59. package/dist/src/providers/openai-vercel/messageConversion.js +410 -0
  60. package/dist/src/providers/openai-vercel/messageConversion.js.map +1 -0
  61. package/dist/src/providers/openai-vercel/schemaConverter.d.ts +66 -0
  62. package/dist/src/providers/openai-vercel/schemaConverter.js +191 -0
  63. package/dist/src/providers/openai-vercel/schemaConverter.js.map +1 -0
  64. package/dist/src/providers/openai-vercel/toolIdUtils.d.ts +33 -0
  65. package/dist/src/providers/openai-vercel/toolIdUtils.js +117 -0
  66. package/dist/src/providers/openai-vercel/toolIdUtils.js.map +1 -0
  67. package/dist/src/providers/reasoning/reasoningUtils.d.ts +43 -0
  68. package/dist/src/providers/reasoning/reasoningUtils.js +92 -0
  69. package/dist/src/providers/reasoning/reasoningUtils.js.map +1 -0
  70. package/dist/src/providers/utils/localEndpoint.js +6 -2
  71. package/dist/src/providers/utils/localEndpoint.js.map +1 -1
  72. package/dist/src/runtime/AgentRuntimeContext.d.ts +27 -0
  73. package/dist/src/runtime/AgentRuntimeContext.js.map +1 -1
  74. package/dist/src/runtime/createAgentRuntimeContext.js +27 -1
  75. package/dist/src/runtime/createAgentRuntimeContext.js.map +1 -1
  76. package/dist/src/services/history/IContent.d.ts +6 -0
  77. package/dist/src/services/history/IContent.js.map +1 -1
  78. package/dist/src/settings/types.d.ts +1 -1
  79. package/dist/src/tools/IToolFormatter.d.ts +1 -1
  80. package/dist/src/tools/ToolFormatter.js +14 -2
  81. package/dist/src/tools/ToolFormatter.js.map +1 -1
  82. package/dist/src/tools/ToolIdStrategy.d.ts +72 -0
  83. package/dist/src/tools/ToolIdStrategy.js +107 -0
  84. package/dist/src/tools/ToolIdStrategy.js.map +1 -0
  85. package/dist/src/tools/todo-schemas.d.ts +4 -4
  86. package/dist/src/utils/filesearch/ignore.js +3 -2
  87. package/dist/src/utils/filesearch/ignore.js.map +1 -1
  88. package/dist/src/utils/gitIgnoreParser.js +2 -1
  89. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  90. package/dist/src/utils/schemaValidator.js +41 -6
  91. package/dist/src/utils/schemaValidator.js.map +1 -1
  92. package/package.json +3 -1
@@ -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
@@ -190,7 +253,7 @@ export declare class OpenAIProvider extends BaseProvider implements IProvider {
190
253
  getToolFormat(): string;
191
254
  /**
192
255
  * Detects the tool call format based on the model being used
193
- * @returns The detected tool format ('openai' or 'qwen')
256
+ * @returns The detected tool format ('openai', 'qwen', or 'kimi')
194
257
  */
195
258
  private detectToolFormat;
196
259
  /**
@@ -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
  }