@aituber-onair/chat 0.47.0 → 0.48.0

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 (97) hide show
  1. package/README.ja.md +25 -12
  2. package/README.md +27 -12
  3. package/dist/cjs/constants/gemini.d.ts +17 -0
  4. package/dist/cjs/constants/gemini.d.ts.map +1 -1
  5. package/dist/cjs/constants/gemini.js +67 -1
  6. package/dist/cjs/constants/gemini.js.map +1 -1
  7. package/dist/cjs/constants/kimi.d.ts +10 -0
  8. package/dist/cjs/constants/kimi.d.ts.map +1 -1
  9. package/dist/cjs/constants/kimi.js +20 -1
  10. package/dist/cjs/constants/kimi.js.map +1 -1
  11. package/dist/cjs/services/ChatService.d.ts +2 -2
  12. package/dist/cjs/services/ChatService.d.ts.map +1 -1
  13. package/dist/cjs/services/ChatServiceFactory.d.ts.map +1 -1
  14. package/dist/cjs/services/ChatServiceFactory.js +1 -0
  15. package/dist/cjs/services/ChatServiceFactory.js.map +1 -1
  16. package/dist/cjs/services/providers/ChatServiceProvider.d.ts +9 -2
  17. package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
  18. package/dist/cjs/services/providers/gemini/GeminiChatService.d.ts +8 -2
  19. package/dist/cjs/services/providers/gemini/GeminiChatService.d.ts.map +1 -1
  20. package/dist/cjs/services/providers/gemini/GeminiChatService.js +65 -38
  21. package/dist/cjs/services/providers/gemini/GeminiChatService.js.map +1 -1
  22. package/dist/cjs/services/providers/gemini/GeminiChatServiceProvider.d.ts.map +1 -1
  23. package/dist/cjs/services/providers/gemini/GeminiChatServiceProvider.js +9 -2
  24. package/dist/cjs/services/providers/gemini/GeminiChatServiceProvider.js.map +1 -1
  25. package/dist/cjs/services/providers/gemini/geminiMessageConverter.d.ts +6 -0
  26. package/dist/cjs/services/providers/gemini/geminiMessageConverter.d.ts.map +1 -1
  27. package/dist/cjs/services/providers/gemini/geminiMessageConverter.js +61 -58
  28. package/dist/cjs/services/providers/gemini/geminiMessageConverter.js.map +1 -1
  29. package/dist/cjs/services/providers/kimi/KimiChatService.d.ts +5 -4
  30. package/dist/cjs/services/providers/kimi/KimiChatService.d.ts.map +1 -1
  31. package/dist/cjs/services/providers/kimi/KimiChatService.js +34 -18
  32. package/dist/cjs/services/providers/kimi/KimiChatService.js.map +1 -1
  33. package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.d.ts +1 -0
  34. package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.d.ts.map +1 -1
  35. package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.js +23 -1
  36. package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.js.map +1 -1
  37. package/dist/cjs/types/chat.d.ts +10 -2
  38. package/dist/cjs/types/chat.d.ts.map +1 -1
  39. package/dist/cjs/types/toolChat.d.ts +20 -0
  40. package/dist/cjs/types/toolChat.d.ts.map +1 -1
  41. package/dist/cjs/utils/openaiCompatibleSse.d.ts +1 -0
  42. package/dist/cjs/utils/openaiCompatibleSse.d.ts.map +1 -1
  43. package/dist/cjs/utils/openaiCompatibleSse.js +48 -5
  44. package/dist/cjs/utils/openaiCompatibleSse.js.map +1 -1
  45. package/dist/cjs/utils/processChatFlow.d.ts +2 -2
  46. package/dist/cjs/utils/processChatFlow.d.ts.map +1 -1
  47. package/dist/cjs/utils/processChatFlow.js +8 -3
  48. package/dist/cjs/utils/processChatFlow.js.map +1 -1
  49. package/dist/esm/constants/gemini.d.ts +17 -0
  50. package/dist/esm/constants/gemini.d.ts.map +1 -1
  51. package/dist/esm/constants/gemini.js +62 -0
  52. package/dist/esm/constants/gemini.js.map +1 -1
  53. package/dist/esm/constants/kimi.d.ts +10 -0
  54. package/dist/esm/constants/kimi.d.ts.map +1 -1
  55. package/dist/esm/constants/kimi.js +17 -0
  56. package/dist/esm/constants/kimi.js.map +1 -1
  57. package/dist/esm/services/ChatService.d.ts +2 -2
  58. package/dist/esm/services/ChatService.d.ts.map +1 -1
  59. package/dist/esm/services/ChatServiceFactory.d.ts.map +1 -1
  60. package/dist/esm/services/ChatServiceFactory.js +1 -0
  61. package/dist/esm/services/ChatServiceFactory.js.map +1 -1
  62. package/dist/esm/services/providers/ChatServiceProvider.d.ts +9 -2
  63. package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
  64. package/dist/esm/services/providers/gemini/GeminiChatService.d.ts +8 -2
  65. package/dist/esm/services/providers/gemini/GeminiChatService.d.ts.map +1 -1
  66. package/dist/esm/services/providers/gemini/GeminiChatService.js +66 -39
  67. package/dist/esm/services/providers/gemini/GeminiChatService.js.map +1 -1
  68. package/dist/esm/services/providers/gemini/GeminiChatServiceProvider.d.ts.map +1 -1
  69. package/dist/esm/services/providers/gemini/GeminiChatServiceProvider.js +10 -3
  70. package/dist/esm/services/providers/gemini/GeminiChatServiceProvider.js.map +1 -1
  71. package/dist/esm/services/providers/gemini/geminiMessageConverter.d.ts +6 -0
  72. package/dist/esm/services/providers/gemini/geminiMessageConverter.d.ts.map +1 -1
  73. package/dist/esm/services/providers/gemini/geminiMessageConverter.js +61 -58
  74. package/dist/esm/services/providers/gemini/geminiMessageConverter.js.map +1 -1
  75. package/dist/esm/services/providers/kimi/KimiChatService.d.ts +5 -4
  76. package/dist/esm/services/providers/kimi/KimiChatService.d.ts.map +1 -1
  77. package/dist/esm/services/providers/kimi/KimiChatService.js +36 -20
  78. package/dist/esm/services/providers/kimi/KimiChatService.js.map +1 -1
  79. package/dist/esm/services/providers/kimi/KimiChatServiceProvider.d.ts +1 -0
  80. package/dist/esm/services/providers/kimi/KimiChatServiceProvider.d.ts.map +1 -1
  81. package/dist/esm/services/providers/kimi/KimiChatServiceProvider.js +24 -2
  82. package/dist/esm/services/providers/kimi/KimiChatServiceProvider.js.map +1 -1
  83. package/dist/esm/types/chat.d.ts +10 -2
  84. package/dist/esm/types/chat.d.ts.map +1 -1
  85. package/dist/esm/types/toolChat.d.ts +20 -0
  86. package/dist/esm/types/toolChat.d.ts.map +1 -1
  87. package/dist/esm/utils/openaiCompatibleSse.d.ts +1 -0
  88. package/dist/esm/utils/openaiCompatibleSse.d.ts.map +1 -1
  89. package/dist/esm/utils/openaiCompatibleSse.js +48 -5
  90. package/dist/esm/utils/openaiCompatibleSse.js.map +1 -1
  91. package/dist/esm/utils/processChatFlow.d.ts +2 -2
  92. package/dist/esm/utils/processChatFlow.d.ts.map +1 -1
  93. package/dist/esm/utils/processChatFlow.js +8 -3
  94. package/dist/esm/utils/processChatFlow.js.map +1 -1
  95. package/dist/umd/aituber-onair-chat.js +325 -131
  96. package/dist/umd/aituber-onair-chat.min.js +8 -8
  97. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { GEMINI_VISION_SUPPORTED_MODELS, GEMINI_RECOMMENDED_MODELS, MODEL_GEMINI_3_1_FLASH_LITE, } from '../../../constants';
