@aituber-onair/chat 0.22.0 → 0.24.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 (81) hide show
  1. package/README.ja.md +18 -2
  2. package/README.md +18 -2
  3. package/dist/cjs/constants/geminiNano.d.ts +6 -0
  4. package/dist/cjs/constants/geminiNano.d.ts.map +1 -0
  5. package/dist/cjs/constants/geminiNano.js +9 -0
  6. package/dist/cjs/constants/geminiNano.js.map +1 -0
  7. package/dist/cjs/constants/index.d.ts +2 -0
  8. package/dist/cjs/constants/index.d.ts.map +1 -1
  9. package/dist/cjs/constants/index.js +2 -0
  10. package/dist/cjs/constants/index.js.map +1 -1
  11. package/dist/cjs/constants/xai.d.ts +11 -0
  12. package/dist/cjs/constants/xai.d.ts.map +1 -0
  13. package/dist/cjs/constants/xai.js +24 -0
  14. package/dist/cjs/constants/xai.js.map +1 -0
  15. package/dist/cjs/index.d.ts +5 -1
  16. package/dist/cjs/index.d.ts.map +1 -1
  17. package/dist/cjs/index.js +11 -1
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/cjs/services/providers/ChatServiceProvider.d.ts +15 -0
  20. package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
  21. package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.d.ts +37 -0
  22. package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.d.ts.map +1 -0
  23. package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.js +128 -0
  24. package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.js.map +1 -0
  25. package/dist/cjs/services/providers/geminiNano/GeminiNanoChatServiceProvider.d.ts +15 -0
  26. package/dist/cjs/services/providers/geminiNano/GeminiNanoChatServiceProvider.d.ts.map +1 -0
  27. package/dist/cjs/services/providers/geminiNano/GeminiNanoChatServiceProvider.js +35 -0
  28. package/dist/cjs/services/providers/geminiNano/GeminiNanoChatServiceProvider.js.map +1 -0
  29. package/dist/cjs/services/providers/index.d.ts +3 -1
  30. package/dist/cjs/services/providers/index.d.ts.map +1 -1
  31. package/dist/cjs/services/providers/index.js +4 -0
  32. package/dist/cjs/services/providers/index.js.map +1 -1
  33. package/dist/cjs/services/providers/xai/XAIChatService.d.ts +65 -0
  34. package/dist/cjs/services/providers/xai/XAIChatService.d.ts.map +1 -0
  35. package/dist/cjs/services/providers/xai/XAIChatService.js +150 -0
  36. package/dist/cjs/services/providers/xai/XAIChatService.js.map +1 -0
  37. package/dist/cjs/services/providers/xai/XAIChatServiceProvider.d.ts +38 -0
  38. package/dist/cjs/services/providers/xai/XAIChatServiceProvider.d.ts.map +1 -0
  39. package/dist/cjs/services/providers/xai/XAIChatServiceProvider.js +76 -0
  40. package/dist/cjs/services/providers/xai/XAIChatServiceProvider.js.map +1 -0
  41. package/dist/esm/constants/geminiNano.d.ts +6 -0
  42. package/dist/esm/constants/geminiNano.d.ts.map +1 -0
  43. package/dist/esm/constants/geminiNano.js +6 -0
  44. package/dist/esm/constants/geminiNano.js.map +1 -0
  45. package/dist/esm/constants/index.d.ts +2 -0
  46. package/dist/esm/constants/index.d.ts.map +1 -1
  47. package/dist/esm/constants/index.js +2 -0
  48. package/dist/esm/constants/index.js.map +1 -1
  49. package/dist/esm/constants/xai.d.ts +11 -0
  50. package/dist/esm/constants/xai.d.ts.map +1 -0
  51. package/dist/esm/constants/xai.js +20 -0
  52. package/dist/esm/constants/xai.js.map +1 -0
  53. package/dist/esm/index.d.ts +5 -1
  54. package/dist/esm/index.d.ts.map +1 -1
  55. package/dist/esm/index.js +6 -0
  56. package/dist/esm/index.js.map +1 -1
  57. package/dist/esm/services/providers/ChatServiceProvider.d.ts +15 -0
  58. package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
  59. package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.d.ts +37 -0
  60. package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.d.ts.map +1 -0
  61. package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.js +124 -0
  62. package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.js.map +1 -0
  63. package/dist/esm/services/providers/geminiNano/GeminiNanoChatServiceProvider.d.ts +15 -0
  64. package/dist/esm/services/providers/geminiNano/GeminiNanoChatServiceProvider.d.ts.map +1 -0
  65. package/dist/esm/services/providers/geminiNano/GeminiNanoChatServiceProvider.js +31 -0
  66. package/dist/esm/services/providers/geminiNano/GeminiNanoChatServiceProvider.js.map +1 -0
  67. package/dist/esm/services/providers/index.d.ts +3 -1
  68. package/dist/esm/services/providers/index.d.ts.map +1 -1
  69. package/dist/esm/services/providers/index.js +4 -0
  70. package/dist/esm/services/providers/index.js.map +1 -1
  71. package/dist/esm/services/providers/xai/XAIChatService.d.ts +65 -0
  72. package/dist/esm/services/providers/xai/XAIChatService.d.ts.map +1 -0
  73. package/dist/esm/services/providers/xai/XAIChatService.js +146 -0
  74. package/dist/esm/services/providers/xai/XAIChatService.js.map +1 -0
  75. package/dist/esm/services/providers/xai/XAIChatServiceProvider.d.ts +38 -0
  76. package/dist/esm/services/providers/xai/XAIChatServiceProvider.d.ts.map +1 -0
  77. package/dist/esm/services/providers/xai/XAIChatServiceProvider.js +72 -0
  78. package/dist/esm/services/providers/xai/XAIChatServiceProvider.js.map +1 -0
  79. package/dist/umd/aituber-onair-chat.js +387 -0
  80. package/dist/umd/aituber-onair-chat.min.js +11 -6
  81. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/providers/index.ts"],"names":[],"mappings":";;;AAAA,kFAA+E;AAC/E,kFAA+E;AAC/E,4EAAyE;AACzE,gHAA6G;AAC7G,kFAA+E;AAC/E,8FAA2F;AAC3F,yEAAsE;AAEzD,QAAA,8BAA8B,GAAG;IAC5C,IAAI,qDAAyB,EAAE;IAC/B,IAAI,yEAAmC,EAAE;IACzC,IAAI,qDAAyB,EAAE;IAC/B,IAAI,qDAAyB,EAAE;IAC/B,IAAI,6DAA6B,EAAE;IACnC,IAAI,+CAAsB,EAAE;IAC5B,IAAI,iDAAuB,EAAE;CAC9B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/providers/index.ts"],"names":[],"mappings":";;;AAAA,kFAA+E;AAC/E,kFAA+E;AAC/E,8FAA2F;AAC3F,4EAAyE;AACzE,gHAA6G;AAC7G,kFAA+E;AAC/E,8FAA2F;AAC3F,yEAAsE;AACtE,yEAAsE;AAEzD,QAAA,8BAA8B,GAAG;IAC5C,IAAI,qDAAyB,EAAE;IAC/B,IAAI,yEAAmC,EAAE;IACzC,IAAI,qDAAyB,EAAE;IAC/B,IAAI,6DAA6B,EAAE;IACnC,IAAI,qDAAyB,EAAE;IAC/B,IAAI,6DAA6B,EAAE;IACnC,IAAI,+CAAsB,EAAE;IAC5B,IAAI,+CAAsB,EAAE;IAC5B,IAAI,iDAAuB,EAAE;CAC9B,CAAC"}
