@aituber-onair/chat 0.1.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 (211) hide show
  1. package/README.ja.md +318 -0
  2. package/README.md +318 -0
  3. package/dist/cjs/constants/chat.d.ts +26 -0
  4. package/dist/cjs/constants/chat.d.ts.map +1 -0
  5. package/dist/cjs/constants/chat.js +34 -0
  6. package/dist/cjs/constants/chat.js.map +1 -0
  7. package/dist/cjs/constants/claude.d.ts +9 -0
  8. package/dist/cjs/constants/claude.d.ts.map +1 -0
  9. package/dist/cjs/constants/claude.js +20 -0
  10. package/dist/cjs/constants/claude.js.map +1 -0
  11. package/dist/cjs/constants/gemini.d.ts +11 -0
  12. package/dist/cjs/constants/gemini.d.ts.map +1 -0
  13. package/dist/cjs/constants/gemini.js +26 -0
  14. package/dist/cjs/constants/gemini.js.map +1 -0
  15. package/dist/cjs/constants/index.d.ts +9 -0
  16. package/dist/cjs/constants/index.d.ts.map +1 -0
  17. package/dist/cjs/constants/index.js +25 -0
  18. package/dist/cjs/constants/index.js.map +1 -0
  19. package/dist/cjs/constants/openai.d.ts +13 -0
  20. package/dist/cjs/constants/openai.d.ts.map +1 -0
  21. package/dist/cjs/constants/openai.js +28 -0
  22. package/dist/cjs/constants/openai.js.map +1 -0
  23. package/dist/cjs/constants/prompts.d.ts +3 -0
  24. package/dist/cjs/constants/prompts.d.ts.map +1 -0
  25. package/dist/cjs/constants/prompts.js +16 -0
  26. package/dist/cjs/constants/prompts.js.map +1 -0
  27. package/dist/cjs/index.d.ts +17 -0
  28. package/dist/cjs/index.d.ts.map +1 -0
  29. package/dist/cjs/index.js +45 -0
  30. package/dist/cjs/index.js.map +1 -0
  31. package/dist/cjs/services/ChatService.d.ts +51 -0
  32. package/dist/cjs/services/ChatService.d.ts.map +1 -0
  33. package/dist/cjs/services/ChatService.js +3 -0
  34. package/dist/cjs/services/ChatService.js.map +1 -0
  35. package/dist/cjs/services/ChatServiceFactory.d.ts +39 -0
  36. package/dist/cjs/services/ChatServiceFactory.d.ts.map +1 -0
  37. package/dist/cjs/services/ChatServiceFactory.js +65 -0
  38. package/dist/cjs/services/ChatServiceFactory.js.map +1 -0
  39. package/dist/cjs/services/providers/ChatServiceProvider.d.ts +52 -0
  40. package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -0
  41. package/dist/cjs/services/providers/ChatServiceProvider.js +3 -0
  42. package/dist/cjs/services/providers/ChatServiceProvider.js.map +1 -0
  43. package/dist/cjs/services/providers/claude/ClaudeChatService.d.ts +142 -0
  44. package/dist/cjs/services/providers/claude/ClaudeChatService.d.ts.map +1 -0
  45. package/dist/cjs/services/providers/claude/ClaudeChatService.js +501 -0
  46. package/dist/cjs/services/providers/claude/ClaudeChatService.js.map +1 -0
  47. package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.d.ts +40 -0
  48. package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -0
  49. package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js +68 -0
  50. package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js.map +1 -0
  51. package/dist/cjs/services/providers/gemini/GeminiChatService.d.ts +104 -0
  52. package/dist/cjs/services/providers/gemini/GeminiChatService.d.ts.map +1 -0
  53. package/dist/cjs/services/providers/gemini/GeminiChatService.js +653 -0
  54. package/dist/cjs/services/providers/gemini/GeminiChatService.js.map +1 -0
  55. package/dist/cjs/services/providers/gemini/GeminiChatServiceProvider.d.ts +40 -0
  56. package/dist/cjs/services/providers/gemini/GeminiChatServiceProvider.d.ts.map +1 -0
  57. package/dist/cjs/services/providers/gemini/GeminiChatServiceProvider.js +70 -0
  58. package/dist/cjs/services/providers/gemini/GeminiChatServiceProvider.js.map +1 -0
  59. package/dist/cjs/services/providers/openai/OpenAIChatService.d.ts +110 -0
  60. package/dist/cjs/services/providers/openai/OpenAIChatService.d.ts.map +1 -0
  61. package/dist/cjs/services/providers/openai/OpenAIChatService.js +544 -0
  62. package/dist/cjs/services/providers/openai/OpenAIChatService.js.map +1 -0
  63. package/dist/cjs/services/providers/openai/OpenAIChatServiceProvider.d.ts +40 -0
  64. package/dist/cjs/services/providers/openai/OpenAIChatServiceProvider.d.ts.map +1 -0
  65. package/dist/cjs/services/providers/openai/OpenAIChatServiceProvider.js +80 -0
  66. package/dist/cjs/services/providers/openai/OpenAIChatServiceProvider.js.map +1 -0
  67. package/dist/cjs/types/chat.d.ts +46 -0
  68. package/dist/cjs/types/chat.d.ts.map +1 -0
  69. package/dist/cjs/types/chat.js +6 -0
  70. package/dist/cjs/types/chat.js.map +1 -0
  71. package/dist/cjs/types/index.d.ts +8 -0
  72. package/dist/cjs/types/index.d.ts.map +1 -0
  73. package/dist/cjs/types/index.js +25 -0
  74. package/dist/cjs/types/index.js.map +1 -0
  75. package/dist/cjs/types/mcp.d.ts +37 -0
  76. package/dist/cjs/types/mcp.d.ts.map +1 -0
  77. package/dist/cjs/types/mcp.js +6 -0
  78. package/dist/cjs/types/mcp.js.map +1 -0
  79. package/dist/cjs/types/toolChat.d.ts +42 -0
  80. package/dist/cjs/types/toolChat.d.ts.map +1 -0
  81. package/dist/cjs/types/toolChat.js +3 -0
  82. package/dist/cjs/types/toolChat.js.map +1 -0
  83. package/dist/cjs/utils/chatServiceHttpClient.d.ts +47 -0
  84. package/dist/cjs/utils/chatServiceHttpClient.d.ts.map +1 -0
  85. package/dist/cjs/utils/chatServiceHttpClient.js +131 -0
  86. package/dist/cjs/utils/chatServiceHttpClient.js.map +1 -0
  87. package/dist/cjs/utils/emotionParser.d.ts +46 -0
  88. package/dist/cjs/utils/emotionParser.d.ts.map +1 -0
  89. package/dist/cjs/utils/emotionParser.js +59 -0
  90. package/dist/cjs/utils/emotionParser.js.map +1 -0
  91. package/dist/cjs/utils/index.d.ts +8 -0
  92. package/dist/cjs/utils/index.d.ts.map +1 -0
  93. package/dist/cjs/utils/index.js +24 -0
  94. package/dist/cjs/utils/index.js.map +1 -0
  95. package/dist/cjs/utils/mcpSchemaFetcher.d.ts +19 -0
  96. package/dist/cjs/utils/mcpSchemaFetcher.d.ts.map +1 -0
  97. package/dist/cjs/utils/mcpSchemaFetcher.js +98 -0
  98. package/dist/cjs/utils/mcpSchemaFetcher.js.map +1 -0
  99. package/dist/cjs/utils/screenplay.d.ts +20 -0
  100. package/dist/cjs/utils/screenplay.d.ts.map +1 -0
  101. package/dist/cjs/utils/screenplay.js +41 -0
  102. package/dist/cjs/utils/screenplay.js.map +1 -0
  103. package/dist/cjs/utils/streamTextAccumulator.d.ts +25 -0
  104. package/dist/cjs/utils/streamTextAccumulator.d.ts.map +1 -0
  105. package/dist/cjs/utils/streamTextAccumulator.js +47 -0
  106. package/dist/cjs/utils/streamTextAccumulator.js.map +1 -0
  107. package/dist/esm/constants/chat.d.ts +26 -0
  108. package/dist/esm/constants/chat.d.ts.map +1 -0
  109. package/dist/esm/constants/chat.js +30 -0
  110. package/dist/esm/constants/chat.js.map +1 -0
  111. package/dist/esm/constants/claude.d.ts +9 -0
  112. package/dist/esm/constants/claude.d.ts.map +1 -0
  113. package/dist/esm/constants/claude.js +17 -0
  114. package/dist/esm/constants/claude.js.map +1 -0
  115. package/dist/esm/constants/gemini.d.ts +11 -0
  116. package/dist/esm/constants/gemini.d.ts.map +1 -0
  117. package/dist/esm/constants/gemini.js +23 -0
  118. package/dist/esm/constants/gemini.js.map +1 -0
  119. package/dist/esm/constants/index.d.ts +9 -0
  120. package/dist/esm/constants/index.d.ts.map +1 -0
  121. package/dist/esm/constants/index.js +9 -0
  122. package/dist/esm/constants/index.js.map +1 -0
  123. package/dist/esm/constants/openai.d.ts +13 -0
  124. package/dist/esm/constants/openai.d.ts.map +1 -0
  125. package/dist/esm/constants/openai.js +25 -0
  126. package/dist/esm/constants/openai.js.map +1 -0
  127. package/dist/esm/constants/prompts.d.ts +3 -0
  128. package/dist/esm/constants/prompts.d.ts.map +1 -0
  129. package/dist/esm/constants/prompts.js +13 -0
  130. package/dist/esm/constants/prompts.js.map +1 -0
  131. package/dist/esm/index.d.ts +17 -0
  132. package/dist/esm/index.d.ts.map +1 -0
  133. package/dist/esm/index.js +21 -0
  134. package/dist/esm/index.js.map +1 -0
  135. package/dist/esm/services/ChatService.d.ts +51 -0
  136. package/dist/esm/services/ChatService.d.ts.map +1 -0
  137. package/dist/esm/services/ChatService.js +2 -0
  138. package/dist/esm/services/ChatService.js.map +1 -0
  139. package/dist/esm/services/ChatServiceFactory.d.ts +39 -0
  140. package/dist/esm/services/ChatServiceFactory.d.ts.map +1 -0
  141. package/dist/esm/services/ChatServiceFactory.js +61 -0
  142. package/dist/esm/services/ChatServiceFactory.js.map +1 -0
  143. package/dist/esm/services/providers/ChatServiceProvider.d.ts +52 -0
  144. package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -0
  145. package/dist/esm/services/providers/ChatServiceProvider.js +2 -0
  146. package/dist/esm/services/providers/ChatServiceProvider.js.map +1 -0
  147. package/dist/esm/services/providers/claude/ClaudeChatService.d.ts +142 -0
  148. package/dist/esm/services/providers/claude/ClaudeChatService.d.ts.map +1 -0
  149. package/dist/esm/services/providers/claude/ClaudeChatService.js +497 -0
  150. package/dist/esm/services/providers/claude/ClaudeChatService.js.map +1 -0
  151. package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.d.ts +40 -0
  152. package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -0
  153. package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js +64 -0
  154. package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js.map +1 -0
  155. package/dist/esm/services/providers/gemini/GeminiChatService.d.ts +104 -0
  156. package/dist/esm/services/providers/gemini/GeminiChatService.d.ts.map +1 -0
  157. package/dist/esm/services/providers/gemini/GeminiChatService.js +649 -0
  158. package/dist/esm/services/providers/gemini/GeminiChatService.js.map +1 -0
  159. package/dist/esm/services/providers/gemini/GeminiChatServiceProvider.d.ts +40 -0
  160. package/dist/esm/services/providers/gemini/GeminiChatServiceProvider.d.ts.map +1 -0
  161. package/dist/esm/services/providers/gemini/GeminiChatServiceProvider.js +66 -0
  162. package/dist/esm/services/providers/gemini/GeminiChatServiceProvider.js.map +1 -0
  163. package/dist/esm/services/providers/openai/OpenAIChatService.d.ts +110 -0
  164. package/dist/esm/services/providers/openai/OpenAIChatService.d.ts.map +1 -0
  165. package/dist/esm/services/providers/openai/OpenAIChatService.js +540 -0
  166. package/dist/esm/services/providers/openai/OpenAIChatService.js.map +1 -0
  167. package/dist/esm/services/providers/openai/OpenAIChatServiceProvider.d.ts +40 -0
  168. package/dist/esm/services/providers/openai/OpenAIChatServiceProvider.d.ts.map +1 -0
  169. package/dist/esm/services/providers/openai/OpenAIChatServiceProvider.js +76 -0
  170. package/dist/esm/services/providers/openai/OpenAIChatServiceProvider.js.map +1 -0
  171. package/dist/esm/types/chat.d.ts +46 -0
  172. package/dist/esm/types/chat.d.ts.map +1 -0
  173. package/dist/esm/types/chat.js +5 -0
  174. package/dist/esm/types/chat.js.map +1 -0
  175. package/dist/esm/types/index.d.ts +8 -0
  176. package/dist/esm/types/index.d.ts.map +1 -0
  177. package/dist/esm/types/index.js +9 -0
  178. package/dist/esm/types/index.js.map +1 -0
  179. package/dist/esm/types/mcp.d.ts +37 -0
  180. package/dist/esm/types/mcp.d.ts.map +1 -0
  181. package/dist/esm/types/mcp.js +5 -0
  182. package/dist/esm/types/mcp.js.map +1 -0
  183. package/dist/esm/types/toolChat.d.ts +42 -0
  184. package/dist/esm/types/toolChat.d.ts.map +1 -0
  185. package/dist/esm/types/toolChat.js +2 -0
  186. package/dist/esm/types/toolChat.js.map +1 -0
  187. package/dist/esm/utils/chatServiceHttpClient.d.ts +47 -0
  188. package/dist/esm/utils/chatServiceHttpClient.d.ts.map +1 -0
  189. package/dist/esm/utils/chatServiceHttpClient.js +126 -0
  190. package/dist/esm/utils/chatServiceHttpClient.js.map +1 -0
  191. package/dist/esm/utils/emotionParser.d.ts +46 -0
  192. package/dist/esm/utils/emotionParser.d.ts.map +1 -0
  193. package/dist/esm/utils/emotionParser.js +55 -0
  194. package/dist/esm/utils/emotionParser.js.map +1 -0
  195. package/dist/esm/utils/index.d.ts +8 -0
  196. package/dist/esm/utils/index.d.ts.map +1 -0
  197. package/dist/esm/utils/index.js +8 -0
  198. package/dist/esm/utils/index.js.map +1 -0
  199. package/dist/esm/utils/mcpSchemaFetcher.d.ts +19 -0
  200. package/dist/esm/utils/mcpSchemaFetcher.d.ts.map +1 -0
  201. package/dist/esm/utils/mcpSchemaFetcher.js +94 -0
  202. package/dist/esm/utils/mcpSchemaFetcher.js.map +1 -0
  203. package/dist/esm/utils/screenplay.d.ts +20 -0
  204. package/dist/esm/utils/screenplay.d.ts.map +1 -0
  205. package/dist/esm/utils/screenplay.js +36 -0
  206. package/dist/esm/utils/screenplay.js.map +1 -0
  207. package/dist/esm/utils/streamTextAccumulator.d.ts +25 -0
  208. package/dist/esm/utils/streamTextAccumulator.d.ts.map +1 -0
  209. package/dist/esm/utils/streamTextAccumulator.js +43 -0
  210. package/dist/esm/utils/streamTextAccumulator.js.map +1 -0
  211. package/package.json +54 -0
