@aituber-onair/chat 0.35.0 → 0.36.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 (83) hide show
  1. package/README.ja.md +2 -2
  2. package/README.md +2 -2
  3. package/dist/cjs/constants/claude.d.ts +1 -0
  4. package/dist/cjs/constants/claude.d.ts.map +1 -1
  5. package/dist/cjs/constants/claude.js +3 -1
  6. package/dist/cjs/constants/claude.js.map +1 -1
  7. package/dist/cjs/services/providers/claude/ClaudeChatService.d.ts +0 -24
  8. package/dist/cjs/services/providers/claude/ClaudeChatService.d.ts.map +1 -1
  9. package/dist/cjs/services/providers/claude/ClaudeChatService.js +3 -113
  10. package/dist/cjs/services/providers/claude/ClaudeChatService.js.map +1 -1
  11. package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -1
  12. package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js +1 -0
  13. package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js.map +1 -1
  14. package/dist/cjs/services/providers/claude/claudeMessageConverter.d.ts +6 -0
  15. package/dist/cjs/services/providers/claude/claudeMessageConverter.d.ts.map +1 -0
  16. package/dist/cjs/services/providers/claude/claudeMessageConverter.js +95 -0
  17. package/dist/cjs/services/providers/claude/claudeMessageConverter.js.map +1 -0
  18. package/dist/cjs/services/providers/gemini/GeminiChatService.d.ts +0 -21
  19. package/dist/cjs/services/providers/gemini/GeminiChatService.d.ts.map +1 -1
  20. package/dist/cjs/services/providers/gemini/GeminiChatService.js +14 -254
  21. package/dist/cjs/services/providers/gemini/GeminiChatService.js.map +1 -1
  22. package/dist/cjs/services/providers/gemini/geminiMessageConverter.d.ts +17 -0
  23. package/dist/cjs/services/providers/gemini/geminiMessageConverter.d.ts.map +1 -0
  24. package/dist/cjs/services/providers/gemini/geminiMessageConverter.js +183 -0
  25. package/dist/cjs/services/providers/gemini/geminiMessageConverter.js.map +1 -0
  26. package/dist/cjs/services/providers/gemini/geminiToolAdapter.d.ts +23 -0
  27. package/dist/cjs/services/providers/gemini/geminiToolAdapter.d.ts.map +1 -0
  28. package/dist/cjs/services/providers/gemini/geminiToolAdapter.js +47 -0
  29. package/dist/cjs/services/providers/gemini/geminiToolAdapter.js.map +1 -0
  30. package/dist/cjs/services/providers/openai/OpenAIChatService.d.ts +3 -28
  31. package/dist/cjs/services/providers/openai/OpenAIChatService.d.ts.map +1 -1
  32. package/dist/cjs/services/providers/openai/OpenAIChatService.js +15 -250
  33. package/dist/cjs/services/providers/openai/OpenAIChatService.js.map +1 -1
  34. package/dist/cjs/services/providers/openai/openaiRequestBuilder.d.ts +33 -0
  35. package/dist/cjs/services/providers/openai/openaiRequestBuilder.d.ts.map +1 -0
  36. package/dist/cjs/services/providers/openai/openaiRequestBuilder.js +218 -0
  37. package/dist/cjs/services/providers/openai/openaiRequestBuilder.js.map +1 -0
  38. package/dist/cjs/services/providers/openai/openaiToolBuilder.d.ts +9 -0
  39. package/dist/cjs/services/providers/openai/openaiToolBuilder.d.ts.map +1 -0
  40. package/dist/cjs/services/providers/openai/openaiToolBuilder.js +36 -0
  41. package/dist/cjs/services/providers/openai/openaiToolBuilder.js.map +1 -0
  42. package/dist/esm/constants/claude.d.ts +1 -0
  43. package/dist/esm/constants/claude.d.ts.map +1 -1
  44. package/dist/esm/constants/claude.js +2 -0
  45. package/dist/esm/constants/claude.js.map +1 -1
  46. package/dist/esm/services/providers/claude/ClaudeChatService.d.ts +0 -24
  47. package/dist/esm/services/providers/claude/ClaudeChatService.d.ts.map +1 -1
  48. package/dist/esm/services/providers/claude/ClaudeChatService.js +3 -113
  49. package/dist/esm/services/providers/claude/ClaudeChatService.js.map +1 -1
  50. package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -1
  51. package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js +2 -1
  52. package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js.map +1 -1
  53. package/dist/esm/services/providers/claude/claudeMessageConverter.d.ts +6 -0
  54. package/dist/esm/services/providers/claude/claudeMessageConverter.d.ts.map +1 -0
  55. package/dist/esm/services/providers/claude/claudeMessageConverter.js +89 -0
  56. package/dist/esm/services/providers/claude/claudeMessageConverter.js.map +1 -0
  57. package/dist/esm/services/providers/gemini/GeminiChatService.d.ts +0 -21
  58. package/dist/esm/services/providers/gemini/GeminiChatService.d.ts.map +1 -1
  59. package/dist/esm/services/providers/gemini/GeminiChatService.js +14 -254
  60. package/dist/esm/services/providers/gemini/GeminiChatService.js.map +1 -1
  61. package/dist/esm/services/providers/gemini/geminiMessageConverter.d.ts +17 -0
  62. package/dist/esm/services/providers/gemini/geminiMessageConverter.d.ts.map +1 -0
  63. package/dist/esm/services/providers/gemini/geminiMessageConverter.js +178 -0
  64. package/dist/esm/services/providers/gemini/geminiMessageConverter.js.map +1 -0
  65. package/dist/esm/services/providers/gemini/geminiToolAdapter.d.ts +23 -0
  66. package/dist/esm/services/providers/gemini/geminiToolAdapter.d.ts.map +1 -0
  67. package/dist/esm/services/providers/gemini/geminiToolAdapter.js +42 -0
  68. package/dist/esm/services/providers/gemini/geminiToolAdapter.js.map +1 -0
  69. package/dist/esm/services/providers/openai/OpenAIChatService.d.ts +3 -28
  70. package/dist/esm/services/providers/openai/OpenAIChatService.d.ts.map +1 -1
  71. package/dist/esm/services/providers/openai/OpenAIChatService.js +17 -252
  72. package/dist/esm/services/providers/openai/OpenAIChatService.js.map +1 -1
  73. package/dist/esm/services/providers/openai/openaiRequestBuilder.d.ts +33 -0
  74. package/dist/esm/services/providers/openai/openaiRequestBuilder.d.ts.map +1 -0
  75. package/dist/esm/services/providers/openai/openaiRequestBuilder.js +212 -0
  76. package/dist/esm/services/providers/openai/openaiRequestBuilder.js.map +1 -0
  77. package/dist/esm/services/providers/openai/openaiToolBuilder.d.ts +9 -0
  78. package/dist/esm/services/providers/openai/openaiToolBuilder.d.ts.map +1 -0
  79. package/dist/esm/services/providers/openai/openaiToolBuilder.js +33 -0
  80. package/dist/esm/services/providers/openai/openaiToolBuilder.js.map +1 -0
  81. package/dist/umd/aituber-onair-chat.js +551 -541
  82. package/dist/umd/aituber-onair-chat.min.js +10 -10
  83. package/package.json +1 -1
