@vybestack/llxprt-code-core 0.6.2 → 0.7.0-nightly.251207.a6190e71e

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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaConverter.js","sourceRoot":"","sources":["../../../../src/providers/openai-vercel/schemaConverter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Copyright 2025 Vybestack LLC
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ /**
17
+ * Normalizes various tool ID formats to OpenAI format (call_xxx)
18
+ * - hist_tool_xxx → call_xxx
19
+ * - toolu_xxx → call_xxx
20
+ * - call_xxx → call_xxx (unchanged)
21
+ * - raw UUID → call_uuid
22
+ * - Sanitizes non-alphanumeric characters (except underscore)
23
+ * - If result is empty after sanitization, generates a fallback ID
24
+ */
25
+ export declare function normalizeToOpenAIToolId(id: string): string;
26
+ /**
27
+ * Normalizes various tool ID formats to history format (hist_tool_xxx)
28
+ * - call_xxx → hist_tool_xxx
29
+ * - toolu_xxx → hist_tool_xxx
30
+ * - hist_tool_xxx → hist_tool_xxx (unchanged)
31
+ * - raw UUID → hist_tool_uuid
32
+ */
33
+ export declare function normalizeToHistoryToolId(id: string): string;
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Copyright 2025 Vybestack LLC
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ /**
17
+ * @plan PLAN-20251127-OPENAIVERCEL.P04a
18
+ * @requirement REQ-OV-004
19
+ * @description Tool ID normalization utility functions
20
+ */
21
+ import * as crypto from 'crypto';
22
+ /**
23
+ * Normalizes various tool ID formats to OpenAI format (call_xxx)
24
+ * - hist_tool_xxx → call_xxx
25
+ * - toolu_xxx → call_xxx
26
+ * - call_xxx → call_xxx (unchanged)
27
+ * - raw UUID → call_uuid
28
+ * - Sanitizes non-alphanumeric characters (except underscore)
29
+ * - If result is empty after sanitization, generates a fallback ID
30
+ */
31
+ export function normalizeToOpenAIToolId(id) {
32
+ const sanitize = (value) => value.replace(/[^a-zA-Z0-9_]/g, '') ||
33
+ 'call_' + crypto.randomUUID().replace(/-/g, '');
34
+ // If already in OpenAI format, sanitize and return
35
+ if (id.startsWith('call_')) {
36
+ const sanitized = sanitize(id);
37
+ // If only "call_" remains after sanitization, generate fallback
38
+ if (sanitized === 'call_') {
39
+ return 'call_' + crypto.randomUUID().replace(/-/g, '');
40
+ }
41
+ return sanitized;
42
+ }
43
+ // For history format, extract the UUID and add OpenAI prefix
44
+ if (id.startsWith('hist_tool_')) {
45
+ const uuid = id.substring('hist_tool_'.length);
46
+ const sanitizedUuid = uuid.replace(/[^a-zA-Z0-9_]/g, '');
47
+ // If nothing left after sanitization, generate fallback
48
+ if (!sanitizedUuid) {
49
+ return 'call_' + crypto.randomUUID().replace(/-/g, '');
50
+ }
51
+ return 'call_' + sanitizedUuid;
52
+ }
53
+ // For Anthropic format, extract the UUID and add OpenAI prefix
54
+ if (id.startsWith('toolu_')) {
55
+ const uuid = id.substring('toolu_'.length);
56
+ const sanitizedUuid = uuid.replace(/[^a-zA-Z0-9_]/g, '');
57
+ // If nothing left after sanitization, generate fallback
58
+ if (!sanitizedUuid) {
59
+ return 'call_' + crypto.randomUUID().replace(/-/g, '');
60
+ }
61
+ return 'call_' + sanitizedUuid;
62
+ }
63
+ // Unknown format - assume it's a raw UUID or identifier
64
+ const sanitizedId = id.replace(/[^a-zA-Z0-9_]/g, '');
65
+ // If nothing left after sanitization, generate fallback
66
+ if (!sanitizedId) {
67
+ return 'call_' + crypto.randomUUID().replace(/-/g, '');
68
+ }
69
+ return 'call_' + sanitizedId;
70
+ }
71
+ /**
72
+ * Normalizes various tool ID formats to history format (hist_tool_xxx)
73
+ * - call_xxx → hist_tool_xxx
74
+ * - toolu_xxx → hist_tool_xxx
75
+ * - hist_tool_xxx → hist_tool_xxx (unchanged)
76
+ * - raw UUID → hist_tool_uuid
77
+ */
78
+ export function normalizeToHistoryToolId(id) {
79
+ // If already in history format, sanitize and return
80
+ if (id.startsWith('hist_tool_')) {
81
+ const uuid = id.substring('hist_tool_'.length);
82
+ const sanitizedUuid = uuid.replace(/[^a-zA-Z0-9_]/g, '');
83
+ // If nothing left after sanitization, generate fallback
84
+ if (!sanitizedUuid) {
85
+ return 'hist_tool_' + crypto.randomUUID().replace(/-/g, '');
86
+ }
87
+ return 'hist_tool_' + sanitizedUuid;
88
+ }
89
+ // For OpenAI format, extract the UUID and add history prefix
90
+ if (id.startsWith('call_')) {
91
+ const uuid = id.substring('call_'.length);
92
+ const sanitizedUuid = uuid.replace(/[^a-zA-Z0-9_]/g, '');
93
+ // If nothing left after sanitization, generate fallback
94
+ if (!sanitizedUuid) {
95
+ return 'hist_tool_' + crypto.randomUUID().replace(/-/g, '');
96
+ }
97
+ return 'hist_tool_' + sanitizedUuid;
98
+ }
99
+ // For Anthropic format, extract the UUID and add history prefix
100
+ if (id.startsWith('toolu_')) {
101
+ const uuid = id.substring('toolu_'.length);
102
+ const sanitizedUuid = uuid.replace(/[^a-zA-Z0-9_]/g, '');
103
+ // If nothing left after sanitization, generate fallback
104
+ if (!sanitizedUuid) {
105
+ return 'hist_tool_' + crypto.randomUUID().replace(/-/g, '');
106
+ }
107
+ return 'hist_tool_' + sanitizedUuid;
108
+ }
109
+ // Unknown format - assume it's a raw UUID or identifier
110
+ const sanitizedId = id.replace(/[^a-zA-Z0-9_]/g, '');
111
+ // If nothing left after sanitization, generate fallback
112
+ if (!sanitizedId) {
113
+ return 'hist_tool_' + crypto.randomUUID().replace(/-/g, '');
114
+ }
115
+ return 'hist_tool_' + sanitizedId;
116
+ }
117
+ //# sourceMappingURL=toolIdUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolIdUtils.js","sourceRoot":"","sources":["../../../../src/providers/openai-vercel/toolIdUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Utility functions for handling reasoning/thinking content across providers.
3
+ *
4
+ * @plan PLAN-20251202-THINKING.P06
5
+ * @requirement REQ-THINK-002
6
+ */
7
+ import type { IContent, ThinkingBlock } from '../../services/history/IContent.js';
8
+ /** Policy for stripping thinking blocks from context */
9
+ export type StripPolicy = 'all' | 'allButLast' | 'none';
10
+ /**
11
+ * Extract all ThinkingBlock instances from an IContent.
12
+ *
13
+ * @plan PLAN-20251202-THINKING.P08
14
+ * @requirement REQ-THINK-002.1
15
+ */
16
+ export declare function extractThinkingBlocks(content: IContent): ThinkingBlock[];
17
+ /**
18
+ * Filter thinking blocks from contents based on strip policy.
19
+ *
20
+ * @plan PLAN-20251202-THINKING.P08
21
+ * @requirement REQ-THINK-002.2
22
+ */
23
+ export declare function filterThinkingForContext(contents: IContent[], policy: StripPolicy): IContent[];
24
+ /**
25
+ * Convert ThinkingBlocks to a single reasoning_content string.
26
+ *
27
+ * @plan PLAN-20251202-THINKING.P08
28
+ * @requirement REQ-THINK-002.3
29
+ */
30
+ export declare function thinkingToReasoningField(blocks: ThinkingBlock[]): string | undefined;
31
+ /**
32
+ * Estimate token count for thinking blocks.
33
+ *
34
+ * @plan PLAN-20251202-THINKING.P08
35
+ * @requirement REQ-THINK-002.4
36
+ */
37
+ export declare function estimateThinkingTokens(blocks: ThinkingBlock[]): number;
38
+ /**
39
+ * Helper: Remove thinking blocks from a single IContent.
40
+ *
41
+ * @plan PLAN-20251202-THINKING.P08
42
+ */
43
+ export declare function removeThinkingFromContent(content: IContent): IContent;
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Utility functions for handling reasoning/thinking content across providers.
3
+ *
4
+ * @plan PLAN-20251202-THINKING.P06
5
+ * @requirement REQ-THINK-002
6
+ */
7
+ /**
8
+ * Extract all ThinkingBlock instances from an IContent.
9
+ *
10
+ * @plan PLAN-20251202-THINKING.P08
11
+ * @requirement REQ-THINK-002.1
12
+ */
13
+ export function extractThinkingBlocks(content) {
14
+ const result = [];
15
+ for (const block of content.blocks) {
16
+ if (block.type === 'thinking') {
17
+ result.push(block);
18
+ }
19
+ }
20
+ return result;
21
+ }
22
+ /**
23
+ * Filter thinking blocks from contents based on strip policy.
24
+ *
25
+ * @plan PLAN-20251202-THINKING.P08
26
+ * @requirement REQ-THINK-002.2
27
+ */
28
+ export function filterThinkingForContext(contents, policy) {
29
+ if (policy === 'none') {
30
+ return contents;
31
+ }
32
+ if (policy === 'all') {
33
+ return contents.map(removeThinkingFromContent);
34
+ }
35
+ // policy === 'allButLast'
36
+ // Find the last content that has thinking blocks
37
+ let lastWithThinkingIndex = -1;
38
+ for (let i = contents.length - 1; i >= 0; i--) {
39
+ if (contents[i].blocks.some((b) => b.type === 'thinking')) {
40
+ lastWithThinkingIndex = i;
41
+ break;
42
+ }
43
+ }
44
+ if (lastWithThinkingIndex === -1) {
45
+ // No content has thinking blocks
46
+ return contents;
47
+ }
48
+ return contents.map((content, index) => {
49
+ if (index === lastWithThinkingIndex) {
50
+ return content; // Keep thinking in the last one
51
+ }
52
+ return removeThinkingFromContent(content);
53
+ });
54
+ }
55
+ /**
56
+ * Convert ThinkingBlocks to a single reasoning_content string.
57
+ *
58
+ * @plan PLAN-20251202-THINKING.P08
59
+ * @requirement REQ-THINK-002.3
60
+ */
61
+ export function thinkingToReasoningField(blocks) {
62
+ if (blocks.length === 0) {
63
+ return undefined;
64
+ }
65
+ return blocks.map((b) => b.thought).join('\n');
66
+ }
67
+ /**
68
+ * Estimate token count for thinking blocks.
69
+ *
70
+ * @plan PLAN-20251202-THINKING.P08
71
+ * @requirement REQ-THINK-002.4
72
+ */
73
+ export function estimateThinkingTokens(blocks) {
74
+ let total = 0;
75
+ for (const block of blocks) {
76
+ // Simple estimation: ~4 characters per token
77
+ total += Math.ceil(block.thought.length / 4);
78
+ }
79
+ return total;
80
+ }
81
+ /**
82
+ * Helper: Remove thinking blocks from a single IContent.
83
+ *
84
+ * @plan PLAN-20251202-THINKING.P08
85
+ */
86
+ export function removeThinkingFromContent(content) {
87
+ return {
88
+ ...content,
89
+ blocks: content.blocks.filter((block) => block.type !== 'thinking'),
90
+ };
91
+ }
92
+ //# sourceMappingURL=reasoningUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoningUtils.js","sourceRoot":"","sources":["../../../../src/providers/reasoning/reasoningUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAiB;IACrD,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,KAAsB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAoB,EACpB,MAAmB;IAEnB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,QAAQ,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACjD,CAAC;IAED,0BAA0B;IAC1B,iDAAiD;IACjD,IAAI,qBAAqB,GAAG,CAAC,CAAC,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;YAC1D,qBAAqB,GAAG,CAAC,CAAC;YAC1B,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,qBAAqB,KAAK,CAAC,CAAC,EAAE,CAAC;QACjC,iCAAiC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACrC,IAAI,KAAK,KAAK,qBAAqB,EAAE,CAAC;YACpC,OAAO,OAAO,CAAC,CAAC,gCAAgC;QAClD,CAAC;QACD,OAAO,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAuB;IAEvB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAuB;IAC5D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,6CAA6C;QAC7C,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAiB;IACzD,OAAO;QACL,GAAG,OAAO;QACV,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;KACpE,CAAC;AACJ,CAAC"}
@@ -77,8 +77,12 @@ function isIPv4LoopbackRange(ip) {
77
77
  if (!ipv4Match) {
78
78
  return false;
79
79
  }
80
- const firstOctet = Number(ipv4Match[1]);
81
- return firstOctet === 127;
80
+ const octets = ipv4Match.slice(1).map(Number);
81
+ // Validate octets are in valid range (consistent with isPrivateIPv4)
82
+ if (octets.some((octet) => octet < 0 || octet > 255)) {
83
+ return false;
84
+ }
85
+ return octets[0] === 127;
82
86
  }