1
+ import { GEMINI_VISION_SUPPORTED_MODELS, GEMINI_RECOMMENDED_MODELS, MODEL_GEMINI_3_1_FLASH_LITE, isGeminiReasoningEffortModel, normalizeGeminiReasoningEffort, } from '../../../constants';
2
2
  import { GeminiChatService } from './GeminiChatService';
3
3
  import { resolveVisionModel } from '../../../utils';
4
4
  /**
@@ -11,16 +11,23 @@ export class GeminiChatServiceProvider {
11
11
  * @returns GeminiChatService instance
12
12
  */
13
13
  createChatService(options) {
14
+ const model = options.model || this.getDefaultModel();
15
+ if (options.reasoning_effort !== undefined &&
16
+ !isGeminiReasoningEffortModel(model)) {
17
+ throw new Error(`Model ${model} does not support Gemini reasoning_effort. ` +
18
+ 'Use it with Gemini 3 thinkingLevel models; ' +
19
+ 'Gemini 2.5 models use thinkingBudget instead.');
20
+ }
14
21
  // Use the visionModel if provided, otherwise use the model that supports vision
15
22
  const visionModel = resolveVisionModel({
16
- model: options.model,
23
+ model,
17
24
  visionModel: options.visionModel,
18
25
  defaultModel: this.getDefaultModel(),
19
26
  defaultVisionModel: this.getDefaultModel(),
20
27
  supportsVisionForModel: (model) => this.supportsVisionForModel(model),
21
28
  validate: 'resolved',
22
29
  });
23
- return new GeminiChatService(options.apiKey, options.model || this.getDefaultModel(), visionModel, options.tools || [], options.mcpServers || [], options.responseLength);
30
+ return new GeminiChatService(options.apiKey, model, visionModel, options.tools || [], options.mcpServers || [], options.responseLength, normalizeGeminiReasoningEffort(model, options.reasoning_effort));
24
31
  }