@@ -0,0 +1,9 @@
1
+ export declare const ENDPOINT_CLAUDE_API = "https://api.anthropic.com/v1/messages";
2
+ export declare const MODEL_CLAUDE_3_HAIKU = "claude-3-haiku-20240307";
3
+ export declare const MODEL_CLAUDE_3_5_HAIKU = "claude-3-5-haiku-20241022";
4
+ export declare const MODEL_CLAUDE_3_5_SONNET = "claude-3-5-sonnet-20241022";
5
+ export declare const MODEL_CLAUDE_3_7_SONNET = "claude-3-7-sonnet-20250219";
6
+ export declare const MODEL_CLAUDE_4_SONNET = "claude-4-sonnet-20250514";
7
+ export declare const MODEL_CLAUDE_4_OPUS = "claude-4-opus-20250514";
8
+ export declare const CLAUDE_VISION_SUPPORTED_MODELS: string[];
9
+ //# sourceMappingURL=claude.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/constants/claude.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,0CAA0C,CAAC;AAG3E,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAC9D,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAClE,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,qBAAqB,6BAA6B,CAAC;AAChE,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAE5D,eAAO,MAAM,8BAA8B,UAO1C,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CLAUDE_VISION_SUPPORTED_MODELS = exports.MODEL_CLAUDE_4_OPUS = exports.MODEL_CLAUDE_4_SONNET = exports.MODEL_CLAUDE_3_7_SONNET = exports.MODEL_CLAUDE_3_5_SONNET = exports.MODEL_CLAUDE_3_5_HAIKU = exports.MODEL_CLAUDE_3_HAIKU = exports.ENDPOINT_CLAUDE_API = void 0;
4
+ exports.ENDPOINT_CLAUDE_API = 'https://api.anthropic.com/v1/messages';
5
+ // claude model
6
+ exports.MODEL_CLAUDE_3_HAIKU = 'claude-3-haiku-20240307';
7
+ exports.MODEL_CLAUDE_3_5_HAIKU = 'claude-3-5-haiku-20241022';
8
+ exports.MODEL_CLAUDE_3_5_SONNET = 'claude-3-5-sonnet-20241022';
9
+ exports.MODEL_CLAUDE_3_7_SONNET = 'claude-3-7-sonnet-20250219';
10
+ exports.MODEL_CLAUDE_4_SONNET = 'claude-4-sonnet-20250514';
11
+ exports.MODEL_CLAUDE_4_OPUS = 'claude-4-opus-20250514';
12
+ exports.CLAUDE_VISION_SUPPORTED_MODELS = [
13
+ exports.MODEL_CLAUDE_3_HAIKU,
14
+ exports.MODEL_CLAUDE_3_5_HAIKU,
15
+ exports.MODEL_CLAUDE_3_5_SONNET,
16
+ exports.MODEL_CLAUDE_3_7_SONNET,
17
+ exports.MODEL_CLAUDE_4_SONNET,
18
+ exports.MODEL_CLAUDE_4_OPUS,
19
+ ];
20
+ //# sourceMappingURL=claude.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/constants/claude.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,uCAAuC,CAAC;AAE3E,eAAe;AACF,QAAA,oBAAoB,GAAG,yBAAyB,CAAC;AACjD,QAAA,sBAAsB,GAAG,2BAA2B,CAAC;AACrD,QAAA,uBAAuB,GAAG,4BAA4B,CAAC;AACvD,QAAA,uBAAuB,GAAG,4BAA4B,CAAC;AACvD,QAAA,qBAAqB,GAAG,0BAA0B,CAAC;AACnD,QAAA,mBAAmB,GAAG,wBAAwB,CAAC;AAE/C,QAAA,8BAA8B,GAAG;IAC5C,4BAAoB;IACpB,8BAAsB;IACtB,+BAAuB;IACvB,+BAAuB;IACvB,6BAAqB;IACrB,2BAAmB;CACpB,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare const ENDPOINT_GEMINI_API = "https://generativelanguage.googleapis.com";
2
+ export declare const MODEL_GEMINI_2_5_PRO = "gemini-2.5-pro";
3
+ export declare const MODEL_GEMINI_2_5_FLASH = "gemini-2.5-flash";
4
+ export declare const MODEL_GEMINI_2_5_FLASH_LITE = "gemini-2.5-flash-lite";
5
+ export declare const MODEL_GEMINI_2_5_FLASH_LITE_PREVIEW_06_17 = "gemini-2.5-flash-lite-preview-06-17";
6
+ export declare const MODEL_GEMINI_2_0_FLASH = "gemini-2.0-flash";
7
+ export declare const MODEL_GEMINI_2_0_FLASH_LITE = "gemini-2.0-flash-lite";
8
+ export declare const MODEL_GEMINI_1_5_FLASH = "gemini-1.5-flash";
9
+ export declare const MODEL_GEMINI_1_5_PRO = "gemini-1.5-pro";
10
+ export declare const GEMINI_VISION_SUPPORTED_MODELS: string[];
11
+ //# sourceMappingURL=gemini.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/constants/gemini.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mBAAmB,8CAA8C,CAAC;AAG/E,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AACzD,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AACnE,eAAO,MAAM,yCAAyC,wCACf,CAAC;AACxC,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AACzD,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AACnE,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AACzD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAGrD,eAAO,MAAM,8BAA8B,UAS1C,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GEMINI_VISION_SUPPORTED_MODELS = exports.MODEL_GEMINI_1_5_PRO = exports.MODEL_GEMINI_1_5_FLASH = exports.MODEL_GEMINI_2_0_FLASH_LITE = exports.MODEL_GEMINI_2_0_FLASH = exports.MODEL_GEMINI_2_5_FLASH_LITE_PREVIEW_06_17 = exports.MODEL_GEMINI_2_5_FLASH_LITE = exports.MODEL_GEMINI_2_5_FLASH = exports.MODEL_GEMINI_2_5_PRO = exports.ENDPOINT_GEMINI_API = void 0;
4
+ // API Endpoints
5
+ exports.ENDPOINT_GEMINI_API = 'https://generativelanguage.googleapis.com';
6
+ // gemini model
7
+ exports.MODEL_GEMINI_2_5_PRO = 'gemini-2.5-pro';
8
+ exports.MODEL_GEMINI_2_5_FLASH = 'gemini-2.5-flash';
9
+ exports.MODEL_GEMINI_2_5_FLASH_LITE = 'gemini-2.5-flash-lite';
10
+ exports.MODEL_GEMINI_2_5_FLASH_LITE_PREVIEW_06_17 = 'gemini-2.5-flash-lite-preview-06-17';
11
+ exports.MODEL_GEMINI_2_0_FLASH = 'gemini-2.0-flash';
12
+ exports.MODEL_GEMINI_2_0_FLASH_LITE = 'gemini-2.0-flash-lite';
13
+ exports.MODEL_GEMINI_1_5_FLASH = 'gemini-1.5-flash';
14
+ exports.MODEL_GEMINI_1_5_PRO = 'gemini-1.5-pro';
15
+ // Vision support for Gemini models
16
+ exports.GEMINI_VISION_SUPPORTED_MODELS = [
17
+ exports.MODEL_GEMINI_2_5_PRO,
18
+ exports.MODEL_GEMINI_2_5_FLASH,
19
+ exports.MODEL_GEMINI_2_5_FLASH_LITE,
20
+ exports.MODEL_GEMINI_2_5_FLASH_LITE_PREVIEW_06_17,
21
+ exports.MODEL_GEMINI_2_0_FLASH,
22
+ exports.MODEL_GEMINI_2_0_FLASH_LITE,
23
+ exports.MODEL_GEMINI_1_5_FLASH,
24
+ exports.MODEL_GEMINI_1_5_PRO,
25
+ ];
26
+ //# sourceMappingURL=gemini.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../src/constants/gemini.ts"],"names":[],"mappings":";;;AAAA,gBAAgB;AACH,QAAA,mBAAmB,GAAG,2CAA2C,CAAC;AAE/E,eAAe;AACF,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AACxC,QAAA,sBAAsB,GAAG,kBAAkB,CAAC;AAC5C,QAAA,2BAA2B,GAAG,uBAAuB,CAAC;AACtD,QAAA,yCAAyC,GACpD,qCAAqC,CAAC;AAC3B,QAAA,sBAAsB,GAAG,kBAAkB,CAAC;AAC5C,QAAA,2BAA2B,GAAG,uBAAuB,CAAC;AACtD,QAAA,sBAAsB,GAAG,kBAAkB,CAAC;AAC5C,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AAErD,mCAAmC;AACtB,QAAA,8BAA8B,GAAG;IAC5C,4BAAoB;IACpB,8BAAsB;IACtB,mCAA2B;IAC3B,iDAAyC;IACzC,8BAAsB;IACtB,mCAA2B;IAC3B,8BAAsB;IACtB,4BAAoB;CACrB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Constants for AITuber OnAir Chat
3
+ */
4
+ export * from './openai';
5
+ export * from './gemini';
6
+ export * from './claude';
7
+ export * from './chat';
8
+ export * from './prompts';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /**
18
+ * Constants for AITuber OnAir Chat
19
+ */
20
+ __exportStar(require("./openai"), exports);
21
+ __exportStar(require("./gemini"), exports);
22
+ __exportStar(require("./claude"), exports);
23
+ __exportStar(require("./chat"), exports);
24
+ __exportStar(require("./prompts"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,yCAAuB;AACvB,4CAA0B"}
@@ -0,0 +1,13 @@
1
+ export declare const ENDPOINT_OPENAI_CHAT_COMPLETIONS_API = "https://api.openai.com/v1/chat/completions";
2
+ export declare const ENDPOINT_OPENAI_RESPONSES_API = "https://api.openai.com/v1/responses";
3
+ export declare const MODEL_GPT_4_1 = "gpt-4.1";
4
+ export declare const MODEL_GPT_4_1_MINI = "gpt-4.1-mini";
5
+ export declare const MODEL_GPT_4_1_NANO = "gpt-4.1-nano";
6
+ export declare const MODEL_GPT_4O_MINI = "gpt-4o-mini";
7
+ export declare const MODEL_GPT_4O = "gpt-4o";
8
+ export declare const MODEL_O3_MINI = "o3-mini";
9
+ export declare const MODEL_O1_MINI = "o1-mini";
10
+ export declare const MODEL_O1 = "o1";
11
+ export declare const MODEL_GPT_4_5_PREVIEW = "gpt-4.5-preview";
12
+ export declare const VISION_SUPPORTED_MODELS: string[];
13
+ //# sourceMappingURL=openai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/constants/openai.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oCAAoC,+CACH,CAAC;AAC/C,eAAO,MAAM,6BAA6B,wCACH,CAAC;AAGxC,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAEjD,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAC/C,eAAO,MAAM,YAAY,WAAW,CAAC;AACrC,eAAO,MAAM,aAAa,YAAY,CAAC;AAEvC,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,QAAQ,OAAO,CAAC;AAG7B,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AAGvD,eAAO,MAAM,uBAAuB,UASnC,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VISION_SUPPORTED_MODELS = exports.MODEL_GPT_4_5_PREVIEW = exports.MODEL_O1 = exports.MODEL_O1_MINI = exports.MODEL_O3_MINI = exports.MODEL_GPT_4O = exports.MODEL_GPT_4O_MINI = exports.MODEL_GPT_4_1_NANO = exports.MODEL_GPT_4_1_MINI = exports.MODEL_GPT_4_1 = exports.ENDPOINT_OPENAI_RESPONSES_API = exports.ENDPOINT_OPENAI_CHAT_COMPLETIONS_API = void 0;
4
+ exports.ENDPOINT_OPENAI_CHAT_COMPLETIONS_API = 'https://api.openai.com/v1/chat/completions';
5
+ exports.ENDPOINT_OPENAI_RESPONSES_API = 'https://api.openai.com/v1/responses';
6
+ // gpt model
7
+ exports.MODEL_GPT_4_1 = 'gpt-4.1';
8
+ exports.MODEL_GPT_4_1_MINI = 'gpt-4.1-mini';
9
+ exports.MODEL_GPT_4_1_NANO = 'gpt-4.1-nano';
10
+ exports.MODEL_GPT_4O_MINI = 'gpt-4o-mini';
11
+ exports.MODEL_GPT_4O = 'gpt-4o';
12
+ exports.MODEL_O3_MINI = 'o3-mini';
13
+ exports.MODEL_O1_MINI = 'o1-mini';
14
+ exports.MODEL_O1 = 'o1';
15
+ // deprecated
16
+ exports.MODEL_GPT_4_5_PREVIEW = 'gpt-4.5-preview';
17
+ // Vision support for models
18
+ exports.VISION_SUPPORTED_MODELS = [
19
+ exports.MODEL_GPT_4_1,
20
+ exports.MODEL_GPT_4_1_MINI,
21
+ exports.MODEL_GPT_4_1_NANO,
22
+ exports.MODEL_GPT_4O_MINI,
23
+ exports.MODEL_GPT_4O,
24
+ exports.MODEL_GPT_4_5_PREVIEW,
25
+ exports.MODEL_O1,
26
+ // MODEL_O3_MINI and MODEL_O1_MINI are not included as they don't support vision
27
+ ];
28
+ //# sourceMappingURL=openai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/constants/openai.ts"],"names":[],"mappings":";;;AAAa,QAAA,oCAAoC,GAC/C,4CAA4C,CAAC;AAClC,QAAA,6BAA6B,GACxC,qCAAqC,CAAC;AAExC,YAAY;AACC,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,kBAAkB,GAAG,cAAc,CAAC;AACpC,QAAA,kBAAkB,GAAG,cAAc,CAAC;AAEpC,QAAA,iBAAiB,GAAG,aAAa,CAAC;AAClC,QAAA,YAAY,GAAG,QAAQ,CAAC;AACxB,QAAA,aAAa,GAAG,SAAS,CAAC;AAE1B,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,QAAQ,GAAG,IAAI,CAAC;AAE7B,aAAa;AACA,QAAA,qBAAqB,GAAG,iBAAiB,CAAC;AAEvD,4BAA4B;AACf,QAAA,uBAAuB,GAAG;IACrC,qBAAa;IACb,0BAAkB;IAClB,0BAAkB;IAClB,yBAAiB;IACjB,oBAAY;IACZ,6BAAqB;IACrB,gBAAQ;IACR,gFAAgF;CACjF,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const DEFAULT_VISION_PROMPT = "You are a friendly AI avatar. Comment on the situation based on the broadcast screen.";
2
+ export declare const DEFAULT_SUMMARY_PROMPT_TEMPLATE = "You are a skilled summarizing assistant. \nAnalyze the following conversation and produce a summary in the **same language** as the majority of the conversation:\n- Summaries should highlight key points\n- Stay concise (around {maxLength} characters if possible)\n- No redundant expressions\n\nIf the conversation is in Japanese, summarize in Japanese.\nIf it's in English, summarize in English.\nIf it's in another language, summarize in that language.\n";
3
+ //# sourceMappingURL=prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/constants/prompts.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,qBAAqB,0FACuD,CAAC;AAC1F,eAAO,MAAM,+BAA+B,4cAS3C,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_SUMMARY_PROMPT_TEMPLATE = exports.DEFAULT_VISION_PROMPT = void 0;
4
+ // Default prompts
5
+ exports.DEFAULT_VISION_PROMPT = 'You are a friendly AI avatar. Comment on the situation based on the broadcast screen.';
6
+ exports.DEFAULT_SUMMARY_PROMPT_TEMPLATE = `You are a skilled summarizing assistant.
7
+ Analyze the following conversation and produce a summary in the **same language** as the majority of the conversation:
8
+ - Summaries should highlight key points
9
+ - Stay concise (around {maxLength} characters if possible)
10
+ - No redundant expressions
11
+
12
+ If the conversation is in Japanese, summarize in Japanese.
13
+ If it's in English, summarize in English.
14
+ If it's in another language, summarize in that language.
15
+ `;
16
+ //# sourceMappingURL=prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/constants/prompts.ts"],"names":[],"mappings":";;;AAAA,kBAAkB;AACL,QAAA,qBAAqB,GAChC,uFAAuF,CAAC;AAC7E,QAAA,+BAA+B,GAAG;;;;;;;;;CAS9C,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * AITuber OnAir Chat Package
3
+ * LLM API integration and chat processing functionality
4
+ */
5
+ export * from './types';
6
+ export type { ChatService } from './services/ChatService';
7
+ export { ChatServiceFactory } from './services/ChatServiceFactory';
8
+ export type { ChatServiceOptions, ChatServiceProvider, } from './services/providers/ChatServiceProvider';
9
+ export { OpenAIChatService } from './services/providers/openai/OpenAIChatService';
10
+ export { OpenAIChatServiceProvider } from './services/providers/openai/OpenAIChatServiceProvider';
11
+ export { GeminiChatService } from './services/providers/gemini/GeminiChatService';
12
+ export { GeminiChatServiceProvider } from './services/providers/gemini/GeminiChatServiceProvider';
13
+ export { ClaudeChatService } from './services/providers/claude/ClaudeChatService';
14
+ export { ClaudeChatServiceProvider } from './services/providers/claude/ClaudeChatServiceProvider';
15
+ export * from './constants';
16
+ export * from './utils';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,SAAS,CAAC;AAGxB,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGnE,YAAY,EACV,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ /**
3
+ * AITuber OnAir Chat Package
4
+ * LLM API integration and chat processing functionality
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.ClaudeChatServiceProvider = exports.ClaudeChatService = exports.GeminiChatServiceProvider = exports.GeminiChatService = exports.OpenAIChatServiceProvider = exports.OpenAIChatService = exports.ChatServiceFactory = void 0;
22
+ // Type definitions exports
23
+ __exportStar(require("./types"), exports);
24
+ var ChatServiceFactory_1 = require("./services/ChatServiceFactory");
25
+ Object.defineProperty(exports, "ChatServiceFactory", { enumerable: true, get: function () { return ChatServiceFactory_1.ChatServiceFactory; } });
26
+ // OpenAI provider exports
27
+ var OpenAIChatService_1 = require("./services/providers/openai/OpenAIChatService");
28
+ Object.defineProperty(exports, "OpenAIChatService", { enumerable: true, get: function () { return OpenAIChatService_1.OpenAIChatService; } });
29
+ var OpenAIChatServiceProvider_1 = require("./services/providers/openai/OpenAIChatServiceProvider");
30
+ Object.defineProperty(exports, "OpenAIChatServiceProvider", { enumerable: true, get: function () { return OpenAIChatServiceProvider_1.OpenAIChatServiceProvider; } });
31
+ // Gemini provider exports
32
+ var GeminiChatService_1 = require("./services/providers/gemini/GeminiChatService");
33
+ Object.defineProperty(exports, "GeminiChatService", { enumerable: true, get: function () { return GeminiChatService_1.GeminiChatService; } });
34
+ var GeminiChatServiceProvider_1 = require("./services/providers/gemini/GeminiChatServiceProvider");
35
+ Object.defineProperty(exports, "GeminiChatServiceProvider", { enumerable: true, get: function () { return GeminiChatServiceProvider_1.GeminiChatServiceProvider; } });
36
+ // Claude provider exports
37
+ var ClaudeChatService_1 = require("./services/providers/claude/ClaudeChatService");
38
+ Object.defineProperty(exports, "ClaudeChatService", { enumerable: true, get: function () { return ClaudeChatService_1.ClaudeChatService; } });
39
+ var ClaudeChatServiceProvider_1 = require("./services/providers/claude/ClaudeChatServiceProvider");
40
+ Object.defineProperty(exports, "ClaudeChatServiceProvider", { enumerable: true, get: function () { return ClaudeChatServiceProvider_1.ClaudeChatServiceProvider; } });
41
+ // Constants exports
42
+ __exportStar(require("./constants"), exports);
43
+ // Utility exports
44
+ __exportStar(require("./utils"), exports);
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,2BAA2B;AAC3B,0CAAwB;AAIxB,oEAAmE;AAA1D,wHAAA,kBAAkB,OAAA;AAQ3B,0BAA0B;AAC1B,mFAAkF;AAAzE,sHAAA,iBAAiB,OAAA;AAC1B,mGAAkG;AAAzF,sIAAA,yBAAyB,OAAA;AAElC,0BAA0B;AAC1B,mFAAkF;AAAzE,sHAAA,iBAAiB,OAAA;AAC1B,mGAAkG;AAAzF,sIAAA,yBAAyB,OAAA;AAElC,0BAA0B;AAC1B,mFAAkF;AAAzE,sHAAA,iBAAiB,OAAA;AAC1B,mGAAkG;AAAzF,sIAAA,yBAAyB,OAAA;AAElC,oBAAoB;AACpB,8CAA4B;AAE5B,kBAAkB;AAClB,0CAAwB"}
@@ -0,0 +1,51 @@
1
+ import { Message, MessageWithVision } from '../types';
2
+ import { ToolChatCompletion } from '../types/toolChat';
3
+ /**
4
+ * Chat service interface
5
+ * Abstracts interaction with AI models
6
+ */
7
+ export interface ChatService {
8
+ /**
9
+ * Get the model name
10
+ * @returns Model name
11
+ */
12
+ getModel(): string;
13
+ /**
14
+ * Get the vision model name
15
+ * @returns Vision model name
16
+ */
17
+ getVisionModel(): string;
18
+ /**
19
+ * Process chat messages
20
+ * @param messages Array of messages to send
21
+ * @param onPartialResponse Callback to receive each part of streaming response
22
+ * @param onCompleteResponse Callback to execute when response is complete
23
+ */
24
+ processChat(messages: Message[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
25
+ /**
26
+ * Process chat messages with images
27
+ * @param messages Array of messages to send (including images)
28
+ * @param onPartialResponse Callback to receive each part of streaming response
29
+ * @param onCompleteResponse Callback to execute when response is complete
30
+ */
31
+ processVisionChat(messages: MessageWithVision[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
32
+ /**
33
+ * Process chat messages with tools
34
+ * @param messages Array of messages to send
35
+ * @param stream Whether to use streaming
36
+ * @param onPartialResponse Callback for partial responses
37
+ * @param maxTokens Maximum tokens for response (optional)
38
+ * @returns Tool chat completion
39
+ */
40
+ chatOnce(messages: Message[], stream: boolean, onPartialResponse: (text: string) => void, maxTokens?: number): Promise<ToolChatCompletion>;
41
+ /**
42
+ * Process chat messages with tools and images
43
+ * @param messages Array of messages to send (including images)
44
+ * @param stream Whether to use streaming
45
+ * @param onPartialResponse Callback for partial responses
46
+ * @param maxTokens Maximum tokens for response (optional)
47
+ * @returns Tool chat completion
48
+ */
49
+ visionChatOnce(messages: MessageWithVision[], stream: boolean, onPartialResponse: (text: string) => void, maxTokens?: number): Promise<ToolChatCompletion>;
50
+ }
51
+ //# sourceMappingURL=ChatService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatService.d.ts","sourceRoot":"","sources":["../../../src/services/ChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAAC;IAEnB;;;OAGG;IACH,cAAc,IAAI,MAAM,CAAC;IAEzB;;;;;OAKG;IACH,WAAW,CACT,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,CAAC;IAEjB;;;;;OAKG;IACH,iBAAiB,CACf,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,CAAC;IAEjB;;;;;;;OAOG;IACH,QAAQ,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/B;;;;;;;OAOG;IACH,cAAc,CACZ,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ChatService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatService.js","sourceRoot":"","sources":["../../../src/services/ChatService.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ import { ChatService } from './ChatService';
2
+ import { ChatServiceOptions, ChatServiceProvider } from './providers/ChatServiceProvider';
3
+ /**
4
+ * Chat service factory
5
+ * Manages and creates various AI providers
6
+ */
7
+ export declare class ChatServiceFactory {
8
+ /** Map of registered providers */
9
+ private static providers;
10
+ /**
11
+ * Register a new provider
12
+ * @param provider Provider instance
13
+ */
14
+ static registerProvider(provider: ChatServiceProvider): void;
15
+ /**
16
+ * Create a chat service with the specified provider name and options
17
+ * @param providerName Provider name
18
+ * @param options Service options
19
+ * @returns Created ChatService instance
20
+ */
21
+ static createChatService(providerName: string, options: ChatServiceOptions): ChatService;
22
+ /**
23
+ * Get registered providers
24
+ * @returns Provider map
25
+ */
26
+ static getProviders(): Map<string, ChatServiceProvider>;
27
+ /**
28
+ * Get array of available provider names
29
+ * @returns Array of provider names
30
+ */
31
+ static getAvailableProviders(): string[];
32
+ /**
33
+ * Get models supported by the specified provider
34
+ * @param providerName Provider name
35
+ * @returns Array of supported models, empty array if provider doesn't exist
36
+ */
37
+ static getSupportedModels(providerName: string): string[];
38
+ }
39
+ //# sourceMappingURL=ChatServiceFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatServiceFactory.d.ts","sourceRoot":"","sources":["../../../src/services/ChatServiceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AAKzC;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,kCAAkC;IAClC,OAAO,CAAC,MAAM,CAAC,SAAS,CAA+C;IAEvE;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAI5D;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CACtB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,kBAAkB,GAC1B,WAAW;IAQd;;;OAGG;IACH,MAAM,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAIvD;;;OAGG;IACH,MAAM,CAAC,qBAAqB,IAAI,MAAM,EAAE;IAIxC;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE;CAI1D"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChatServiceFactory = void 0;
4
+ const OpenAIChatServiceProvider_1 = require("./providers/openai/OpenAIChatServiceProvider");
5
+ const GeminiChatServiceProvider_1 = require("./providers/gemini/GeminiChatServiceProvider");
6
+ const ClaudeChatServiceProvider_1 = require("./providers/claude/ClaudeChatServiceProvider");
7
+ /**
8
+ * Chat service factory
9
+ * Manages and creates various AI providers
10
+ */
11
+ class ChatServiceFactory {
12
+ /**
13
+ * Register a new provider
14
+ * @param provider Provider instance
15
+ */
16
+ static registerProvider(provider) {
17
+ this.providers.set(provider.getProviderName(), provider);
18
+ }
19
+ /**
20
+ * Create a chat service with the specified provider name and options
21
+ * @param providerName Provider name
22
+ * @param options Service options
23
+ * @returns Created ChatService instance
24
+ */
25
+ static createChatService(providerName, options) {
26
+ const provider = this.providers.get(providerName);
27
+ if (!provider) {
28
+ throw new Error(`Unknown chat provider: ${providerName}`);
29
+ }
30
+ return provider.createChatService(options);
31
+ }
32
+ /**
33
+ * Get registered providers
34
+ * @returns Provider map
35
+ */
36
+ static getProviders() {
37
+ return this.providers;
38
+ }
39
+ /**
40
+ * Get array of available provider names
41
+ * @returns Array of provider names
42
+ */
43
+ static getAvailableProviders() {
44
+ return Array.from(this.providers.keys());
45
+ }
46
+ /**
47
+ * Get models supported by the specified provider
48
+ * @param providerName Provider name
49
+ * @returns Array of supported models, empty array if provider doesn't exist
50
+ */
51
+ static getSupportedModels(providerName) {
52
+ const provider = this.providers.get(providerName);
53
+ return provider ? provider.getSupportedModels() : [];
54
+ }
55
+ }
56
+ exports.ChatServiceFactory = ChatServiceFactory;
57
+ /** Map of registered providers */
58
+ ChatServiceFactory.providers = new Map();
59
+ // Register OpenAI as a provider
60
+ ChatServiceFactory.registerProvider(new OpenAIChatServiceProvider_1.OpenAIChatServiceProvider());
61
+ // Register Gemini as a provider
62
+ ChatServiceFactory.registerProvider(new GeminiChatServiceProvider_1.GeminiChatServiceProvider());
63
+ // Register Claude as a provider
64
+ ChatServiceFactory.registerProvider(new ClaudeChatServiceProvider_1.ClaudeChatServiceProvider());
65
+ //# sourceMappingURL=ChatServiceFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatServiceFactory.js","sourceRoot":"","sources":["../../../src/services/ChatServiceFactory.ts"],"names":[],"mappings":";;;AAKA,4FAAyF;AACzF,4FAAyF;AACzF,4FAAyF;AAEzF;;;GAGG;AACH,MAAa,kBAAkB;IAI7B;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAA6B;QACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CACtB,YAAoB,EACpB,OAA2B;QAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,YAAY;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,qBAAqB;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,YAAoB;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;;AArDH,gDAsDC;AArDC,kCAAkC;AACnB,4BAAS,GAAqC,IAAI,GAAG,EAAE,CAAC;AAsDzE,gCAAgC;AAChC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,qDAAyB,EAAE,CAAC,CAAC;AACrE,gCAAgC;AAChC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,qDAAyB,EAAE,CAAC,CAAC;AACrE,gCAAgC;AAChC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,qDAAyB,EAAE,CAAC,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { ChatService } from '../ChatService';
2
+ import { ChatResponseLength } from '../../constants/chat';
3
+ /**
4
+ * Options for chat service providers
5
+ */
6
+ export interface ChatServiceOptions {
7
+ /** API Key */
8
+ apiKey: string;
9
+ /** Model name */
10
+ model?: string;
11
+ /** Vision model name (for image processing) */
12
+ visionModel?: string;
13
+ /** API endpoint type (chat/completions or responses (OpenAI only)) */
14
+ endpoint?: string;
15
+ /** Response length setting */
16
+ responseLength?: ChatResponseLength;
17
+ /** Additional provider-specific options */
18
+ [key: string]: any;
19
+ }
20
+ /**
21
+ * Chat service provider interface
22
+ * Abstraction for various AI API providers (OpenAI, Gemini, Claude, etc.)
23
+ */
24
+ export interface ChatServiceProvider {
25
+ /**
26
+ * Create a chat service instance
27
+ * @param options Service options
28
+ * @returns ChatService implementation
29
+ */
30
+ createChatService(options: ChatServiceOptions): ChatService;
31
+ /**
32
+ * Get the provider name
33
+ * @returns Provider name
34
+ */
35
+ getProviderName(): string;
36
+ /**
37
+ * Get the list of supported models
38
+ * @returns Array of supported models
39
+ */
40
+ getSupportedModels(): string[];
41
+ /**
42
+ * Get the default model
43
+ * @returns Default model name
44
+ */
45
+ getDefaultModel(): string;
46
+ /**
47
+ * Check if the provider supports vision (image processing)
48
+ * @returns Support status
49
+ */
50
+ supportsVision(): boolean;
51
+ }
52
+ //# sourceMappingURL=ChatServiceProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../src/services/providers/ChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,cAAc;IACd,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,2CAA2C;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAAC;IAE5D;;;OAGG;IACH,eAAe,IAAI,MAAM,CAAC;IAE1B;;;OAGG;IACH,kBAAkB,IAAI,MAAM,EAAE,CAAC;IAE/B;;;OAGG;IACH,eAAe,IAAI,MAAM,CAAC;IAE1B;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC;CAC3B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ChatServiceProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatServiceProvider.js","sourceRoot":"","sources":["../../../../src/services/providers/ChatServiceProvider.ts"],"names":[],"mappings":""}