83
87
  /**
84
88
  * Checks if an IPv4 address is in a private range.
@@ -1 +1 @@
1
- {"version":3,"file":"localEndpoint.js","sourceRoot":"","sources":["../../../../src/providers/utils/localEndpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAAC,GAAuB;IACrD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAE/C,sBAAsB;QACtB,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,8CAA8C;QAC9C,sDAAsD;QACtD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gCAAgC;QAChC,sDAAsD;QACtD,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,8BAA8B;QAC9B,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,cAAc;QACd,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,EAAU;IACrC,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC3E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,UAAU,KAAK,GAAG,CAAC;AAC5B,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,EAAU;IAC/B,qBAAqB;IACrB,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC3E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE9C,qCAAqC;IACrC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IAE/B,aAAa;IACb,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0CAA0C;IAC1C,IAAI,KAAK,KAAK,GAAG,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB;IACjB,IAAI,KAAK,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"localEndpoint.js","sourceRoot":"","sources":["../../../../src/providers/utils/localEndpoint.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,20 @@ export interface ReadonlySettingsSnapshot {
31
31
  allowed?: string[];
32
32
  disabled?: string[];
33
33
  };
34
+ /** @plan PLAN-20251202-THINKING.P03b @requirement REQ-THINK-006.1 */
35
+ 'reasoning.enabled'?: boolean;
36
+ /** @plan PLAN-20251202-THINKING.P03b @requirement REQ-THINK-006.2 */
37
+ 'reasoning.includeInContext'?: boolean;
38
+ /** @plan PLAN-20251202-THINKING.P03b @requirement REQ-THINK-006.3 */
39
+ 'reasoning.includeInResponse'?: boolean;
40
+ /** @plan PLAN-20251202-THINKING.P03b @requirement REQ-THINK-006.4 */
41
+ 'reasoning.format'?: 'native' | 'field';
42
+ /** @plan PLAN-20251202-THINKING.P03b @requirement REQ-THINK-006.5 */
43
+ 'reasoning.stripFromContext'?: 'all' | 'allButLast' | 'none';
44
+ /** @plan PLAN-20251202-THINKING.P03b @requirement REQ-THINK-006.6 */
45
+ 'reasoning.effort'?: 'minimal' | 'low' | 'medium' | 'high';
46
+ /** @plan PLAN-20251202-THINKING.P03b @requirement REQ-THINK-006.7 */
47
+ 'reasoning.maxTokens'?: number;
34
48
  }