25
32
  /**
26
33
  * Get the provider name
@@ -1 +1 @@
1
- {"version":3,"file":"GeminiChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/gemini/GeminiChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;GAEG;AACH,MAAM,OAAO,yBAAyB;IAGpC;;;;OAIG;IACH,iBAAiB,CAAC,OAAiC;QACjD,gFAAgF;QAChF,MAAM,WAAW,GAAG,kBAAkB,CAAC;YACrC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE;YACpC,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE;YAC1C,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;YACrE,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;QAEH,OAAO,IAAI,iBAAiB,CAC1B,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,EACvC,WAAW,EACX,OAAO,CAAC,KAAK,IAAI,EAAE,EACnB,OAAO,CAAC,UAAU,IAAI,EAAE,EACxB,OAAO,CAAC,cAAc,CACvB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,OAAO,CAAC,GAAG,yBAAyB,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,qBAAqB,EAAE,KAAK,aAAa,CAAC;IACxD,CAAC;IAED,qBAAqB;QACnB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,KAAa;QAClC,OAAO,8BAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,6BAA6B,CAAC,KAAa;QACzC,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;IAC1E,CAAC;CACF"}
1
+ {"version":3,"file":"GeminiChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/gemini/GeminiChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;GAEG;AACH,MAAM,OAAO,yBAAyB;IAGpC;;;;OAIG;IACH,iBAAiB,CAAC,OAAiC;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACtD,IACE,OAAO,CAAC,gBAAgB,KAAK,SAAS;YACtC,CAAC,4BAA4B,CAAC,KAAK,CAAC,EACpC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,SAAS,KAAK,6CAA6C;gBACzD,6CAA6C;gBAC7C,+CAA+C,CAClD,CAAC;QACJ,CAAC;QAED,gFAAgF;QAChF,MAAM,WAAW,GAAG,kBAAkB,CAAC;YACrC,KAAK;YACL,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE;YACpC,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE;YAC1C,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;YACrE,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;QAEH,OAAO,IAAI,iBAAiB,CAC1B,OAAO,CAAC,MAAM,EACd,KAAK,EACL,WAAW,EACX,OAAO,CAAC,KAAK,IAAI,EAAE,EACnB,OAAO,CAAC,UAAU,IAAI,EAAE,EACxB,OAAO,CAAC,cAAc,EACtB,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAChE,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,OAAO,CAAC,GAAG,yBAAyB,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,qBAAqB,EAAE,KAAK,aAAa,CAAC;IACxD,CAAC;IAED,qBAAqB;QACnB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,KAAa;QAClC,OAAO,8BAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,6BAA6B,CAAC,KAAa;QACzC,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;IAC1E,CAAC;CACF"}
@@ -3,8 +3,14 @@ type GeminiMessage = {
3
3
  role: string | null;
4
4
  parts: any[];
5
5
  };
6
+ export type GeminiFunctionCallContext = {
7
+ name: string;
8
+ providerCallId?: string;
9
+ thoughtSignature?: string;
10
+ };
6
11
  type ConverterOptions = {
7
12
  callIdMap?: Map<string, string>;
13
+ functionCallContextMap?: Map<string, GeminiFunctionCallContext>;
8
14
  };
9
15
  type VisionConverterOptions = ConverterOptions & {
10
16
  imageFetcher?: (url: string) => Promise<Response>;
@@ -1 +1 @@
1
- {"version":3,"file":"geminiMessageConverter.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/gemini/geminiMessageConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAG5D,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,GAAG,EAAE,CAAC;CACd,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAAC;AAEF,KAAK,sBAAsB,GAAG,gBAAgB,GAAG;IAC/C,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAChD,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWpD;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,GAAE,gBAAqB,GAC7B,aAAa,EAAE,CA6DjB;AAED,wBAAsB,mCAAmC,CACvD,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,aAAa,EAAE,CAAC,CA6F1B"}
1
+ {"version":3,"file":"geminiMessageConverter.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/gemini/geminiMessageConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAG5D,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,GAAG,EAAE,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;CACjE,CAAC;AAEF,KAAK,sBAAsB,GAAG,gBAAgB,GAAG;IAC/C,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAChD,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWpD;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,GAAE,gBAAqB,GAC7B,aAAa,EAAE,CA2CjB;AAED,wBAAsB,mCAAmC,CACvD,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,aAAa,EAAE,CAAC,CAgF1B"}
@@ -20,43 +20,24 @@ export function convertMessagesToGeminiFormat(messages, options = {}) {
20
20
  gemini.push({ role: currentRole, parts: [...currentParts] });
21
21
  currentParts = [];
22
22
  }
23
+ currentRole = null;
23
24
  };
24
25
  for (const msg of messages) {
25
26
  const role = mapRoleToGemini(msg.role);
26
27
  if (msg.tool_calls) {
27
28
  pushCurrent();
28
- for (const call of msg.tool_calls) {
29
- options.callIdMap?.set(call.id, call.function.name);
29
+ const parts = msg.tool_calls.map((call) => createFunctionCallPart(call, options));
30
+ if (parts.length > 0) {
30
31
  gemini.push({
31
32
  role: 'model',
32
- parts: [
33
- {
34
- functionCall: {
35
- name: call.function.name,
36
- args: JSON.parse(call.function.arguments || '{}'),
37
- },
38
- },
39
- ],
33
+ parts,
40
34
  });
41
35
  }
42
36
  continue;
43
37
  }
44
38
  if (msg.role === 'tool') {
45
39
  pushCurrent();
46
- const funcName = msg.name ??
47
- options.callIdMap?.get(msg.tool_call_id) ??
48
- 'result';
49
- gemini.push({
50
- role: 'user',
51
- parts: [
52
- {
53
- functionResponse: {
54
- name: funcName,
55
- response: normalizeToolResult(safeJsonParse(msg.content)),
56
- },
57
- },
58
- ],
59
- });
40
+ appendFunctionResponse(gemini, createFunctionResponsePart(msg, options));
60
41
  continue;
61
42
  }
62
43
  if (role !== currentRole)
@@ -73,47 +54,36 @@ export async function convertVisionMessagesToGeminiFormat(messages, options = {}
73
54
  const geminiMessages = [];
74
55
  let currentRole = null;
75
56
  let currentParts = [];
57
+ const pushCurrent = () => {
58
+ if (currentRole && currentParts.length > 0) {
59
+ geminiMessages.push({
60
+ role: currentRole,
61
+ parts: [...currentParts],
62
+ });
63
+ currentParts = [];
64
+ }
65
+ currentRole = null;
66
+ };
76
67
  for (const msg of messages) {
77
68
  const role = mapRoleToGemini(msg.role);
78
69
  if (msg.tool_calls) {
79
- for (const call of msg.tool_calls) {
70
+ pushCurrent();
71
+ const parts = msg.tool_calls.map((call) => createFunctionCallPart(call, options));
72
+ if (parts.length > 0) {
80
73
  geminiMessages.push({
81
74
  role: 'model',
82
- parts: [
83
- {
84
- functionCall: {
85
- name: call.function.name,
86
- args: JSON.parse(call.function.arguments || '{}'),
87
- },
88
- },
89
- ],
75
+ parts,
90
76
  });
91
77
  }
92
78
  continue;
93
79
  }
94
80
  if (msg.role === 'tool') {
95
- const funcName = msg.name ??
96
- options.callIdMap?.get(msg.tool_call_id) ??
97
- 'result';
98
- geminiMessages.push({
99
- role: 'user',
100
- parts: [
101
- {
102
- functionResponse: {
103
- name: funcName,
104
- response: normalizeToolResult(safeJsonParse(msg.content)),
105
- },
106
- },
107
- ],
108
- });
81
+ pushCurrent();
82
+ appendFunctionResponse(geminiMessages, createFunctionResponsePart(msg, options));
109
83
  continue;
110
84
  }
111
85
  if (role !== currentRole && currentParts.length > 0) {
112
- geminiMessages.push({
113
- role: currentRole,
114
- parts: [...currentParts],
115
- });
116
- currentParts = [];
86
+ pushCurrent();
117
87
  }
118
88
  currentRole = role;
119
89
  if (typeof msg.content === 'string') {
@@ -144,14 +114,47 @@ export async function convertVisionMessagesToGeminiFormat(messages, options = {}
144
114
  }
145
115
  }
146
116
  }
147
- if (currentRole && currentParts.length > 0) {
148
- geminiMessages.push({
149
- role: currentRole,
150
- parts: [...currentParts],
151
- });
152
- }
117
+ pushCurrent();
153
118
  return geminiMessages;
154
119
  }
120
+ function createFunctionCallPart(call, options) {
121
+ options.callIdMap?.set(call.id, call.function.name);
122
+ const context = options.functionCallContextMap?.get(call.id);
123
+ const part = {
124
+ functionCall: {
125
+ ...(context?.providerCallId ? { id: context.providerCallId } : {}),
126
+ name: call.function.name,
127
+ args: JSON.parse(call.function.arguments || '{}'),
128
+ },
129
+ };
130
+ if (context?.thoughtSignature) {
131
+ part.thoughtSignature = context.thoughtSignature;
132
+ }
133
+ return part;
134
+ }
135
+ function createFunctionResponsePart(msg, options) {
136
+ const toolCallId = msg.tool_call_id;
137
+ const context = options.functionCallContextMap?.get(toolCallId);
138
+ const functionResponse = {
139
+ ...(context?.providerCallId ? { id: context.providerCallId } : {}),
140
+ name: msg.name ??
141
+ context?.name ??
142
+ options.callIdMap?.get(toolCallId) ??
143
+ 'result',
144
+ response: normalizeToolResult(safeJsonParse(msg.content)),
145
+ };
146
+ return { functionResponse };
147
+ }
148
+ function appendFunctionResponse(messages, part) {
149
+ const previous = messages[messages.length - 1];
150
+ const isFunctionResponseGroup = previous?.role === 'user' &&
151
+ previous.parts.every((item) => item.functionResponse);
152
+ if (isFunctionResponseGroup) {
153
+ previous.parts.push(part);
154
+ return;
155
+ }
156
+ messages.push({ role: 'user', parts: [part] });
157
+ }
155
158
  function safeJsonParse(str) {
156
159
  try {
157
160
  return JSON.parse(str);
@@ -1 +1 @@
1
- {"version":3,"file":"geminiMessageConverter.js","sourceRoot":"","sources":["../../../../../src/services/providers/gemini/geminiMessageConverter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAgB7E,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,OAAO,CAAC;QACjB;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,QAAmB,EACnB,UAA4B,EAAE;IAE9B,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,YAAY,GAAU,EAAE,CAAC;IAE7B,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,WAAW,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;YAC7D,YAAY,GAAG,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAK,GAAW,CAAC,UAAU,EAAE,CAAC;YAC5B,WAAW,EAAE,CAAC;YACd,KAAK,MAAM,IAAI,IAAK,GAAW,CAAC,UAAU,EAAE,CAAC;gBAC3C,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL;4BACE,YAAY,EAAE;gCACZ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;gCACxB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC;6BAClD;yBACF;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxB,WAAW,EAAE,CAAC;YACd,MAAM,QAAQ,GACX,GAAW,CAAC,IAAI;gBACjB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAE,GAAW,CAAC,YAAY,CAAC;gBACjD,QAAQ,CAAC;YACX,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE;oBACL;wBACE,gBAAgB,EAAE;4BAChB,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;yBAC1D;qBACF;iBACF;aACF,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,WAAW;YAAE,WAAW,EAAE,CAAC;QACxC,WAAW,GAAG,IAAI,CAAC;QACnB,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW,EAAE,CAAC;IACd,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,QAA6B,EAC7B,UAAkC,EAAE;IAEpC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,qBAAqB,CAAC,GAAG,CAAC;IACvE,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,IAAI,YAAY,CAAC;IACxD,MAAM,cAAc,GAAoB,EAAE,CAAC;IAC3C,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,YAAY,GAAU,EAAE,CAAC;IAE7B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAK,GAAW,CAAC,UAAU,EAAE,CAAC;YAC5B,KAAK,MAAM,IAAI,IAAK,GAAW,CAAC,UAAU,EAAE,CAAC;gBAC3C,cAAc,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL;4BACE,YAAY,EAAE;gCACZ,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;gCACxB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC;6BAClD;yBACF;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,QAAQ,GACX,GAAW,CAAC,IAAI;gBACjB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAE,GAAW,CAAC,YAAY,CAAC;gBACjD,QAAQ,CAAC;YACX,cAAc,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE;oBACL;wBACE,gBAAgB,EAAE;4BAChB,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,mBAAmB,CAC3B,aAAa,CAAC,GAAG,CAAC,OAAiB,CAAC,CACrC;yBACF;qBACF;iBACF;aACF,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,WAAW,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,cAAc,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC;aACzB,CAAC,CAAC;YACH,YAAY,GAAG,EAAE,CAAC;QACpB,CAAC;QAED,WAAW,GAAG,IAAI,CAAC;QAEnB,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACpC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC1B,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1C,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACtC,IAAI,CAAC;wBACH,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;wBAC9D,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;wBAC7C,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;wBAE/C,YAAY,CAAC,IAAI,CAAC;4BAChB,UAAU,EAAE;gCACV,QAAQ,EAAE,SAAS,CAAC,IAAI,IAAI,YAAY;gCACxC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;6BAC/B;yBACF,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACpB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;wBAChD,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC/D,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,WAAW,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,cAAc,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC;SACzB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAQ;IACnC,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CAAC,IAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;QAC1D,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;QACxB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"geminiMessageConverter.js","sourceRoot":"","sources":["../../../../../src/services/providers/gemini/geminiMessageConverter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { ChatService } from '../../ChatService';
2
2
  import { Message, MessageWithVision } from '../../../types';
3
3
  import { ToolDefinition, ToolChatCompletion } from '../../../types';
4
+ import { KimiReasoningEffort } from '../../../constants/kimi';
4
5
  import { ChatResponseLength } from '../../../constants/chat';
5
6
  /**
6
7
  * Kimi implementation of ChatService (OpenAI-compatible Chat Completions)
@@ -16,6 +17,7 @@ export declare class KimiChatService implements ChatService {
16
17
  private responseLength?;
17
18
  private responseFormat?;
18
19
  private thinking?;
20
+ private reasoningEffort?;
19
21
  /**
20
22
  * Constructor
21
23
  * @param apiKey Kimi API key
@@ -28,7 +30,7 @@ export declare class KimiChatService implements ChatService {
28
30
  }, thinking?: {
29
31
  type: 'enabled' | 'disabled';
30
32
  clear_thinking?: boolean;
31
- });
33
+ }, reasoningEffort?: KimiReasoningEffort);
32
34
  /**
33
35
  * Get the current model name
34
36
  */
