@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.
- package/README.ja.md +18 -2
- package/README.md +18 -2
- package/dist/cjs/constants/geminiNano.d.ts +6 -0
- package/dist/cjs/constants/geminiNano.d.ts.map +1 -0
- package/dist/cjs/constants/geminiNano.js +9 -0
- package/dist/cjs/constants/geminiNano.js.map +1 -0
- package/dist/cjs/constants/index.d.ts +2 -0
- package/dist/cjs/constants/index.d.ts.map +1 -1
- package/dist/cjs/constants/index.js +2 -0
- package/dist/cjs/constants/index.js.map +1 -1
- package/dist/cjs/constants/xai.d.ts +11 -0
- package/dist/cjs/constants/xai.d.ts.map +1 -0
- package/dist/cjs/constants/xai.js +24 -0
- package/dist/cjs/constants/xai.js.map +1 -0
- package/dist/cjs/index.d.ts +5 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +11 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts +15 -0
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.d.ts +37 -0
- package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.d.ts.map +1 -0
- package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.js +128 -0
- package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.js.map +1 -0
- package/dist/cjs/services/providers/geminiNano/GeminiNanoChatServiceProvider.d.ts +15 -0
- package/dist/cjs/services/providers/geminiNano/GeminiNanoChatServiceProvider.d.ts.map +1 -0
- package/dist/cjs/services/providers/geminiNano/GeminiNanoChatServiceProvider.js +35 -0
- package/dist/cjs/services/providers/geminiNano/GeminiNanoChatServiceProvider.js.map +1 -0
- package/dist/cjs/services/providers/index.d.ts +3 -1
- package/dist/cjs/services/providers/index.d.ts.map +1 -1
- package/dist/cjs/services/providers/index.js +4 -0
- package/dist/cjs/services/providers/index.js.map +1 -1
- package/dist/cjs/services/providers/xai/XAIChatService.d.ts +65 -0
- package/dist/cjs/services/providers/xai/XAIChatService.d.ts.map +1 -0
- package/dist/cjs/services/providers/xai/XAIChatService.js +150 -0
- package/dist/cjs/services/providers/xai/XAIChatService.js.map +1 -0
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.d.ts +38 -0
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.d.ts.map +1 -0
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.js +76 -0
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.js.map +1 -0
- package/dist/esm/constants/geminiNano.d.ts +6 -0
- package/dist/esm/constants/geminiNano.d.ts.map +1 -0
- package/dist/esm/constants/geminiNano.js +6 -0
- package/dist/esm/constants/geminiNano.js.map +1 -0
- package/dist/esm/constants/index.d.ts +2 -0
- package/dist/esm/constants/index.d.ts.map +1 -1
- package/dist/esm/constants/index.js +2 -0
- package/dist/esm/constants/index.js.map +1 -1
- package/dist/esm/constants/xai.d.ts +11 -0
- package/dist/esm/constants/xai.d.ts.map +1 -0
- package/dist/esm/constants/xai.js +20 -0
- package/dist/esm/constants/xai.js.map +1 -0
- package/dist/esm/index.d.ts +5 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/services/providers/ChatServiceProvider.d.ts +15 -0
- package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.d.ts +37 -0
- package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.d.ts.map +1 -0
- package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.js +124 -0
- package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.js.map +1 -0
- package/dist/esm/services/providers/geminiNano/GeminiNanoChatServiceProvider.d.ts +15 -0
- package/dist/esm/services/providers/geminiNano/GeminiNanoChatServiceProvider.d.ts.map +1 -0
- package/dist/esm/services/providers/geminiNano/GeminiNanoChatServiceProvider.js +31 -0
- package/dist/esm/services/providers/geminiNano/GeminiNanoChatServiceProvider.js.map +1 -0
- package/dist/esm/services/providers/index.d.ts +3 -1
- package/dist/esm/services/providers/index.d.ts.map +1 -1
- package/dist/esm/services/providers/index.js +4 -0
- package/dist/esm/services/providers/index.js.map +1 -1
- package/dist/esm/services/providers/xai/XAIChatService.d.ts +65 -0
- package/dist/esm/services/providers/xai/XAIChatService.d.ts.map +1 -0
- package/dist/esm/services/providers/xai/XAIChatService.js +146 -0
- package/dist/esm/services/providers/xai/XAIChatService.js.map +1 -0
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.d.ts +38 -0
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.d.ts.map +1 -0
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.js +72 -0
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.js.map +1 -0
- package/dist/umd/aituber-onair-chat.js +387 -0
- package/dist/umd/aituber-onair-chat.min.js +11 -6
- 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 @@
|
|
|
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 @@
|
|
|
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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -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';
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -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';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -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;
|
|
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":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,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,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,qDAAqD;IACrD,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5E,2FAA2F;IAC3F,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,+IAA+I;IAC/I,sBAAsB,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IACvD,mGAAmG;IACnG,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oDAAoD;IACpD,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC;QAC7C,WAAW,CAAC,EAAE,GAAG,CAAC;KACnB,CAAC;IACF,6CAA6C;IAC7C,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;QAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,iDAAiD;IACjD,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;KACpD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK;CACjB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,YAAY,CACjD,sBAAsB,EACtB,SAAS,GAAG,UAAU,GAAG,kBAAkB,GAAG,oBAAoB,CACnE,GAAG;IACF,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG,IAAI,CACnD,wBAAwB,EACxB,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,YAAY,CAC/C,GAAG;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,YAAY,CACrD,sBAAsB,EACpB,YAAY,GACZ,wBAAwB,GACxB,wBAAwB,GACxB,WAAW,GACX,SAAS,GACT,UAAU,GACV,gBAAgB,CACnB,GAAG;IACF,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,YAAY,CACjD,sBAAsB,EACpB,UAAU,GACV,SAAS,GACT,WAAW,GACX,kBAAkB,GAClB,YAAY,GACZ,wBAAwB,GACxB,wBAAwB,GACxB,kBAAkB,GAClB,oBAAoB,GACpB,gBAAgB,GAChB,UAAU,CACb,GAAG;IACF,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,YAAY,CACjD,sBAAsB,EACpB,UAAU,GACV,SAAS,GACT,WAAW,GACX,kBAAkB,GAClB,YAAY,GACZ,wBAAwB,GACxB,wBAAwB,GACxB,kBAAkB,GAClB,oBAAoB,GACpB,gBAAgB,GAChB,UAAU,CACb,GAAG;IACF,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAC/C,sBAAsB,EACpB,WAAW,GACX,kBAAkB,GAClB,YAAY,GACZ,wBAAwB,GACxB,wBAAwB,GACxB,kBAAkB,GAClB,oBAAoB,CACvB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAC9C,sBAAsB,EACpB,WAAW,GACX,kBAAkB,GAClB,YAAY,GACZ,wBAAwB,GACxB,wBAAwB,GACxB,kBAAkB,GAClB,oBAAoB,GACpB,SAAS,CACZ,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAC9C,sBAAsB,EACpB,WAAW,GACX,kBAAkB,GAClB,YAAY,GACZ,wBAAwB,GACxB,wBAAwB,GACxB,kBAAkB,GAClB,oBAAoB,GACpB,SAAS,GACT,UAAU,GACV,gBAAgB,CACnB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,kEAAkE;IAClE,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,oEAAoE;IACpE,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,qEAAqE;IACrE,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC5B,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC9D,sBAAsB,GAAG,MAAM,CAAC;AAEpC,MAAM,MAAM,4BAA4B,GAAG;IACzC,MAAM,EAAE,wBAAwB,CAAC;IACjC,mBAAmB,EAAE,kCAAkC,CAAC;IACxD,UAAU,EAAE,4BAA4B,CAAC;IACzC,MAAM,EAAE,wBAAwB,CAAC;IACjC,MAAM,EAAE,wBAAwB,CAAC;IACjC,GAAG,EAAE,qBAAqB,CAAC;IAC3B,GAAG,EAAE,qBAAqB,CAAC;IAC3B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,aAAa,EAAE,4BAA4B,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,4BAA4B,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAAC,QAAQ,GAAG,sBAAsB;IACpE;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,QAAQ,GAAG,WAAW,CAAC;IAElD;;;OAGG;IACH,eAAe,IAAI,MAAM,CAAC;IAE1B;;;OAGG;IACH,kBAAkB,IAAI,MAAM,EAAE,CAAC;IAE/B;;;OAGG;IACH,eAAe,IAAI,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,qBAAqB,IAAI,kBAAkB,CAAC;IAE5C;;OAEG;IACH,6BAA6B,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC;IAElE;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC;IAE1B;;;OAGG;IACH,sBAAsB,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACjD"}
|
|
@@ -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"}
|