35
49
  /**
36
50
  * @plan PLAN-20251028-STATELESS6.P06
@@ -157,6 +171,19 @@ export interface AgentRuntimeContext {
157
171
  contextLimit(): number;
158
172
  preserveThreshold(): number;
159
173
  toolFormatOverride(): string | undefined;
174
+ /**
175
+ * @plan PLAN-20251202-THINKING.P03b
176
+ * @requirement REQ-THINK-006
177
+ */
178
+ reasoning: {
179
+ enabled(): boolean;
180
+ includeInContext(): boolean;
181
+ includeInResponse(): boolean;
182
+ format(): 'native' | 'field';
183
+ stripFromContext(): 'all' | 'allButLast' | 'none';
184
+ effort(): 'minimal' | 'low' | 'medium' | 'high' | undefined;
185
+ maxTokens(): number | undefined;
186
+ };
160
187
  };
161
188
  /** Telemetry logging adapter with metadata enrichment */
162
189
  readonly telemetry: AgentRuntimeTelemetryAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRuntimeContext.js","sourceRoot":"","sources":["../../../src/runtime/AgentRuntimeContext.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4CH;;;;;GAKG;AACH,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,8BAAW,CAAA;IACX,kCAAe,CAAA;AACjB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B"}
1
+ {"version":3,"file":"AgentRuntimeContext.js","sourceRoot":"","sources":["../../../src/runtime/AgentRuntimeContext.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0DH;;;;;GAKG;AACH,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,8BAAW,CAAA;IACX,kCAAe,CAAA;AACjB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B"}
@@ -14,8 +14,15 @@ import { HistoryService } from '../services/history/HistoryService.js';
14
14
  import { tokenLimit } from '../core/tokenLimits.js';
15
15
  const EPHEMERAL_DEFAULTS = {
16
16
  compressionThreshold: 0.8,
17
- contextLimit: 60_000,
18
17
  preserveThreshold: 0.2,
18
+ /** @plan PLAN-20251202-THINKING.P03b @requirement REQ-THINK-006 */
19
+ reasoning: {
20
+ enabled: true, // REQ-THINK-006.1
21
+ includeInContext: false, // REQ-THINK-006.2
22
+ includeInResponse: true, // REQ-THINK-006.3
23
+ format: 'field', // REQ-THINK-006.4
24
+ stripFromContext: 'none', // REQ-THINK-006.5
25
+ },
19
26
  };
20
27
  export function createAgentRuntimeContext(options) {
21
28
  if (!options.provider) {
@@ -45,6 +52,25 @@ export function createAgentRuntimeContext(options) {
45
52
  preserveThreshold: () => options.settings.preserveThreshold ??
46
53
  EPHEMERAL_DEFAULTS.preserveThreshold,
47
54
  toolFormatOverride: () => options.settings.toolFormatOverride,
55
+ /**
56
+ * @plan PLAN-20251202-THINKING.P03b
57
+ * @requirement REQ-THINK-006
58
+ */
59
+ reasoning: {
60
+ enabled: () => options.settings['reasoning.enabled'] ??
61
+ EPHEMERAL_DEFAULTS.reasoning.enabled,
62
+ includeInContext: () => options.settings['reasoning.includeInContext'] ??
63
+ EPHEMERAL_DEFAULTS.reasoning.includeInContext,
64
+ includeInResponse: () => options.settings['reasoning.includeInResponse'] ??
65
+ EPHEMERAL_DEFAULTS.reasoning.includeInResponse,
66
+ format: () => options.settings['reasoning.format'] ??
67
+ EPHEMERAL_DEFAULTS.reasoning.format,
68
+ stripFromContext: () => options.settings['reasoning.stripFromContext'] ?? EPHEMERAL_DEFAULTS.reasoning.stripFromContext,
69
+ effort: () => options.settings['reasoning.effort'],
70
+ maxTokens: () => typeof options.settings['reasoning.maxTokens'] === 'number'
71
+ ? options.settings['reasoning.maxTokens']
72
+ : undefined,
73
+ },
48
74
  };
49
75
  const providerRuntime = Object.freeze({
50
76
  ...options.providerRuntime,
@@ -1 +1 @@
1
- {"version":3,"file":"createAgentRuntimeContext.js","sourceRoot":"","sources":["../../../src/runtime/createAgentRuntimeContext.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAMvE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,kBAAkB,GAAG;IACzB,oBAAoB,EAAE,GAAG;IACzB,YAAY,EAAE,MAAM;IACpB,iBAAiB,EAAE,GAAG;CACd,CAAC;AAEX,MAAM,UAAU,yBAAyB,CACvC,OAA0C;IAE1C,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,0FAA0F,CAC3F,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,cAAc,EAAE,CAAC;IAExD,MAAM,UAAU,GAAG;QACjB,oBAAoB,EAAE,GAAW,EAAE,CACjC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;YACrC,kBAAkB,CAAC,oBAAoB;QACzC,YAAY,EAAE,GAAW,EAAE;YACzB,MAAM,YAAY,GAChB,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,KAAK,QAAQ;gBACjD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC;gBAC/B,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAC/B,CAAC,CAAC,SAAS,CAAC;YAChB,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC;QACD,iBAAiB,EAAE,GAAW,EAAE,CAC9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;YAClC,kBAAkB,CAAC,iBAAiB;QACtC,kBAAkB,EAAE,GAAuB,EAAE,CAC3C,OAAO,CAAC,QAAQ,CAAC,kBAAkB;KACtC,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;QACpC,GAAG,OAAO,CAAC,eAAe;QAC1B,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,QAAQ;YACxC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;YACxD,CAAC,CAAC,SAAS;KACd,CAA2B,CAAC;IAE7B,MAAM,OAAO,GAAwB;QACnC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO;QACP,UAAU;QACV,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,eAAe;KAChB,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"createAgentRuntimeContext.js","sourceRoot":"","sources":["../../../src/runtime/createAgentRuntimeContext.ts"],"names":[],"mappings":"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"}
@@ -131,6 +131,8 @@ export interface MediaBlock {
131
131
  }
132
132
  /**
133
133
  * Thinking/reasoning content (for models that support it)
134
+ * @plan PLAN-20251202-THINKING.P03
135
+ * @requirement REQ-THINK-001.1, REQ-THINK-001.2
134
136
  */
135
137
  export interface ThinkingBlock {
136
138
  type: 'thinking';
@@ -138,6 +140,10 @@ export interface ThinkingBlock {
138
140
  thought: string;
139
141
  /** Whether this thinking should be hidden from the user */
140
142
  isHidden?: boolean;
143
+ /** Source field name for round-trip serialization */
144
+ sourceField?: 'reasoning_content' | 'thinking' | 'thought' | 'think_tags';
145
+ /** Signature for Anthropic extended thinking */
146
+ signature?: string;
141
147
  }
142
148
  /**
143
149
  * Code content with syntax highlighting support
@@ -1 +1 @@
1
- {"version":3,"file":"IContent.js","sourceRoot":"","sources":["../../../../src/services/history/IContent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IContent.js","sourceRoot":"","sources":["../../../../src/services/history/IContent.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ export interface ProviderSettings {
40
40
  model?: string;
41
41
  maxTokens?: number;
42
42
  temperature?: number;
43
- toolFormat?: 'auto' | 'openai' | 'qwen' | 'hermes' | 'xml' | 'anthropic' | 'deepseek' | 'gemma' | 'llama';
43
+ toolFormat?: 'auto' | 'openai' | 'qwen' | 'kimi' | 'hermes' | 'xml' | 'anthropic' | 'deepseek' | 'gemma' | 'llama';
44
44
  /**
45
45
  * Anthropic prompt caching configuration
46
46
  * - 'off': No caching (default)
@@ -20,7 +20,7 @@
20
20
  */
21
21
  import { ITool } from '../providers/ITool.js';
22
22
  import { ToolCallBlock } from '../services/history/IContent.js';
23
- export type ToolFormat = 'openai' | 'anthropic' | 'deepseek' | 'qwen' | 'hermes' | 'xml' | 'llama' | 'gemma';
23
+ export type ToolFormat = 'openai' | 'anthropic' | 'deepseek' | 'qwen' | 'kimi' | 'hermes' | 'xml' | 'llama' | 'gemma';
24
24
  export interface OpenAIFunction {
25
25
  name: string;
26
26
  description?: string;
@@ -92,8 +92,11 @@ export class ToolFormatter {
92
92
  return undefined;
93
93
  }
94
94
  this.logger.debug(() => `Converting ${geminiTools.length} tool groups to ${format} format`);
95
- // For OpenAI-compatible formats (openai, qwen, deepseek), use the OpenAI conversion
96
- if (format === 'openai' || format === 'qwen' || format === 'deepseek') {
95
+ // For OpenAI-compatible formats (openai, qwen, deepseek, kimi), use the OpenAI conversion
96
+ if (format === 'openai' ||
97
+ format === 'qwen' ||
98
+ format === 'deepseek' ||
99
+ format === 'kimi') {
97
100
  return this.convertGeminiToOpenAI(geminiTools);
98
101
  }
99
102
  // For Anthropic format
@@ -147,6 +150,12 @@ export class ToolFormatter {
147
150
  if (newSchema.type) {
148
151
  newSchema.type = String(newSchema.type).toLowerCase();
149
152
  }
153
+ // Ensure required is always present for object types
154
+ // This is critical for some models like K2 to use structured function calls
155
+ // instead of falling back to text-based tool call format
156
+ if (newSchema.type === 'object' && !newSchema.required) {
157
+ newSchema.required = [];
158
+ }
150
159
  // Convert enum values if present (they should remain as-is)
151
160
  // But ensure they're arrays of strings, not some other type
152
161
  if (newSchema.enum && Array.isArray(newSchema.enum)) {
@@ -179,6 +188,7 @@ export class ToolFormatter {
179
188
  case 'openai':
180
189
  case 'deepseek': // DeepSeek uses same format as OpenAI for now
181
190
  case 'qwen': // Qwen uses same format as OpenAI for now
191
+ case 'kimi': // Kimi K2 uses same format as OpenAI
182
192
  // Guard verbose conversion logging
183
193
  if (this.logger.enabled) {
184
194
  this.logger.debug(() => `Converting ${tools.length} tools to ${format} format`);
@@ -239,6 +249,7 @@ export class ToolFormatter {
239
249
  case 'openai':
240
250
  case 'deepseek':
241
251
  case 'qwen':
252
+ case 'kimi':
242
253
  case 'gemma': {
243
254
  const openAiToolCall = rawToolCall;
244
255
  if (!openAiToolCall ||
@@ -326,6 +337,7 @@ export class ToolFormatter {
326
337
  case 'openai':
327
338
  case 'deepseek':
328
339
  case 'qwen':
340
+ case 'kimi':
329
341
  case 'gemma':
330
342
  // All use same accumulation logic for now
331
343
  if (deltaToolCall.index !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"ToolFormatter.js","sourceRoot":"","sources":["../../../src/tools/ToolFormatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolFormatter.js","sourceRoot":"","sources":["../../../src/tools/ToolFormatter.ts"],"names":[],"mappings":"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"}