@@ -0,0 +1,89 @@
1
+ export function convertMessagesToClaudeFormat(messages) {
2
+ return messages.map((msg) => ({
3
+ role: mapRoleToClaude(msg.role),
4
+ content: msg.content,
5
+ }));
6
+ }
7
+ export function convertVisionMessagesToClaudeFormat(messages) {
8
+ return messages.map((msg) => {
9
+ if (typeof msg.content === 'string') {
10
+ return {
11
+ role: mapRoleToClaude(msg.role),
12
+ content: [
13
+ {
14
+ type: 'text',
15
+ text: msg.content,
16
+ },
17
+ ],
18
+ };
19
+ }
20
+ if (Array.isArray(msg.content)) {
21
+ const content = msg.content
22
+ .map((block) => {
23
+ if (block.type === 'image_url') {
24
+ if (block.image_url.url.startsWith('data:')) {
25
+ const m = block.image_url.url.match(/^data:([^;]+);base64,(.+)$/);
26
+ if (m) {
27
+ return {
28
+ type: 'image',
29
+ source: {
30
+ type: 'base64',
31
+ media_type: m[1],
32
+ data: m[2],
33
+ },
34
+ };
35
+ }
36
+ return null;
37
+ }
38
+ return {
39
+ type: 'image',
40
+ source: {
41
+ type: 'url',
42
+ url: block.image_url.url,
43
+ media_type: getMimeTypeFromUrl(block.image_url.url),
44
+ },
45
+ };
46
+ }
47
+ return block;
48
+ })
49
+ .filter((b) => b);
50
+ return {
51
+ role: mapRoleToClaude(msg.role),
52
+ content,
53
+ };
54
+ }
55
+ return {
56
+ role: mapRoleToClaude(msg.role),
57
+ content: [],
58
+ };
59
+ });
60
+ }
61
+ export function mapRoleToClaude(role) {
62
+ switch (role) {
63
+ case 'system':
64
+ return 'system';
65
+ case 'user':
66
+ return 'user';
67
+ case 'assistant':
68
+ return 'assistant';
69
+ default:
70
+ return 'user';
71
+ }
72
+ }
73
+ export function getMimeTypeFromUrl(url) {
74
+ const extension = url.split('.').pop()?.toLowerCase();
75
+ switch (extension) {
76
+ case 'jpg':
77
+ case 'jpeg':
78
+ return 'image/jpeg';
79
+ case 'png':
80
+ return 'image/png';
81
+ case 'gif':
82
+ return 'image/gif';
83
+ case 'webp':
84
+ return 'image/webp';
85
+ default:
86
+ return 'image/jpeg';
87
+ }
88
+ }
89
+ //# sourceMappingURL=claudeMessageConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claudeMessageConverter.js","sourceRoot":"","sources":["../../../../../src/services/providers/claude/claudeMessageConverter.ts"],"names":[],"mappings":"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"}
@@ -17,8 +17,6 @@ export declare class GeminiChatService implements ChatService {
17
17
  private responseLength?;
18
18
  /** id(OpenAI) → name(Gemini) mapping */
19
19
  private callIdMap;
20
- private safeJsonParse;
21
- private normalizeToolResult;
22
20
  private isGemma4Model;
23
21
  private shouldMinimizeThinking;
24
22
  private shouldExposeTextPart;
@@ -78,26 +76,7 @@ export declare class GeminiChatService implements ChatService {
78
76
  */
79
77
  processChat(messages: Message[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
80
78
  processVisionChat(messages: MessageWithVision[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
81
- private convertMessagesToGeminiFormat;
82
79
  private callGemini;
83
- /**
84
- * Convert AITuber OnAir vision messages to Gemini format
85
- * @param messages Array of vision messages
86
- * @returns Gemini formatted vision messages
87
- */
88
- private convertVisionMessagesToGeminiFormat;
89
- /**
90
- * Convert Blob to Base64 string
91
- * @param blob Image blob
92
- * @returns Promise with base64 encoded string
93
- */
94
- private blobToBase64;
95
- /**
96
- * Map AITuber OnAir roles to Gemini roles
97
- * @param role AITuber OnAir role
98
- * @returns Gemini role
99
- */
100
- private mapRoleToGemini;
101
80
  private parseStream;
102
81
  private parseOneShot;
103
82
  chatOnce(messages: Message[], stream?: boolean, onPartialResponse?: (t: string) => void, maxTokens?: number): Promise<ToolChatCompletion>;
@@ -1 +1 @@
1
- {"version":3,"file":"GeminiChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/gemini/GeminiChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,OAAO,EACP,iBAAiB,EAEjB,kBAAkB,EAClB,cAAc,EACd,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EACL,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAMjC;;GAEG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACnD,oBAAoB;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAY;IAErC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,qBAAqB,CAAkB;IAC/C,OAAO,CAAC,cAAc,CAAC,CAAqB;IAE5C,wCAAwC;IACxC,OAAO,CAAC,SAAS,CAA6B;IAK9C,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,oBAAoB;IAa5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;;;;;;OAOG;gBAED,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAoC,EAC3C,WAAW,GAAE,MAAoC,EACjD,KAAK,GAAE,cAAc,EAAO,EAC5B,UAAU,GAAE,eAAe,EAAO,EAClC,cAAc,CAAC,EAAE,kBAAkB;IAiBrC;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;OAGG;IACH,cAAc,IAAI,MAAM;IAIxB;;;OAGG;IACH,aAAa,IAAI,eAAe,EAAE;IAIlC;;;OAGG;IACH,YAAY,CAAC,YAAY,EAAE,eAAe,GAAG,IAAI;IAMjD;;;OAGG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAQzC;;;OAGG;IACH,aAAa,IAAI,OAAO;IAIxB;;;OAGG;YACW,oBAAoB;IAwClC;;;;;OAKG;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;IAwBV,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;IAkChB,OAAO,CAAC,6BAA6B;YAsEvB,UAAU;IA6HxB;;;;OAIG;YACW,mCAAmC;IA8GjD;;;;OAIG;IACH,OAAO,CAAC,YAAY;IASpB;;;;OAIG;IACH,OAAO,CAAC,eAAe;YAgBT,WAAW;IAkFzB,OAAO,CAAC,YAAY;IAwCd,QAAQ,CACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,GAAE,OAAc,EACtB,iBAAiB,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAe,EACjD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC;IAUxB,cAAc,CAClB,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,MAAM,GAAE,OAAe,EACvB,iBAAiB,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAe,EACjD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC;IAe9B,OAAO,CAAC,OAAO;CAShB"}
1
+ {"version":3,"file":"GeminiChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/gemini/GeminiChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,OAAO,EACP,iBAAiB,EAEjB,kBAAkB,EAClB,cAAc,EACd,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EACL,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAcjC;;GAEG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACnD,oBAAoB;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAY;IAErC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,qBAAqB,CAAkB;IAC/C,OAAO,CAAC,cAAc,CAAC,CAAqB;IAE5C,wCAAwC;IACxC,OAAO,CAAC,SAAS,CAA6B;IAE9C,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,oBAAoB;IAa5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;;;;;;OAOG;gBAED,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAoC,EAC3C,WAAW,GAAE,MAAoC,EACjD,KAAK,GAAE,cAAc,EAAO,EAC5B,UAAU,GAAE,eAAe,EAAO,EAClC,cAAc,CAAC,EAAE,kBAAkB;IAiBrC;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;OAGG;IACH,cAAc,IAAI,MAAM;IAIxB;;;OAGG;IACH,aAAa,IAAI,eAAe,EAAE;IAIlC;;;OAGG;IACH,YAAY,CAAC,YAAY,EAAE,eAAe,GAAG,IAAI;IAMjD;;;OAGG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAQzC;;;OAGG;IACH,aAAa,IAAI,OAAO;IAIxB;;;OAGG;YACW,oBAAoB;IA0BlC;;;;;OAKG;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;IAwBV,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;YAkCF,UAAU;YAwGV,WAAW;IAkFzB,OAAO,CAAC,YAAY;IAwCd,QAAQ,CACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,GAAE,OAAc,EACtB,iBAAiB,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAe,EACjD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC;IAUxB,cAAc,CAClB,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,MAAM,GAAE,OAAe,EACvB,iBAAiB,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAe,EACjD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC;IAe9B,OAAO,CAAC,OAAO;CAShB"}
@@ -4,28 +4,12 @@ import { StreamTextAccumulator } from '../../../utils/streamTextAccumulator';
4
4
  import { ChatServiceHttpClient } from '../../../utils/chatServiceHttpClient';
5
5
  import { MCPSchemaFetcher } from '../../../utils/mcpSchemaFetcher';
6
6
  import { processChatWithOptionalTools } from '../../../utils';
7
+ import { convertMessagesToGeminiFormat, convertVisionMessagesToGeminiFormat, } from './geminiMessageConverter';
8
+ import { buildGeminiToolConfig, createFallbackMCPToolSchemas, } from './geminiToolAdapter';
7
9
  /**
8
10
  * Gemini implementation of ChatService
9
11
  */
10
12
  export class GeminiChatService {
11
- /* ────────────────────────────────── */
12
- /* Utilities */
13
- /* ────────────────────────────────── */
14
- safeJsonParse(str) {
15
- try {
16
- return JSON.parse(str);
17
- }
18
- catch {
19
- return str; // keep as string
20
- }
21
- }
22
- normalizeToolResult(val) {
23
- if (val === null)
24
- return { content: null };
25
- if (typeof val === 'object')
26
- return val;
27
- return { content: val }; // wrap primitive
28
- }
29
13
  isGemma4Model(model) {
30
14
  return /^gemma-4-/.test(model);
31
15
  }
@@ -156,21 +140,7 @@ export class GeminiChatService {
156
140
  }
157
141
  catch (error) {
158
142
  console.warn('Failed to initialize MCP schemas, using fallback:', error);
159
- // Use fallback schemas - always provide basic functionality
160
- this.mcpToolSchemas = this.mcpServers.map((server) => ({
161
- name: `mcp_${server.name}_search`,
162
- description: `Search using ${server.name} MCP server (fallback)`,
163
- parameters: {
164
- type: 'object',
165
- properties: {
166
- query: {
167
- type: 'string',
168
- description: 'Search query',
169
- },
170
- },
171
- required: ['query'],
172
- },
173
- }));
143
+ this.mcpToolSchemas = createFallbackMCPToolSchemas(this.mcpServers);
174
144
  this.mcpSchemasInitialized = true;
175
145
  }
176
146
  }
@@ -224,76 +194,18 @@ export class GeminiChatService {
224
194
  }
225
195
  }
226
196
  /* ────────────────────────────────── */
227
- /* OpenAI → Gemini conversion */
228
- /* ────────────────────────────────── */
229
- convertMessagesToGeminiFormat(messages) {
230
- const gemini = [];
231
- let currentRole = null;
232
- let currentParts = [];
233
- const pushCurrent = () => {
234
- if (currentRole && currentParts.length) {
235
- gemini.push({ role: currentRole, parts: [...currentParts] });
236
- currentParts = [];
237
- }
238
- };
239
- for (const msg of messages) {
240
- const role = this.mapRoleToGemini(msg.role);
241
- /* assistant: tool_calls -> functionCall */
242
- if (msg.tool_calls) {
243
- pushCurrent();
244
- for (const call of msg.tool_calls) {
245
- this.callIdMap.set(call.id, call.function.name);
246
- gemini.push({
247
- role: 'model',
248
- parts: [
249
- {
250
- functionCall: {
251
- name: call.function.name,
252
- args: JSON.parse(call.function.arguments || '{}'),
253
- },
254
- },
255
- ],
256
- });
257
- }
258
- continue;
259
- }
260
- /* tool → functionResponse */
261
- if (msg.role === 'tool') {
262
- pushCurrent();
263
- const funcName = msg.name ??
264
- this.callIdMap.get(msg.tool_call_id) ??
265
- 'result';
266
- gemini.push({
267
- role: 'user',
268
- parts: [
269
- {
270
- functionResponse: {
271
- name: funcName,
272
- response: this.normalizeToolResult(this.safeJsonParse(msg.content)),
273
- },
274
- },
275
- ],
276
- });
277
- continue;
278
- }
279
- /* normal text */
280
- if (role !== currentRole)
281
- pushCurrent();
282
- currentRole = role;
283
- currentParts.push({ text: msg.content });
284
- }
285
- pushCurrent();
286
- return gemini;
287
- }
288
- /* ────────────────────────────────── */
289
197
  /* HTTP call */
290
198
  /* ────────────────────────────────── */
291
199
  async callGemini(messages, model, stream = false, maxTokens) {
292
200
  const hasVision = messages.some((m) => Array.isArray(m.content) &&
293
201
  m.content.some((b) => b?.type === 'image_url' || b?.inlineData));
294
202
  const contents = hasVision
295
- ? await this.convertVisionMessagesToGeminiFormat(messages)
296
- : this.convertMessagesToGeminiFormat(messages);
203
+ ? await convertVisionMessagesToGeminiFormat(messages, {
204
+ callIdMap: this.callIdMap,
205
+ })
206
+ : convertMessagesToGeminiFormat(messages, {
207
+ callIdMap: this.callIdMap,
208
+ });
297
209
  const body = {
298
210
  contents,
299
211
  generationConfig: {
@@ -308,41 +220,19 @@ export class GeminiChatService {
308
220
  thinkingLevel: 'MINIMAL',
309
221
  };
310
222
  }
311
- // Add tools configuration (regular tools + MCP tools as functionDeclarations)
312
- const allToolDeclarations = [];
313
- // Add regular function tools
314
- if (this.tools.length > 0) {
315
- allToolDeclarations.push(...this.tools.map((t) => ({
316
- name: t.name,
317
- description: t.description,
318
- parameters: t.parameters,
319
- })));
320
- }
321
- // Add MCP tools as functionDeclarations
223
+ let activeMCPToolSchemas = [];
322
224
  if (this.mcpServers.length > 0) {
323
225
  try {
324
- // Initialize MCP schemas if not already done
325
226
  await this.initializeMCPSchemas();
326
- // Add MCP tool schemas as regular function declarations
327
- // Gemini will call these as normal functions, and ToolExecutor will handle the MCP routing
328
- allToolDeclarations.push(...this.mcpToolSchemas.map((t) => ({
329
- name: t.name,
330
- description: t.description,
331
- parameters: t.parameters,
332
- })));
227
+ activeMCPToolSchemas = this.mcpToolSchemas;
333
228
  }
334
229
  catch (error) {
335
230
  console.warn('MCP initialization failed, skipping MCP tools:', error);
336
- // Continue without MCP tools if initialization fails
337
231
  }
338
232
  }
339
- if (allToolDeclarations.length > 0) {
340
- body.tools = [
341
- {
342
- functionDeclarations: allToolDeclarations,
343
- },
344
- ];
345
- body.toolConfig = { functionCallingConfig: { mode: 'AUTO' } };
233
+ const toolConfig = buildGeminiToolConfig(this.tools, activeMCPToolSchemas);
234
+ if (toolConfig) {
235
+ Object.assign(body, toolConfig);
346
236
  }
347
237
  const fetchOnce = async (ver, payload) => {
348
238
  const fn = stream ? 'streamGenerateContent' : 'generateContent';
@@ -384,136 +274,6 @@ export class GeminiChatService {
384
274
  throw error;
385
275
  }
386
276
  }
387
- /**
388
- * Convert AITuber OnAir vision messages to Gemini format
389
- * @param messages Array of vision messages
390
- * @returns Gemini formatted vision messages
391
- */
392
- async convertVisionMessagesToGeminiFormat(messages) {
393
- const geminiMessages = [];
394
- let currentRole = null;
395
- let currentParts = [];
396
- for (const msg of messages) {
397
- // Map AITuber OnAir roles to Gemini roles
398
- const role = this.mapRoleToGemini(msg.role);
399
- /* ----------- OpenAI compatible tool metadata ----------- */
400
- // assistant: { tool_calls:[{id,name,function:{arguments}}] }
401
- if (msg.tool_calls) {
402
- for (const call of msg.tool_calls) {
403
- // Gemini does not need id. Insert functionCall into parts
404
- geminiMessages.push({
405
- role: 'model',
406
- parts: [
407
- {
408
- functionCall: {
409
- name: call.function.name,
410
- args: JSON.parse(call.function.arguments || '{}'),
411
- },
412
- },
413
- ],
414
- });
415
- }
416
- continue;
417
- }
418
- // tool role → user role + functionResponse
419
- if (msg.role === 'tool') {
420
- const funcName = msg.name ??
421
- this.callIdMap.get(msg.tool_call_id) ??
422
- 'result';
423
- geminiMessages.push({
424
- role: 'user',
425
- parts: [
426
- {
427
- functionResponse: {
428
- name: funcName,
429
- response: this.normalizeToolResult(this.safeJsonParse(msg.content)),
430
- },
431
- },
432
- ],
433
- });
434
- continue;
435
- }
436
- // If role changes, start a new message
437
- if (role !== currentRole && currentParts.length > 0) {
438
- geminiMessages.push({
439
- role: currentRole,
440
- parts: [...currentParts],
441
- });
442
- currentParts = [];
443
- }
444
- currentRole = role;
445
- // If the message has content blocks, process them
446
- if (typeof msg.content === 'string') {
447
- currentParts.push({ text: msg.content });
448
- }
449
- else if (Array.isArray(msg.content)) {
450
- // Process each content block (text or image)
451
- for (const block of msg.content) {
452
- if (block.type === 'text') {
453
- currentParts.push({ text: block.text });
454
- }
455
- else if (block.type === 'image_url') {
456
- try {
457
- // Fetch the image data from URL
458
- const imageResponse = await ChatServiceHttpClient.get(block.image_url.url);
459
- // Convert image to blob and then to base64
460
- const imageBlob = await imageResponse.blob();
461
- const base64Data = await this.blobToBase64(imageBlob);
462
- // Add image data in Gemini format
463
- currentParts.push({
464
- inlineData: {
465
- mimeType: imageBlob.type || 'image/jpeg',
466
- data: base64Data.split(',')[1], // Remove the "data:image/jpeg;base64," prefix
467
- },
468
- });
469
- }
470
- catch (error) {
471
- console.error('Error processing image:', error);
472
- throw new Error(`Failed to process image: ${error.message}`);
473
- }
474
- }
475
- }
476
- }
477
- }
478
- // Add the last message
479
- if (currentRole && currentParts.length > 0) {
480
- geminiMessages.push({
481
- role: currentRole,
482
- parts: [...currentParts],
483
- });
484
- }
485
- return geminiMessages;
486
- }
487
- /**
488
- * Convert Blob to Base64 string
489
- * @param blob Image blob
490
- * @returns Promise with base64 encoded string
491
- */
492
- blobToBase64(blob) {
493
- return new Promise((resolve, reject) => {
494
- const reader = new FileReader();
495
- reader.onloadend = () => resolve(reader.result);
496
- reader.onerror = reject;
497
- reader.readAsDataURL(blob);
498
- });
499
- }
500
- /**
501
- * Map AITuber OnAir roles to Gemini roles
502
- * @param role AITuber OnAir role
503
- * @returns Gemini role
504
- */
505
- mapRoleToGemini(role) {
506
- switch (role) {
507
- case 'system':
508
- return 'model'; // Gemini uses 'model' for system messages
509
- case 'user':
510
- return 'user';
511
- case 'assistant':
512
- return 'model';
513
- default:
514
- return 'user';
515
- }
516
- }
517
277
  /* ────────────────────────────────────────────────────────── */
518
278
  /* Convert NDJSON stream to common format */
519
279
  /* ────────────────────────────────────────────────────────── */
@@ -1 +1 @@
1
- {"version":3,"file":"GeminiChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/gemini/GeminiChatService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeminiChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/gemini/GeminiChatService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { Message, MessageWithVision } from '../../../types';
2
+ type GeminiMessage = {
3
+ role: string | null;
4
+ parts: any[];
5
+ };
6
+ type ConverterOptions = {
7
+ callIdMap?: Map<string, string>;
8
+ };
9
+ type VisionConverterOptions = ConverterOptions & {
10
+ imageFetcher?: (url: string) => Promise<Response>;
11
+ blobToBase64?: (blob: Blob) => Promise<string>;
12
+ };
13
+ export declare function mapRoleToGemini(role: string): string;
14
+ export declare function convertMessagesToGeminiFormat(messages: Message[], options?: ConverterOptions): GeminiMessage[];
15
+ export declare function convertVisionMessagesToGeminiFormat(messages: MessageWithVision[], options?: VisionConverterOptions): Promise<GeminiMessage[]>;
16
+ export {};
17
+ //# sourceMappingURL=geminiMessageConverter.d.ts.map
@@ -0,0 +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"}