@@ -0,0 +1,65 @@
1
+ import { ChatService } from '../../ChatService';
2
+ import { Message, MessageWithVision } from '../../../types';
3
+ import { ToolDefinition, ToolChatCompletion } from '../../../types';
4
+ import { ChatResponseLength } from '../../../constants/chat';
5
+ /**
6
+ * xAI implementation of ChatService (OpenAI-compatible Chat Completions)
7
+ */
8
+ export declare class XAIChatService implements ChatService {
9
+ /** Provider name */
10
+ readonly provider: string;
11
+ private apiKey;
12
+ private model;
13
+ private visionModel;
14
+ private tools;
15
+ private endpoint;
16
+ private responseLength?;
17
+ /**
18
+ * Constructor
19
+ * @param apiKey xAI API key
20
+ * @param model Name of the model to use
21
+ * @param visionModel Name of the vision model
22
+ */
23
+ constructor(apiKey: string, model?: string, visionModel?: string, tools?: ToolDefinition[], endpoint?: string, responseLength?: ChatResponseLength);
24
+ /**
25
+ * Get the current model name
26
+ */
27
+ getModel(): string;
28
+ /**
29
+ * Get the current vision model name
30
+ */
31
+ getVisionModel(): string;
32
+ /**
33
+ * Process chat messages
34
+ */
35
+ processChat(messages: Message[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
36
+ /**
37
+ * Process chat messages with images
38
+ */
39
+ processVisionChat(messages: MessageWithVision[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
40
+ /**
41
+ * Process chat messages with tools (text only)
42
+ */
43
+ chatOnce(messages: Message[], stream?: boolean, onPartialResponse?: (text: string) => void, maxTokens?: number): Promise<ToolChatCompletion>;
44
+ /**
45
+ * Process vision chat messages with tools
46
+ */
47
+ visionChatOnce(messages: MessageWithVision[], stream?: boolean, onPartialResponse?: (text: string) => void, maxTokens?: number): Promise<ToolChatCompletion>;
48
+ private parseResponse;
49
+ private callXAI;
50
+ /**
51
+ * Build request body (OpenAI-compatible Chat Completions)
52
+ */
53
+ private buildRequestBody;
54
+ private buildToolsDefinition;
55
+ private handleStream;
56
+ /**
57
+ * Parse streaming response with tool support
58
+ */
59
+ private parseStream;
60
+ /**
61
+ * Parse non-streaming response
62
+ */
63
+ private parseOneShot;
64
+ }
65
+ //# sourceMappingURL=XAIChatService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XAIChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/xai/XAIChatService.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;AAMpE,OAAO,EACL,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAUjC;;GAEG;AACH,qBAAa,cAAe,YAAW,WAAW;IAChD,oBAAoB;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAS;IAElC,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;IAE5C;;;;;OAKG;gBAED,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAA0C,EACjD,WAAW,GAAE,MAA0C,EACvD,KAAK,CAAC,EAAE,cAAc,EAAE,EACxB,QAAQ,GAAE,MAA0C,EACpD,cAAc,CAAC,EAAE,kBAAkB;IAUrC;;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,OAAO;IAerB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,oBAAoB;YAId,YAAY;IAO1B;;OAEG;YACW,WAAW;IAUzB;;OAEG;IACH,OAAO,CAAC,YAAY;CAGrB"}
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.XAIChatService = void 0;
4
+ const xai_1 = require("../../../constants/xai");
5
+ const chat_1 = require("../../../constants/chat");
6
+ const chatServiceHttpClient_1 = require("../../../utils/chatServiceHttpClient");
7
+ const utils_1 = require("../../../utils");
8
+ /**
9
+ * xAI implementation of ChatService (OpenAI-compatible Chat Completions)
10
+ */
11
+ class XAIChatService {
12
+ /**
13
+ * Constructor
14
+ * @param apiKey xAI API key
15
+ * @param model Name of the model to use
16
+ * @param visionModel Name of the vision model
17
+ */
18
+ constructor(apiKey, model = xai_1.MODEL_GROK_4_1_FAST_NON_REASONING, visionModel = xai_1.MODEL_GROK_4_1_FAST_NON_REASONING, tools, endpoint = xai_1.ENDPOINT_XAI_CHAT_COMPLETIONS_API, responseLength) {
19
+ /** Provider name */
20
+ this.provider = 'xai';
21
+ this.apiKey = apiKey;
22
+ this.model = model;
23
+ this.tools = tools || [];
24
+ this.endpoint = endpoint;
25
+ this.responseLength = responseLength;
26
+ this.visionModel = visionModel;
27
+ }
28
+ /**
29
+ * Get the current model name
30
+ */
31
+ getModel() {
32
+ return this.model;
33
+ }
34
+ /**
35
+ * Get the current vision model name
36
+ */
37
+ getVisionModel() {
38
+ return this.visionModel;
39
+ }
40
+ /**
41
+ * Process chat messages
42
+ */
43
+ async processChat(messages, onPartialResponse, onCompleteResponse) {
44
+ await (0, utils_1.processChatWithOptionalTools)({
45
+ hasTools: this.tools.length > 0,
46
+ runWithoutTools: async () => {
47
+ const res = await this.callXAI(messages, this.model, true);
48
+ return this.handleStream(res, onPartialResponse);
49
+ },
50
+ runWithTools: () => this.chatOnce(messages, true, onPartialResponse),
51
+ onCompleteResponse,
52
+ toolErrorMessage: 'processChat received tool_calls. ' +
53
+ 'ChatProcessor must use chatOnce() loop when tools are enabled.',
54
+ });
55
+ }
56
+ /**
57
+ * Process chat messages with images
58
+ */
59
+ async processVisionChat(messages, onPartialResponse, onCompleteResponse) {
60
+ if (!(0, xai_1.isXaiVisionModel)(this.visionModel)) {
61
+ throw new Error(`Model ${this.visionModel} does not support vision capabilities.`);
62
+ }
63
+ await (0, utils_1.processChatWithOptionalTools)({
64
+ hasTools: this.tools.length > 0,
65
+ runWithoutTools: async () => {
66
+ const res = await this.callXAI(messages, this.visionModel, true);
67
+ return this.handleStream(res, onPartialResponse);
68
+ },
69
+ runWithTools: () => this.visionChatOnce(messages, true, onPartialResponse),
70
+ onCompleteResponse,
71
+ toolErrorMessage: 'processVisionChat received tool_calls. ' +
72
+ 'ChatProcessor must use visionChatOnce() loop when tools are enabled.',
73
+ });
74
+ }
75
+ /**
76
+ * Process chat messages with tools (text only)
77
+ */
78
+ async chatOnce(messages, stream = true, onPartialResponse = () => { }, maxTokens) {
79
+ const res = await this.callXAI(messages, this.model, stream, maxTokens);
80
+ return this.parseResponse(res, stream, onPartialResponse);
81
+ }
82
+ /**
83
+ * Process vision chat messages with tools
84
+ */
85
+ async visionChatOnce(messages, stream = false, onPartialResponse = () => { }, maxTokens) {
86
+ if (!(0, xai_1.isXaiVisionModel)(this.visionModel)) {
87
+ throw new Error(`Model ${this.visionModel} does not support vision capabilities.`);
88
+ }
89
+ const res = await this.callXAI(messages, this.visionModel, stream, maxTokens);
90
+ return this.parseResponse(res, stream, onPartialResponse);
91
+ }
92
+ async parseResponse(res, stream, onPartialResponse) {
93
+ return stream
94
+ ? this.parseStream(res, onPartialResponse)
95
+ : this.parseOneShot(await res.json());
96
+ }
97
+ async callXAI(messages, model, stream = false, maxTokens) {
98
+ const body = this.buildRequestBody(messages, model, stream, maxTokens);
99
+ const res = await chatServiceHttpClient_1.ChatServiceHttpClient.post(this.endpoint, body, {
100
+ Authorization: `Bearer ${this.apiKey}`,
101
+ });
102
+ return res;
103
+ }
104
+ /**
105
+ * Build request body (OpenAI-compatible Chat Completions)
106
+ */
107
+ buildRequestBody(messages, model, stream, maxTokens) {
108
+ const body = {
109
+ model,
110
+ stream,
111
+ messages,
112
+ };
113
+ const tokenLimit = maxTokens !== undefined
114
+ ? maxTokens
115
+ : (0, chat_1.getMaxTokensForResponseLength)(this.responseLength);
116
+ if (tokenLimit !== undefined) {
117
+ body.max_tokens = tokenLimit;
118
+ }
119
+ const tools = this.buildToolsDefinition();
120
+ if (tools.length > 0) {
121
+ body.tools = tools;
122
+ body.tool_choice = 'auto';
123
+ }
124
+ return body;
125
+ }
126
+ buildToolsDefinition() {
127
+ return (0, utils_1.buildOpenAICompatibleTools)(this.tools, 'chat-completions');
128
+ }
129
+ async handleStream(res, onPartial) {
130
+ return (0, utils_1.parseOpenAICompatibleTextStream)(res, onPartial, {
131
+ onJsonError: (payload) => console.debug('Failed to parse SSE data:', payload),
132
+ });
133
+ }
134
+ /**
135
+ * Parse streaming response with tool support
136
+ */
137
+ async parseStream(res, onPartial) {
138
+ return (0, utils_1.parseOpenAICompatibleToolStream)(res, onPartial, {
139
+ onJsonError: (payload) => console.debug('Failed to parse SSE data:', payload),
140
+ });
141
+ }
142
+ /**
143
+ * Parse non-streaming response
144
+ */
145
+ parseOneShot(data) {
146
+ return (0, utils_1.parseOpenAICompatibleOneShot)(data);
147
+ }
148
+ }
149
+ exports.XAIChatService = XAIChatService;
150
+ //# sourceMappingURL=XAIChatService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XAIChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/xai/XAIChatService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { ChatService } from '../../ChatService';
2
+ import { XAIChatServiceOptions, ChatServiceProvider, VisionSupportLevel } from '../ChatServiceProvider';
3
+ /**
4
+ * xAI API provider implementation
5
+ */
6
+ export declare class XAIChatServiceProvider implements ChatServiceProvider<XAIChatServiceOptions> {
7
+ /**
8
+ * Create a chat service instance
9
+ */
10
+ createChatService(options: XAIChatServiceOptions): ChatService;
11
+ /**
12
+ * Get the provider name
13
+ */
14
+ getProviderName(): string;
15
+ /**
16
+ * Get the list of supported models
17
+ */
18
+ getSupportedModels(): string[];
19
+ /**
20
+ * Get the default model
21
+ */
22
+ getDefaultModel(): string;
23
+ /**
24
+ * Get the default vision model
25
+ */
26
+ private getDefaultVisionModel;
27
+ /**
28
+ * Check if this provider supports vision
29
+ */
30
+ supportsVision(): boolean;
31
+ getVisionSupportLevel(): VisionSupportLevel;
32
+ /**
33
+ * Check if a specific model supports vision capabilities
34
+ */
35
+ supportsVisionForModel(model: string): boolean;
36
+ getVisionSupportLevelForModel(model: string): VisionSupportLevel;
37
+ }
38
+ //# sourceMappingURL=XAIChatServiceProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XAIChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/xai/XAIChatServiceProvider.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAIhC;;GAEG;AACH,qBAAa,sBACX,YAAW,mBAAmB,CAAC,qBAAqB,CAAC;IAErD;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW;IAwB9D;;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;CAGjE"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.XAIChatServiceProvider = void 0;
4
+ const xai_1 = require("../../../constants/xai");
5
+ const XAIChatService_1 = require("./XAIChatService");
6
+ const utils_1 = require("../../../utils");
7
+ /**
8
+ * xAI API provider implementation
9
+ */
10
+ class XAIChatServiceProvider {
11
+ /**
12
+ * Create a chat service instance
13
+ */
14
+ createChatService(options) {
15
+ const model = options.model || this.getDefaultModel();
16
+ const visionModel = (0, utils_1.resolveVisionModel)({
17
+ model,
18
+ visionModel: options.visionModel,
19
+ defaultModel: this.getDefaultModel(),
20
+ defaultVisionModel: this.getDefaultVisionModel(),
21
+ supportsVisionForModel: (visionModel) => this.supportsVisionForModel(visionModel),
22
+ validate: 'explicit',
23
+ });
24
+ const tools = options.tools;
25
+ return new XAIChatService_1.XAIChatService(options.apiKey, model, visionModel, tools, options.endpoint || xai_1.ENDPOINT_XAI_CHAT_COMPLETIONS_API, options.responseLength);
26
+ }
27
+ /**
28
+ * Get the provider name
29
+ */
30
+ getProviderName() {
31
+ return 'xai';
32
+ }
33
+ /**
34
+ * Get the list of supported models
35
+ */
36
+ getSupportedModels() {
37
+ return [
38
+ xai_1.MODEL_GROK_4_20_REASONING,
39
+ xai_1.MODEL_GROK_4_20_NON_REASONING,
40
+ xai_1.MODEL_GROK_4_1_FAST_REASONING,
41
+ xai_1.MODEL_GROK_4_1_FAST_NON_REASONING,
42
+ ];
43
+ }
44
+ /**
45
+ * Get the default model
46
+ */
47
+ getDefaultModel() {
48
+ return xai_1.MODEL_GROK_4_1_FAST_NON_REASONING;
49
+ }
50
+ /**
51
+ * Get the default vision model
52
+ */
53
+ getDefaultVisionModel() {
54
+ return xai_1.MODEL_GROK_4_1_FAST_NON_REASONING;
55
+ }
56
+ /**
57
+ * Check if this provider supports vision
58
+ */
59
+ supportsVision() {
60
+ return this.getVisionSupportLevel() !== 'unsupported';
61
+ }
62
+ getVisionSupportLevel() {
63
+ return 'supported';
64
+ }
65
+ /**
66
+ * Check if a specific model supports vision capabilities
67
+ */
68
+ supportsVisionForModel(model) {
69
+ return (0, xai_1.isXaiVisionModel)(model);
70
+ }
71
+ getVisionSupportLevelForModel(model) {
72
+ return this.supportsVisionForModel(model) ? 'supported' : 'unsupported';
73
+ }
74
+ }
75
+ exports.XAIChatServiceProvider = XAIChatServiceProvider;
76
+ //# sourceMappingURL=XAIChatServiceProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XAIChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/xai/XAIChatServiceProvider.ts"],"names":[],"mappings":";;;AAAA,gDAOgC;AAEhC,qDAAkD;AAOlD,0CAAoD;AAEpD;;GAEG;AACH,MAAa,sBAAsB;IAGjC;;OAEG;IACH,iBAAiB,CAAC,OAA8B;QAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACtD,MAAM,WAAW,GAAG,IAAA,0BAAkB,EAAC;YACrC,KAAK;YACL,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE;YACpC,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,EAAE;YAChD,sBAAsB,EAAE,CAAC,WAAW,EAAE,EAAE,CACtC,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC;YAC1C,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAiC,OAAO,CAAC,KAAK,CAAC;QAE1D,OAAO,IAAI,+BAAc,CACvB,OAAO,CAAC,MAAM,EACd,KAAK,EACL,WAAW,EACX,KAAK,EACL,OAAO,CAAC,QAAQ,IAAI,uCAAiC,EACrD,OAAO,CAAC,cAAc,CACvB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO;YACL,+BAAyB;YACzB,mCAA6B;YAC7B,mCAA6B;YAC7B,uCAAiC;SAClC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,uCAAiC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,OAAO,uCAAiC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,qBAAqB,EAAE,KAAK,aAAa,CAAC;IACxD,CAAC;IAED,qBAAqB;QACnB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,KAAa;QAClC,OAAO,IAAA,sBAAgB,EAAC,KAAK,CAAC,CAAC;IACjC,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;AApFD,wDAoFC"}
@@ -0,0 +1,6 @@
1
+ export declare const MODEL_GEMINI_NANO = "gemini-nano";
2
+ /**
3
+ * Maximum number of messages to include in context history.
4
+ */
5
+ export declare const GEMINI_NANO_MAX_CONTEXT_MESSAGES = 20;
6
+ //# sourceMappingURL=geminiNano.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geminiNano.d.ts","sourceRoot":"","sources":["../../../src/constants/geminiNano.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,gCAAgC,KAAK,CAAC"}
@@ -0,0 +1,6 @@
1
+ export const MODEL_GEMINI_NANO = 'gemini-nano';
2
+ /**
3
+ * Maximum number of messages to include in context history.
4
+ */
5
+ export const GEMINI_NANO_MAX_CONTEXT_MESSAGES = 20;
6
+ //# sourceMappingURL=geminiNano.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geminiNano.js","sourceRoot":"","sources":["../../../src/constants/geminiNano.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,CAAC"}
@@ -6,7 +6,9 @@ export * from './gemini';
6
6
  export * from './claude';
7
7
  export * from './openrouter';
8
8
  export * from './zai';
9
+ export * from './xai';
9
10
  export * from './kimi';
10
11
  export * from './chat';
11
12
  export * from './prompts';
13
+ export * from './geminiNano';
12
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
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,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
@@ -6,7 +6,9 @@ export * from './gemini';
6
6
  export * from './claude';
7
7
  export * from './openrouter';
8
8
  export * from './zai';
9
+ export * from './xai';
9
10
  export * from './kimi';
10
11
  export * from './chat';
11
12
  export * from './prompts';
13
+ export * from './geminiNano';
12
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare const ENDPOINT_XAI_CHAT_COMPLETIONS_API = "https://api.x.ai/v1/chat/completions";
2
+ export declare const MODEL_GROK_4_20_REASONING = "grok-4.20-0309-reasoning";
3
+ export declare const MODEL_GROK_4_20_NON_REASONING = "grok-4.20-0309-non-reasoning";
4
+ export declare const MODEL_GROK_4_1_FAST_REASONING = "grok-4-1-fast-reasoning";
5
+ export declare const MODEL_GROK_4_1_FAST_NON_REASONING = "grok-4-1-fast-non-reasoning";
6
+ export declare const XAI_VISION_SUPPORTED_MODELS: string[];
7
+ /**
8
+ * Check if a model supports vision capabilities
9
+ */
10
+ export declare function isXaiVisionModel(model: string): boolean;
11
+ //# sourceMappingURL=xai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xai.d.ts","sourceRoot":"","sources":["../../../src/constants/xai.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,yCACN,CAAC;AAGzC,eAAO,MAAM,yBAAyB,6BAA6B,CAAC;AACpE,eAAO,MAAM,6BAA6B,iCAAiC,CAAC;AAC5E,eAAO,MAAM,6BAA6B,4BAA4B,CAAC;AACvE,eAAO,MAAM,iCAAiC,gCAAgC,CAAC;AAG/E,eAAO,MAAM,2BAA2B,UAKvC,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD"}
@@ -0,0 +1,20 @@
1
+ export const ENDPOINT_XAI_CHAT_COMPLETIONS_API = 'https://api.x.ai/v1/chat/completions';
2
+ // xAI Grok models
3
+ export const MODEL_GROK_4_20_REASONING = 'grok-4.20-0309-reasoning';
4
+ export const MODEL_GROK_4_20_NON_REASONING = 'grok-4.20-0309-non-reasoning';
5
+ export const MODEL_GROK_4_1_FAST_REASONING = 'grok-4-1-fast-reasoning';
6
+ export const MODEL_GROK_4_1_FAST_NON_REASONING = 'grok-4-1-fast-non-reasoning';
7
+ // Vision support for models
8
+ export const XAI_VISION_SUPPORTED_MODELS = [
9
+ MODEL_GROK_4_20_REASONING,
10
+ MODEL_GROK_4_20_NON_REASONING,
11
+ MODEL_GROK_4_1_FAST_REASONING,
12
+ MODEL_GROK_4_1_FAST_NON_REASONING,
13
+ ];
14
+ /**
15
+ * Check if a model supports vision capabilities
16
+ */
17
+ export function isXaiVisionModel(model) {
18
+ return XAI_VISION_SUPPORTED_MODELS.includes(model);
19
+ }
20
+ //# sourceMappingURL=xai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xai.js","sourceRoot":"","sources":["../../../src/constants/xai.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iCAAiC,GAC5C,sCAAsC,CAAC;AAEzC,kBAAkB;AAClB,MAAM,CAAC,MAAM,yBAAyB,GAAG,0BAA0B,CAAC;AACpE,MAAM,CAAC,MAAM,6BAA6B,GAAG,8BAA8B,CAAC;AAC5E,MAAM,CAAC,MAAM,6BAA6B,GAAG,yBAAyB,CAAC;AACvE,MAAM,CAAC,MAAM,iCAAiC,GAAG,6BAA6B,CAAC;AAE/E,4BAA4B;AAC5B,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,yBAAyB;IACzB,6BAA6B;IAC7B,6BAA6B;IAC7B,iCAAiC;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,2BAA2B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC"}
@@ -5,18 +5,22 @@
5
5
  export * from './types';
6
6
  export type { ChatService } from './services/ChatService';
7
7
  export { ChatServiceFactory } from './services/ChatServiceFactory';
8
- export type { ChatServiceOptions, ChatServiceOptionsByProvider, ChatProviderName, OpenAIChatServiceOptions, OpenAICompatibleChatServiceOptions, OpenRouterChatServiceOptions, GeminiChatServiceOptions, ClaudeChatServiceOptions, ZAIChatServiceOptions, KimiChatServiceOptions, ChatServiceProvider, VisionSupportLevel, } from './services/providers/ChatServiceProvider';
8
+ export type { ChatServiceOptions, ChatServiceOptionsByProvider, ChatProviderName, OpenAIChatServiceOptions, OpenAICompatibleChatServiceOptions, OpenRouterChatServiceOptions, GeminiChatServiceOptions, GeminiNanoChatServiceOptions, ClaudeChatServiceOptions, ZAIChatServiceOptions, XAIChatServiceOptions, KimiChatServiceOptions, ChatServiceProvider, VisionSupportLevel, } from './services/providers/ChatServiceProvider';
9
9
  export { OpenAIChatService } from './services/providers/openai/OpenAIChatService';
10
10
  export { OpenAIChatServiceProvider } from './services/providers/openai/OpenAIChatServiceProvider';
11
11
  export { OpenAICompatibleChatServiceProvider } from './services/providers/openaiCompatible/OpenAICompatibleChatServiceProvider';
12
12
  export { GeminiChatService } from './services/providers/gemini/GeminiChatService';
13
13
  export { GeminiChatServiceProvider } from './services/providers/gemini/GeminiChatServiceProvider';
14
+ export { GeminiNanoChatService } from './services/providers/geminiNano/GeminiNanoChatService';
15
+ export { GeminiNanoChatServiceProvider } from './services/providers/geminiNano/GeminiNanoChatServiceProvider';
14
16
  export { ClaudeChatService } from './services/providers/claude/ClaudeChatService';
15
17
  export { ClaudeChatServiceProvider } from './services/providers/claude/ClaudeChatServiceProvider';
16
18
  export { OpenRouterChatService } from './services/providers/openrouter/OpenRouterChatService';
17
19
  export { OpenRouterChatServiceProvider } from './services/providers/openrouter/OpenRouterChatServiceProvider';
18
20
  export { ZAIChatService } from './services/providers/zai/ZAIChatService';
19
21
  export { ZAIChatServiceProvider } from './services/providers/zai/ZAIChatServiceProvider';
22
+ export { XAIChatService } from './services/providers/xai/XAIChatService';
23
+ export { XAIChatServiceProvider } from './services/providers/xai/XAIChatServiceProvider';
20
24
  export { KimiChatService } from './services/providers/kimi/KimiChatService';
21
25
  export { KimiChatServiceProvider } from './services/providers/kimi/KimiChatServiceProvider';
22
26
  export * from './constants';
@@ -1 +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,4BAA4B,EAC5B,gBAAgB,EAChB,wBAAwB,EACxB,kCAAkC,EAClC,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,mCAAmC,EAAE,MAAM,2EAA2E,CAAC;AAGhI,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,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AAG9G,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAGzF,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAG5F,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
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,4BAA4B,EAC5B,gBAAgB,EAChB,wBAAwB,EACxB,kCAAkC,EAClC,4BAA4B,EAC5B,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,mCAAmC,EAAE,MAAM,2EAA2E,CAAC;AAGhI,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AAG9G,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AAG9G,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAGzF,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAGzF,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAG5F,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/esm/index.js CHANGED
@@ -12,6 +12,9 @@ export { OpenAICompatibleChatServiceProvider } from './services/providers/openai
12
12
  // Gemini provider exports
13
13
  export { GeminiChatService } from './services/providers/gemini/GeminiChatService';
14
14
  export { GeminiChatServiceProvider } from './services/providers/gemini/GeminiChatServiceProvider';
15
+ // Gemini Nano provider exports
16
+ export { GeminiNanoChatService } from './services/providers/geminiNano/GeminiNanoChatService';
17
+ export { GeminiNanoChatServiceProvider } from './services/providers/geminiNano/GeminiNanoChatServiceProvider';
15
18
  // Claude provider exports
16
19
  export { ClaudeChatService } from './services/providers/claude/ClaudeChatService';
17
20
  export { ClaudeChatServiceProvider } from './services/providers/claude/ClaudeChatServiceProvider';
@@ -21,6 +24,9 @@ export { OpenRouterChatServiceProvider } from './services/providers/openrouter/O
21
24
  // Z.ai provider exports
22
25
  export { ZAIChatService } from './services/providers/zai/ZAIChatService';
23
26
  export { ZAIChatServiceProvider } from './services/providers/zai/ZAIChatServiceProvider';
27
+ // xAI provider exports
28
+ export { XAIChatService } from './services/providers/xai/XAIChatService';
29
+ export { XAIChatServiceProvider } from './services/providers/xai/XAIChatServiceProvider';
24
30
  // Kimi provider exports
25
31
  export { KimiChatService } from './services/providers/kimi/KimiChatService';
26
32
  export { KimiChatServiceProvider } from './services/providers/kimi/KimiChatServiceProvider';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,2BAA2B;AAC3B,cAAc,SAAS,CAAC;AAIxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAkBnE,0BAA0B;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,mCAAmC,EAAE,MAAM,2EAA2E,CAAC;AAEhI,0BAA0B;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAElG,0BAA0B;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAElG,8BAA8B;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AAE9G,wBAAwB;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAEzF,wBAAwB;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAE5F,oBAAoB;AACpB,cAAc,aAAa,CAAC;AAE5B,kBAAkB;AAClB,cAAc,SAAS,CAAC;AAExB,WAAW;AACX,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,2BAA2B;AAC3B,cAAc,SAAS,CAAC;AAIxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAoBnE,0BAA0B;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,mCAAmC,EAAE,MAAM,2EAA2E,CAAC;AAEhI,0BAA0B;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAElG,+BAA+B;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AAE9G,0BAA0B;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAElG,8BAA8B;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AAE9G,wBAAwB;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAEzF,uBAAuB;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAEzF,wBAAwB;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAE5F,oBAAoB;AACpB,cAAc,aAAa,CAAC;AAE5B,kBAAkB;AAClB,cAAc,SAAS,CAAC;AAExB,WAAW;AACX,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
@@ -69,6 +69,19 @@ export type ClaudeChatServiceOptions = DisallowKeys<BaseChatServiceOptions, 'end
69
69
  };
70
70
  export type KimiChatServiceOptions = DisallowKeys<BaseChatServiceOptions, 'verbosity' | 'reasoning_effort' | 'gpt5Preset' | 'gpt5EndpointPreference' | 'enableReasoningSummary' | 'includeReasoning' | 'reasoningMaxTokens'>;
71
71
  export type ZAIChatServiceOptions = DisallowKeys<BaseChatServiceOptions, 'verbosity' | 'reasoning_effort' | 'gpt5Preset' | 'gpt5EndpointPreference' | 'enableReasoningSummary' | 'includeReasoning' | 'reasoningMaxTokens' | 'baseUrl'>;
72
+ export type XAIChatServiceOptions = DisallowKeys<BaseChatServiceOptions, 'verbosity' | 'reasoning_effort' | 'gpt5Preset' | 'gpt5EndpointPreference' | 'enableReasoningSummary' | 'includeReasoning' | 'reasoningMaxTokens' | 'baseUrl' | 'thinking' | 'responseFormat'>;
73
+ export type GeminiNanoChatServiceOptions = {
74
+ /** API Key is not needed for Gemini Nano (browser built-in AI) */
75
+ apiKey?: never;
76
+ /** Model name (fixed to 'gemini-nano') */
77
+ model?: string;
78
+ /** Response length setting */
79
+ responseLength?: ChatResponseLength;
80
+ /** Expected input languages for the Prompt API (default: ['ja']) */
81
+ expectedInputLanguages?: string[];
82
+ /** Expected output languages for the Prompt API (default: ['ja']) */
83
+ expectedOutputLanguages?: string[];
84
+ };
72
85
  export type ChatServiceOptions<TExtra extends Record<string, unknown> = Record<string, unknown>> = BaseChatServiceOptions & TExtra;
73
86
  export type ChatServiceOptionsByProvider = {
74
87
  openai: OpenAIChatServiceOptions;
@@ -77,7 +90,9 @@ export type ChatServiceOptionsByProvider = {
77
90
  gemini: GeminiChatServiceOptions;
78
91
  claude: ClaudeChatServiceOptions;
79
92
  zai: ZAIChatServiceOptions;
93
+ xai: XAIChatServiceOptions;
80
94
  kimi: KimiChatServiceOptions;
95
+ 'gemini-nano': GeminiNanoChatServiceOptions;
81
96
  };
82
97
  export type ChatProviderName = keyof ChatServiceOptionsByProvider;
83
98
  export type VisionSupportLevel = 'supported' | 'unsupported' | 'unknown';
@@ -1 +1 @@
1
- {"version":3,"file":"ChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../src/services/providers/ChatServiceProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../src/services/providers/ChatServiceProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { ChatService } from '../../ChatService';
2
+ import { Message, MessageWithVision } from '../../../types';
3
+ import { ToolChatCompletion } from '../../../types/toolChat';
4
+ import type { GeminiNanoChatServiceOptions } from '../ChatServiceProvider';
5
+ /**
6
+ * Gemini Nano implementation of ChatService.
7
+ * Uses Chrome's built-in LanguageModel API (Prompt API, Chrome 138+).
8
+ * Runs entirely in the browser — no API key or network required.
9
+ */
10
+ export declare class GeminiNanoChatService implements ChatService {
11
+ readonly provider: string;
12
+ private expectedInputLanguages;
13
+ private expectedOutputLanguages;
14
+ private _responseLength?;
15
+ constructor(options?: GeminiNanoChatServiceOptions);
16
+ getModel(): string;
17
+ getVisionModel(): string;
18
+ /**
19
+ * Process chat messages using Gemini Nano.
20
+ * Non-streaming: calls onPartialResponse once with the full response,
21
+ * then calls onCompleteResponse.
22
+ */
23
+ processChat(messages: Message[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
24
+ processVisionChat(_messages: MessageWithVision[], _onPartialResponse: (text: string) => void, _onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
25
+ chatOnce(messages: Message[], _stream?: boolean, onPartialResponse?: (text: string) => void, _maxTokens?: number): Promise<ToolChatCompletion>;
26
+ visionChatOnce(_messages: MessageWithVision[], _stream?: boolean, _onPartialResponse?: (text: string) => void, _maxTokens?: number): Promise<ToolChatCompletion>;
27
+ /**
28
+ * Core logic: extract system prompt, manage session, call prompt().
29
+ */
30
+ private generateResponse;
31
+ /**
32
+ * Create a new LanguageModel session with system prompt and context history.
33
+ * Context history (excluding the last user message) is embedded in the system prompt.
34
+ */
35
+ private createSession;
36
+ }
37
+ //# sourceMappingURL=GeminiNanoChatService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeminiNanoChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/geminiNano/GeminiNanoChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAM7D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AA2B3E;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,WAAW;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAiB;IAE1C,OAAO,CAAC,sBAAsB,CAAW;IACzC,OAAO,CAAC,uBAAuB,CAAW;IAC1C,OAAO,CAAC,eAAe,CAAC,CAAqB;gBAEjC,OAAO,GAAE,4BAAiC;IAOtD,QAAQ,IAAI,MAAM;IAIlB,cAAc,IAAI,MAAM;IAIxB;;;;OAIG;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;IAMV,iBAAiB,CACrB,SAAS,EAAE,iBAAiB,EAAE,EAC9B,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC1C,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACnD,OAAO,CAAC,IAAI,CAAC;IAIV,QAAQ,CACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,GAAE,OAAe,EACxB,iBAAiB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EACpD,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC;IAUxB,cAAc,CAClB,SAAS,EAAE,iBAAiB,EAAE,EAC9B,OAAO,GAAE,OAAe,EACxB,kBAAkB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EACrD,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC;IAI9B;;OAEG;YACW,gBAAgB;IAqD9B;;;OAGG;YACW,aAAa;CA4B5B"}