@@ -40,11 +42,11 @@ export declare class KimiChatService implements ChatService {
40
42
  /**
41
43
  * Process chat messages
42
44
  */
43
- processChat(messages: Message[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
45
+ processChat(messages: Message[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string, completion?: ToolChatCompletion) => Promise<void>): Promise<void>;
44
46
  /**
45
47
  * Process chat messages with images
46
48
  */
47
- processVisionChat(messages: MessageWithVision[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
49
+ processVisionChat(messages: MessageWithVision[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string, completion?: ToolChatCompletion) => Promise<void>): Promise<void>;
48
50
  /**
49
51
  * Process chat messages with tools (text only)
50
52
  */
@@ -63,7 +65,6 @@ export declare class KimiChatService implements ChatService {
63
65
  private normalizeEndpoint;
64
66
  private resolveEffectiveThinking;
65
67
  private buildToolsDefinition;
66
- private handleStream;
67
68
  /**
68
69
  * Parse streaming response with tool support
69
70
  */
@@ -1 +1 @@
1
- {"version":3,"file":"KimiChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAOpE,OAAO,EACL,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAUjC;;GAEG;AACH,qBAAa,eAAgB,YAAW,WAAW;IACjD,oBAAoB;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAU;IAEnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,cAAc,CAAC,CAAqB;IAC5C,OAAO,CAAC,cAAc,CAAC,CAGrB;IACF,OAAO,CAAC,QAAQ,CAAC,CAGf;IAEF;;;;;OAKG;gBAED,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAwB,EAC/B,WAAW,GAAE,MAAwB,EACrC,KAAK,CAAC,EAAE,cAAc,EAAE,EACxB,QAAQ,GAAE,MAA2C,EACrD,cAAc,CAAC,EAAE,kBAAkB,EACnC,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC;QAC7C,WAAW,CAAC,EAAE,GAAG,CAAC;KACnB,EACD,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;QAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B;IAaH;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACG,WAAW,CACf,QAAQ,EAAE,OAAO,EAAE,EACnB,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAClD,OAAO,CAAC,IAAI,CAAC;IAehB;;OAEG;IACG,iBAAiB,CACrB,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAClD,OAAO,CAAC,IAAI,CAAC;IAsBhB;;OAEG;IACG,QAAQ,CACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,GAAE,OAAc,EACtB,iBAAiB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EACpD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC;IAK9B;;OAEG;IACG,cAAc,CAClB,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,MAAM,GAAE,OAAe,EACvB,iBAAiB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EACpD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC;YAgBhB,aAAa;YAUb,QAAQ;IAetB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4CxB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,wBAAwB;IAsBhC,OAAO,CAAC,oBAAoB;YAId,YAAY;IAO1B;;OAEG;YACW,WAAW;IAUzB;;OAEG;IACH,OAAO,CAAC,YAAY;CAGrB"}
1
+ {"version":3,"file":"KimiChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatService.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { ENDPOINT_KIMI_CHAT_COMPLETIONS_API, MODEL_KIMI_K2_6, isKimiThinkingRequiredModel, isKimiVisionModel, } from '../../../constants/kimi';
1
+ import { ENDPOINT_KIMI_CHAT_COMPLETIONS_API, MODEL_KIMI_K2_6, getKimiSupportedReasoningEfforts, isKimiReasoningEffortModel, isKimiThinkingRequiredModel, isKimiVisionModel, } from '../../../constants/kimi';
2
2
  import { getMaxTokensForResponseLength, } from '../../../constants/chat';
3
3
  import { ChatServiceHttpClient } from '../../../utils/chatServiceHttpClient';
4
- import { buildOpenAICompatibleTools, parseOpenAICompatibleOneShot, parseOpenAICompatibleTextStream, parseOpenAICompatibleToolStream, processChatWithOptionalTools, } from '../../../utils';
4
+ import { buildOpenAICompatibleTools, parseOpenAICompatibleOneShot, parseOpenAICompatibleToolStream, processChatWithOptionalTools, } from '../../../utils';
5
5
  /**
6
6
  * Kimi implementation of ChatService (OpenAI-compatible Chat Completions)
7
7
  */
@@ -12,7 +12,7 @@ export class KimiChatService {
12
12
  * @param model Name of the model to use
13
13
  * @param visionModel Name of the vision model
14
14
  */
15
- constructor(apiKey, model = MODEL_KIMI_K2_6, visionModel = MODEL_KIMI_K2_6, tools, endpoint = ENDPOINT_KIMI_CHAT_COMPLETIONS_API, responseLength, responseFormat, thinking) {
15
+ constructor(apiKey, model = MODEL_KIMI_K2_6, visionModel = MODEL_KIMI_K2_6, tools, endpoint = ENDPOINT_KIMI_CHAT_COMPLETIONS_API, responseLength, responseFormat, thinking, reasoningEffort) {
16
16
  /** Provider name */
17
17
  this.provider = 'kimi';
18
18
  this.apiKey = apiKey;
@@ -21,7 +21,17 @@ export class KimiChatService {
21
21
  this.endpoint = endpoint;
22
22
  this.responseLength = responseLength;
23
23
  this.responseFormat = responseFormat;
24
- this.thinking = thinking ?? { type: 'enabled' };
24
+ this.thinking = thinking;
25
+ const supportedReasoningEfforts = getKimiSupportedReasoningEfforts(model);
26
+ if (reasoningEffort !== undefined &&
27
+ !supportedReasoningEfforts.includes(reasoningEffort)) {
28
+ throw new Error(`Model ${model} does not support reasoning_effort: ${reasoningEffort}.`);
29
+ }
30
+ this.reasoningEffort =
31
+ reasoningEffort ??
32
+ (isKimiReasoningEffortModel(model)
33
+ ? supportedReasoningEfforts[0]
34
+ : undefined);
25
35
  this.visionModel = visionModel;
26
36
  }
27
37
  /**
@@ -42,10 +52,7 @@ export class KimiChatService {
42
52
  async processChat(messages, onPartialResponse, onCompleteResponse) {
43
53
  await processChatWithOptionalTools({
44
54
  hasTools: this.tools.length > 0,
45
- runWithoutTools: async () => {
46
- const res = await this.callKimi(messages, this.model, true);
47
- return this.handleStream(res, onPartialResponse);
48
- },
55
+ runWithoutTools: () => this.chatOnce(messages, true, onPartialResponse),
49
56
  runWithTools: () => this.chatOnce(messages, true, onPartialResponse),
50
57
  onCompleteResponse,
51
58
  toolErrorMessage: 'processChat received tool_calls. ' +
@@ -61,10 +68,7 @@ export class KimiChatService {
61
68
  }
62
69
  await processChatWithOptionalTools({
63
70
  hasTools: this.tools.length > 0,
64
- runWithoutTools: async () => {
65
- const res = await this.callKimi(messages, this.visionModel, true);
66
- return this.handleStream(res, onPartialResponse);
67
- },
71
+ runWithoutTools: () => this.visionChatOnce(messages, true, onPartialResponse),
68
72
  runWithTools: () => this.visionChatOnce(messages, true, onPartialResponse),
69
73
  onCompleteResponse,
70
74
  toolErrorMessage: 'processVisionChat received tool_calls. ' +
@@ -113,11 +117,19 @@ export class KimiChatService {
113
117
  ? maxTokens
114
118
  : getMaxTokensForResponseLength(this.responseLength);
115
119
  if (tokenLimit !== undefined) {
116
- body.max_tokens = tokenLimit;
120
+ if (isKimiReasoningEffortModel(model)) {
121
+ body.max_completion_tokens = tokenLimit;
122
+ }
123
+ else {
124
+ body.max_tokens = tokenLimit;
125
+ }
117
126
  }
118
127
  if (this.responseFormat) {
119
128
  body.response_format = this.responseFormat;
120
129
  }
130
+ if (isKimiReasoningEffortModel(model)) {
131
+ body.reasoning_effort = this.reasoningEffort ?? 'max';
132
+ }
121
133
  const effectiveThinking = this.resolveEffectiveThinking(model);
122
134
  if (effectiveThinking) {
123
135
  if (this.isSelfHostedEndpoint()) {
@@ -144,6 +156,12 @@ export class KimiChatService {
144
156
  return value.replace(/\/+$/, '');
145
157
  }
146
158
  resolveEffectiveThinking(model) {
159
+ if (isKimiReasoningEffortModel(model)) {
160
+ if (this.thinking) {
161
+ throw new Error(`Model ${model} uses reasoning_effort and does not support the K2.x thinking option.`);
162
+ }
163
+ return undefined;
164
+ }
147
165
  if (isKimiThinkingRequiredModel(model)) {
148
166
  if (this.thinking?.type === 'disabled') {
149
167
  throw new Error(`Model ${model} requires thinking mode and does not support thinking: disabled.`);
@@ -153,21 +171,17 @@ export class KimiChatService {
153
171
  if (this.tools.length > 0) {
154
172
  return { type: 'disabled' };
155
173
  }
156
- return this.thinking;
174
+ return this.thinking ?? { type: 'enabled' };
157
175
  }
158
176
  buildToolsDefinition() {
159
177
  return buildOpenAICompatibleTools(this.tools, 'chat-completions');
160
178
  }
161
- async handleStream(res, onPartial) {
162
- return parseOpenAICompatibleTextStream(res, onPartial, {
163
- onJsonError: (payload) => console.debug('Failed to parse SSE data:', payload),
164
- });
165
- }
166
179
  /**
167
180
  * Parse streaming response with tool support
168
181
  */
169
182
  async parseStream(res, onPartial) {
170
183
  return parseOpenAICompatibleToolStream(res, onPartial, {
184
+ preserveAssistantMessage: true,
171
185
  onJsonError: (payload) => console.debug('Failed to parse SSE data:', payload),
172
186
  });
173
187
  }
@@ -175,7 +189,9 @@ export class KimiChatService {
175
189
  * Parse non-streaming response
176
190
  */
177
191
  parseOneShot(data) {
178
- return parseOpenAICompatibleOneShot(data);
192
+ return parseOpenAICompatibleOneShot(data, {
193
+ preserveAssistantMessage: true,
194
+ });
179
195
  }
180
196
  }
181
197
  //# sourceMappingURL=KimiChatService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KimiChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KimiChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatService.ts"],"names":[],"mappings":"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"}
@@ -38,5 +38,6 @@ export declare class KimiChatServiceProvider implements ChatServiceProvider<Kimi
38
38
  private resolveEndpoint;
39
39
  private normalizeEndpoint;
40
40
  private resolveThinking;
41
+ private resolveReasoningEffort;
41
42
  }
42
43
  //# sourceMappingURL=KimiChatServiceProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KimiChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatServiceProvider.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAIhC;;GAEG;AACH,qBAAa,uBACX,YAAW,mBAAmB,CAAC,sBAAsB,CAAC;IAEtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAEhE;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,sBAAsB,GAAG,WAAW;IA4B/D;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAS9B;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB,qBAAqB,IAAI,kBAAkB;IAI3C;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI9C,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB;IAIhE,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,eAAe;CAoBxB"}
1
+ {"version":3,"file":"KimiChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatServiceProvider.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAIhC;;GAEG;AACH,qBAAa,uBACX,YAAW,mBAAmB,CAAC,sBAAsB,CAAC;IAEtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAEhE;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,sBAAsB,GAAG,WAAW;IAiC/D;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAU9B;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB,qBAAqB,IAAI,kBAAkB;IAI3C;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI9C,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB;IAIhE,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,sBAAsB;CAwB/B"}
@@ -1,4 +1,4 @@
1
- import { ENDPOINT_KIMI_CHAT_COMPLETIONS_API, MODEL_KIMI_K2_7_CODE, MODEL_KIMI_K2_7_CODE_HIGHSPEED, MODEL_KIMI_K2_6, MODEL_KIMI_K2_5, isKimiThinkingRequiredModel, isKimiVisionModel, } from '../../../constants/kimi';
1
+ import { ENDPOINT_KIMI_CHAT_COMPLETIONS_API, MODEL_KIMI_K3, MODEL_KIMI_K2_7_CODE, MODEL_KIMI_K2_7_CODE_HIGHSPEED, MODEL_KIMI_K2_6, MODEL_KIMI_K2_5, getKimiSupportedReasoningEfforts, isKimiReasoningEffortModel, isKimiThinkingRequiredModel, isKimiVisionModel, } from '../../../constants/kimi';
2
2
  import { KimiChatService } from './KimiChatService';
3
3
  import { resolveVisionModel } from '../../../utils';
4
4
  /**
@@ -24,7 +24,8 @@ export class KimiChatServiceProvider {
24
24
  });
25
25
  const tools = options.tools;
26
26
  const thinking = this.resolveThinking(model, tools, options.thinking);
27
- return new KimiChatService(options.apiKey, model, visionModel, tools, endpoint, options.responseLength, options.responseFormat, thinking);
27
+ const reasoningEffort = this.resolveReasoningEffort(model, options.reasoning_effort);
28
+ return new KimiChatService(options.apiKey, model, visionModel, tools, endpoint, options.responseLength, options.responseFormat, thinking, reasoningEffort);
28
29
  }
29
30
  /**
30
31
  * Get the provider name
@@ -37,6 +38,7 @@ export class KimiChatServiceProvider {
37
38
  */
38
39
  getSupportedModels() {
39
40
  return [
41
+ MODEL_KIMI_K3,
40
42
  MODEL_KIMI_K2_7_CODE,
41
43
  MODEL_KIMI_K2_7_CODE_HIGHSPEED,
42
44
  MODEL_KIMI_K2_6,
@@ -90,6 +92,12 @@ export class KimiChatServiceProvider {
90
92
  return value.replace(/\/+$/, '');
91
93
  }
92
94
  resolveThinking(model, tools, thinking) {
95
+ if (isKimiReasoningEffortModel(model)) {
96
+ if (thinking) {
97
+ throw new Error(`Model ${model} uses reasoning_effort and does not support the K2.x thinking option.`);
98
+ }
99
+ return undefined;
100
+ }
93
101
  if (isKimiThinkingRequiredModel(model)) {
94
102
  if (thinking?.type === 'disabled') {
95
103
  throw new Error(`Model ${model} requires thinking mode and does not support thinking: disabled.`);
@@ -101,5 +109,19 @@ export class KimiChatServiceProvider {
101
109
  }
102
110
  return thinking ?? this.defaultThinking;
103
111
  }
112
+ resolveReasoningEffort(model, reasoningEffort) {
113
+ const supported = getKimiSupportedReasoningEfforts(model);
114
+ if (supported.length === 0) {
115
+ if (reasoningEffort !== undefined) {
116
+ throw new Error(`Model ${model} does not support the reasoning_effort option.`);
117
+ }
118
+ return undefined;
119
+ }
120
+ const resolved = reasoningEffort ?? supported[0];
121
+ if (!supported.includes(resolved)) {
122
+ throw new Error(`Model ${model} supports reasoning_effort values: ${supported.join(', ')}.`);
123
+ }
124
+ return resolved;
125
+ }
104
126
  }
105
127
  //# sourceMappingURL=KimiChatServiceProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KimiChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatServiceProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KimiChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatServiceProvider.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * AITuber OnAir Core type definitions
3
3
  */
4
+ import type { ChatCompletionToolCall } from './toolChat';
4
5
  /**
5
6
  * Chat message basic type
6
7
  */
@@ -8,6 +9,14 @@ export interface Message {
8
9
  role: 'system' | 'user' | 'assistant' | 'tool';
9
10
  content: string;
10
11
  timestamp?: number;
12
+ /** Provider reasoning state that must be preserved for some models. */
13
+ reasoning_content?: string;
14
+ /** OpenAI-compatible assistant tool calls. */
15
+ tool_calls?: ChatCompletionToolCall[];
16
+ /** OpenAI-compatible tool result reference. */
17
+ tool_call_id?: string;
18
+ /** Optional message or tool name. */
19
+ name?: string;
11
20
  }
12
21
  /**
13
22
  * Vision block type for image content
@@ -25,8 +34,7 @@ export type VisionBlock = {
25
34
  /**
26
35
  * Message type corresponding to vision (image)
27
36
  */
28
- export interface MessageWithVision {
29
- role: 'system' | 'user' | 'assistant' | 'tool';
37
+ export interface MessageWithVision extends Omit<Message, 'content'> {
30
38
  content: string | VisionBlock[];
31
39
  }
32
40
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/types/chat.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;KAClC,CAAC;CACH,CAAC;AAEN;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/types/chat.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,UAAU,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACtC,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;KAClC,CAAC;CACH,CAAC;AAEN;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;IACjE,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}