@aituber-onair/chat 0.41.0 → 0.43.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 +22 -2
- package/README.md +24 -2
- package/dist/cjs/constants/index.d.ts +1 -0
- package/dist/cjs/constants/index.d.ts.map +1 -1
- package/dist/cjs/constants/index.js +1 -0
- package/dist/cjs/constants/index.js.map +1 -1
- package/dist/cjs/constants/plamo.d.ts +7 -0
- package/dist/cjs/constants/plamo.d.ts.map +1 -0
- package/dist/cjs/constants/plamo.js +12 -0
- package/dist/cjs/constants/plamo.js.map +1 -0
- package/dist/cjs/constants/xai.d.ts +9 -0
- package/dist/cjs/constants/xai.d.ts.map +1 -1
- package/dist/cjs/constants/xai.js +14 -0
- package/dist/cjs/constants/xai.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +6 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts +13 -3
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/index.d.ts +2 -1
- package/dist/cjs/services/providers/index.d.ts.map +1 -1
- package/dist/cjs/services/providers/index.js +2 -0
- package/dist/cjs/services/providers/index.js.map +1 -1
- package/dist/cjs/services/providers/openai/openaiRequestBuilder.d.ts.map +1 -1
- package/dist/cjs/services/providers/openai/openaiRequestBuilder.js +4 -0
- package/dist/cjs/services/providers/openai/openaiRequestBuilder.js.map +1 -1
- package/dist/cjs/services/providers/plamo/PlamoChatService.d.ts +8 -0
- package/dist/cjs/services/providers/plamo/PlamoChatService.d.ts.map +1 -0
- package/dist/cjs/services/providers/plamo/PlamoChatService.js +12 -0
- package/dist/cjs/services/providers/plamo/PlamoChatService.js.map +1 -0
- package/dist/cjs/services/providers/plamo/PlamoChatServiceProvider.d.ts +16 -0
- package/dist/cjs/services/providers/plamo/PlamoChatServiceProvider.d.ts.map +1 -0
- package/dist/cjs/services/providers/plamo/PlamoChatServiceProvider.js +57 -0
- package/dist/cjs/services/providers/plamo/PlamoChatServiceProvider.js.map +1 -0
- package/dist/cjs/services/providers/xai/XAIChatService.d.ts +3 -1
- package/dist/cjs/services/providers/xai/XAIChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/xai/XAIChatService.js +5 -1
- package/dist/cjs/services/providers/xai/XAIChatService.js.map +1 -1
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.js +1 -1
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.js.map +1 -1
- package/dist/esm/constants/index.d.ts +1 -0
- package/dist/esm/constants/index.d.ts.map +1 -1
- package/dist/esm/constants/index.js +1 -0
- package/dist/esm/constants/index.js.map +1 -1
- package/dist/esm/constants/plamo.d.ts +7 -0
- package/dist/esm/constants/plamo.d.ts.map +1 -0
- package/dist/esm/constants/plamo.js +9 -0
- package/dist/esm/constants/plamo.js.map +1 -0
- package/dist/esm/constants/xai.d.ts +9 -0
- package/dist/esm/constants/xai.d.ts.map +1 -1
- package/dist/esm/constants/xai.js +12 -0
- package/dist/esm/constants/xai.js.map +1 -1
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/services/providers/ChatServiceProvider.d.ts +13 -3
- package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/index.d.ts +2 -1
- package/dist/esm/services/providers/index.d.ts.map +1 -1
- package/dist/esm/services/providers/index.js +2 -0
- package/dist/esm/services/providers/index.js.map +1 -1
- package/dist/esm/services/providers/openai/openaiRequestBuilder.d.ts.map +1 -1
- package/dist/esm/services/providers/openai/openaiRequestBuilder.js +4 -0
- package/dist/esm/services/providers/openai/openaiRequestBuilder.js.map +1 -1
- package/dist/esm/services/providers/plamo/PlamoChatService.d.ts +8 -0
- package/dist/esm/services/providers/plamo/PlamoChatService.d.ts.map +1 -0
- package/dist/esm/services/providers/plamo/PlamoChatService.js +8 -0
- package/dist/esm/services/providers/plamo/PlamoChatService.js.map +1 -0
- package/dist/esm/services/providers/plamo/PlamoChatServiceProvider.d.ts +16 -0
- package/dist/esm/services/providers/plamo/PlamoChatServiceProvider.d.ts.map +1 -0
- package/dist/esm/services/providers/plamo/PlamoChatServiceProvider.js +53 -0
- package/dist/esm/services/providers/plamo/PlamoChatServiceProvider.js.map +1 -0
- package/dist/esm/services/providers/xai/XAIChatService.d.ts +3 -1
- package/dist/esm/services/providers/xai/XAIChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/xai/XAIChatService.js +6 -2
- package/dist/esm/services/providers/xai/XAIChatService.js.map +1 -1
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.js +2 -2
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.js.map +1 -1
- package/dist/umd/aituber-onair-chat.js +119 -4
- package/dist/umd/aituber-onair-chat.min.js +7 -7
- package/package.json +1 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ENDPOINT_PLAMO_CHAT_COMPLETIONS_API, MODEL_PLAMO_3_0_PRIME, PLAMO_SUPPORTED_MODELS, } from '../../../constants/plamo';
|
|
2
|
+
import { PlamoChatService } from './PlamoChatService';
|
|
3
|
+
export class PlamoChatServiceProvider {
|
|
4
|
+
createChatService(options) {
|
|
5
|
+
this.validateRequiredOptions(options);
|
|
6
|
+
const model = options.model || this.getDefaultModel();
|
|
7
|
+
const tools = options.tools;
|
|
8
|
+
return new PlamoChatService(options.apiKey, model, options.visionModel ?? model, tools, this.resolveEndpoint(options), options.responseLength, options.reasoning_effort);
|
|
9
|
+
}
|
|
10
|
+
getProviderName() {
|
|
11
|
+
return 'plamo';
|
|
12
|
+
}
|
|
13
|
+
getSupportedModels() {
|
|
14
|
+
return [...PLAMO_SUPPORTED_MODELS];
|
|
15
|
+
}
|
|
16
|
+
getDefaultModel() {
|
|
17
|
+
return MODEL_PLAMO_3_0_PRIME;
|
|
18
|
+
}
|
|
19
|
+
supportsVision() {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
getVisionSupportLevel() {
|
|
23
|
+
return 'unsupported';
|
|
24
|
+
}
|
|
25
|
+
supportsVisionForModel(_model) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
getVisionSupportLevelForModel(_model) {
|
|
29
|
+
return 'unsupported';
|
|
30
|
+
}
|
|
31
|
+
validateRequiredOptions(options) {
|
|
32
|
+
if (!options.apiKey?.trim()) {
|
|
33
|
+
throw new Error('plamo provider requires apiKey.');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
resolveEndpoint(options) {
|
|
37
|
+
if (options.endpoint) {
|
|
38
|
+
return this.normalizeUrl(options.endpoint);
|
|
39
|
+
}
|
|
40
|
+
if (options.baseUrl) {
|
|
41
|
+
const baseUrl = this.normalizeUrl(options.baseUrl);
|
|
42
|
+
if (baseUrl.endsWith('/chat/completions')) {
|
|
43
|
+
return baseUrl;
|
|
44
|
+
}
|
|
45
|
+
return `${baseUrl}/chat/completions`;
|
|
46
|
+
}
|
|
47
|
+
return ENDPOINT_PLAMO_CHAT_COMPLETIONS_API;
|
|
48
|
+
}
|
|
49
|
+
normalizeUrl(value) {
|
|
50
|
+
return value.trim().replace(/\/+$/, '');
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=PlamoChatServiceProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlamoChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/plamo/PlamoChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mCAAmC,EACnC,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,OAAO,wBAAwB;IAGnC,iBAAiB,CAAC,OAAgC;QAChD,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAEtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACtD,MAAM,KAAK,GAAiC,OAAO,CAAC,KAAK,CAAC;QAE1D,OAAO,IAAI,gBAAgB,CACzB,OAAO,CAAC,MAAM,EACd,KAAK,EACL,OAAO,CAAC,WAAW,IAAI,KAAK,EAC5B,KAAK,EACL,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAC7B,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,gBAAgB,CACzB,CAAC;IACJ,CAAC;IAED,eAAe;QACb,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,GAAG,sBAAsB,CAAC,CAAC;IACrC,CAAC;IAED,eAAe;QACb,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,cAAc;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qBAAqB;QACnB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,sBAAsB,CAAC,MAAc;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6BAA6B,CAAC,MAAc;QAC1C,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,uBAAuB,CAAC,OAAgC;QAC9D,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,OAAgC;QACtD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC1C,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,OAAO,GAAG,OAAO,mBAAmB,CAAC;QACvC,CAAC;QAED,OAAO,mCAAmC,CAAC;IAC7C,CAAC;IAEO,YAAY,CAAC,KAAa;QAChC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ChatService } from '../../ChatService';
|
|
2
2
|
import { Message, MessageWithVision } from '../../../types';
|
|
3
3
|
import { ToolDefinition, ToolChatCompletion } from '../../../types';
|
|
4
|
+
import type { XaiReasoningEffort } from '../../../constants/xai';
|
|
4
5
|
import { ChatResponseLength } from '../../../constants/chat';
|
|
5
6
|
/**
|
|
6
7
|
* xAI implementation of ChatService (OpenAI-compatible Chat Completions)
|
|
@@ -14,13 +15,14 @@ export declare class XAIChatService implements ChatService {
|
|
|
14
15
|
private tools;
|
|
15
16
|
private endpoint;
|
|
16
17
|
private responseLength?;
|
|
18
|
+
private reasoningEffort?;
|
|
17
19
|
/**
|
|
18
20
|
* Constructor
|
|
19
21
|
* @param apiKey xAI API key
|
|
20
22
|
* @param model Name of the model to use
|
|
21
23
|
* @param visionModel Name of the vision model
|
|
22
24
|
*/
|
|
23
|
-
constructor(apiKey: string, model?: string, visionModel?: string, tools?: ToolDefinition[], endpoint?: string, responseLength?: ChatResponseLength);
|
|
25
|
+
constructor(apiKey: string, model?: string, visionModel?: string, tools?: ToolDefinition[], endpoint?: string, responseLength?: ChatResponseLength, reasoningEffort?: XaiReasoningEffort);
|
|
24
26
|
/**
|
|
25
27
|
* Get the current model name
|
|
26
28
|
*/
|
|
@@ -1 +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;
|
|
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;AAOpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,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;IAC5C,OAAO,CAAC,eAAe,CAAC,CAAqB;IAE7C;;;;;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,EACnC,eAAe,CAAC,EAAE,kBAAkB;IAWtC;;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;IAiCxB,OAAO,CAAC,oBAAoB;YAId,YAAY;IAO1B;;OAEG;YACW,WAAW;IAUzB;;OAEG;IACH,OAAO,CAAC,YAAY;CAGrB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ENDPOINT_XAI_CHAT_COMPLETIONS_API, MODEL_GROK_4_1_FAST_NON_REASONING, isXaiVisionModel, } from '../../../constants/xai';
|
|
1
|
+
import { ENDPOINT_XAI_CHAT_COMPLETIONS_API, MODEL_GROK_4_1_FAST_NON_REASONING, isXaiReasoningEffortModel, isXaiVisionModel, } from '../../../constants/xai';
|
|
2
2
|
import { getMaxTokensForResponseLength, } from '../../../constants/chat';
|
|
3
3
|
import { ChatServiceHttpClient } from '../../../utils/chatServiceHttpClient';
|
|
4
4
|
import { buildOpenAICompatibleTools, parseOpenAICompatibleOneShot, parseOpenAICompatibleTextStream, parseOpenAICompatibleToolStream, processChatWithOptionalTools, } from '../../../utils';
|
|
@@ -12,7 +12,7 @@ export class XAIChatService {
|
|
|
12
12
|
* @param model Name of the model to use
|
|
13
13
|
* @param visionModel Name of the vision model
|
|
14
14
|
*/
|
|
15
|
-
constructor(apiKey, model = MODEL_GROK_4_1_FAST_NON_REASONING, visionModel = MODEL_GROK_4_1_FAST_NON_REASONING, tools, endpoint = ENDPOINT_XAI_CHAT_COMPLETIONS_API, responseLength) {
|
|
15
|
+
constructor(apiKey, model = MODEL_GROK_4_1_FAST_NON_REASONING, visionModel = MODEL_GROK_4_1_FAST_NON_REASONING, tools, endpoint = ENDPOINT_XAI_CHAT_COMPLETIONS_API, responseLength, reasoningEffort) {
|
|
16
16
|
/** Provider name */
|
|
17
17
|
this.provider = 'xai';
|
|
18
18
|
this.apiKey = apiKey;
|
|
@@ -21,6 +21,7 @@ export class XAIChatService {
|
|
|
21
21
|
this.endpoint = endpoint;
|
|
22
22
|
this.responseLength = responseLength;
|
|
23
23
|
this.visionModel = visionModel;
|
|
24
|
+
this.reasoningEffort = reasoningEffort;
|
|
24
25
|
}
|
|
25
26
|
/**
|
|
26
27
|
* Get the current model name
|
|
@@ -113,6 +114,9 @@ export class XAIChatService {
|
|
|
113
114
|
if (tokenLimit !== undefined) {
|
|
114
115
|
body.max_tokens = tokenLimit;
|
|
115
116
|
}
|
|
117
|
+
if (this.reasoningEffort && isXaiReasoningEffortModel(model)) {
|
|
118
|
+
body.reasoning_effort = this.reasoningEffort;
|
|
119
|
+
}
|
|
116
120
|
const tools = this.buildToolsDefinition();
|
|
117
121
|
if (tools.length > 0) {
|
|
118
122
|
body.tools = tools;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XAIChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/xai/XAIChatService.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,iCAAiC,EACjC,iCAAiC,EACjC,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"XAIChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/xai/XAIChatService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XAIChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/xai/XAIChatServiceProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"XAIChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/xai/XAIChatServiceProvider.ts"],"names":[],"mappings":"AAUA,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;IAyB9D;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAU9B;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB,qBAAqB,IAAI,kBAAkB;IAI3C;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI9C,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB;CAGjE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ENDPOINT_XAI_CHAT_COMPLETIONS_API, MODEL_GROK_4_3, MODEL_GROK_4_20_REASONING, MODEL_GROK_4_20_NON_REASONING, MODEL_GROK_4_1_FAST_REASONING, MODEL_GROK_4_1_FAST_NON_REASONING, isXaiVisionModel, } from '../../../constants/xai';
|
|
1
|
+
import { ENDPOINT_XAI_CHAT_COMPLETIONS_API, MODEL_GROK_4_3, MODEL_GROK_4_20_REASONING, MODEL_GROK_4_20_NON_REASONING, MODEL_GROK_4_1_FAST_REASONING, MODEL_GROK_4_1_FAST_NON_REASONING, getDefaultXaiReasoningEffort, isXaiVisionModel, } from '../../../constants/xai';
|
|
2
2
|
import { XAIChatService } from './XAIChatService';
|
|
3
3
|
import { resolveVisionModel } from '../../../utils';
|
|
4
4
|
/**
|
|
@@ -19,7 +19,7 @@ export class XAIChatServiceProvider {
|
|
|
19
19
|
validate: 'explicit',
|
|
20
20
|
});
|
|
21
21
|
const tools = options.tools;
|
|
22
|
-
return new XAIChatService(options.apiKey, model, visionModel, tools, options.endpoint || ENDPOINT_XAI_CHAT_COMPLETIONS_API, options.responseLength);
|
|
22
|
+
return new XAIChatService(options.apiKey, model, visionModel, tools, options.endpoint || ENDPOINT_XAI_CHAT_COMPLETIONS_API, options.responseLength, options.reasoning_effort ?? getDefaultXaiReasoningEffort(model));
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Get the provider name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XAIChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/xai/XAIChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,cAAc,EACd,yBAAyB,EACzB,6BAA6B,EAC7B,6BAA6B,EAC7B,iCAAiC,EACjC,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAGjC;;OAEG;IACH,iBAAiB,CAAC,OAA8B;QAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACtD,MAAM,WAAW,GAAG,kBAAkB,CAAC;YACrC,KAAK;YACL,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE;YACpC,kBAAkB,EAAE,IAAI,CAAC,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,cAAc,CACvB,OAAO,CAAC,MAAM,EACd,KAAK,EACL,WAAW,EACX,KAAK,EACL,OAAO,CAAC,QAAQ,IAAI,iCAAiC,EACrD,OAAO,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"XAIChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/xai/XAIChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,cAAc,EACd,yBAAyB,EACzB,6BAA6B,EAC7B,6BAA6B,EAC7B,iCAAiC,EACjC,4BAA4B,EAC5B,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAGjC;;OAEG;IACH,iBAAiB,CAAC,OAA8B;QAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACtD,MAAM,WAAW,GAAG,kBAAkB,CAAC;YACrC,KAAK;YACL,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE;YACpC,kBAAkB,EAAE,IAAI,CAAC,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,cAAc,CACvB,OAAO,CAAC,MAAM,EACd,KAAK,EACL,WAAW,EACX,KAAK,EACL,OAAO,CAAC,QAAQ,IAAI,iCAAiC,EACrD,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,gBAAgB,IAAI,4BAA4B,CAAC,KAAK,CAAC,CAChE,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO;YACL,cAAc;YACd,yBAAyB;YACzB,6BAA6B;YAC7B,6BAA6B;YAC7B,iCAAiC;SAClC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,iCAAiC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,OAAO,iCAAiC,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,gBAAgB,CAAC,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"}
|
|
@@ -45,6 +45,7 @@ var AITuberOnAirChat = (() => {
|
|
|
45
45
|
ENDPOINT_OPENAI_CHAT_COMPLETIONS_API: () => ENDPOINT_OPENAI_CHAT_COMPLETIONS_API,
|
|
46
46
|
ENDPOINT_OPENAI_RESPONSES_API: () => ENDPOINT_OPENAI_RESPONSES_API,
|
|
47
47
|
ENDPOINT_OPENROUTER_API: () => ENDPOINT_OPENROUTER_API,
|
|
48
|
+
ENDPOINT_PLAMO_CHAT_COMPLETIONS_API: () => ENDPOINT_PLAMO_CHAT_COMPLETIONS_API,
|
|
48
49
|
ENDPOINT_SAKANA_CHAT_COMPLETIONS_API: () => ENDPOINT_SAKANA_CHAT_COMPLETIONS_API,
|
|
49
50
|
ENDPOINT_XAI_CHAT_COMPLETIONS_API: () => ENDPOINT_XAI_CHAT_COMPLETIONS_API,
|
|
50
51
|
ENDPOINT_ZAI_CHAT_COMPLETIONS_API: () => ENDPOINT_ZAI_CHAT_COMPLETIONS_API,
|
|
@@ -173,6 +174,8 @@ var AITuberOnAirChat = (() => {
|
|
|
173
174
|
MODEL_OPENAI_GPT_MINI_LATEST: () => MODEL_OPENAI_GPT_MINI_LATEST,
|
|
174
175
|
MODEL_OPENROUTER_AUTO: () => MODEL_OPENROUTER_AUTO,
|
|
175
176
|
MODEL_OPENROUTER_FUSION: () => MODEL_OPENROUTER_FUSION,
|
|
177
|
+
MODEL_PLAMO_2_2_PRIME: () => MODEL_PLAMO_2_2_PRIME,
|
|
178
|
+
MODEL_PLAMO_3_0_PRIME: () => MODEL_PLAMO_3_0_PRIME,
|
|
176
179
|
MODEL_ZAI_GLM_4_5_AIR: () => MODEL_ZAI_GLM_4_5_AIR,
|
|
177
180
|
MODEL_ZAI_GLM_4_5_AIR_FREE: () => MODEL_ZAI_GLM_4_5_AIR_FREE,
|
|
178
181
|
MODEL_ZAI_GLM_4_7_FLASH: () => MODEL_ZAI_GLM_4_7_FLASH,
|
|
@@ -190,6 +193,10 @@ var AITuberOnAirChat = (() => {
|
|
|
190
193
|
OpenAICompatibleChatServiceProvider: () => OpenAICompatibleChatServiceProvider,
|
|
191
194
|
OpenRouterChatService: () => OpenRouterChatService,
|
|
192
195
|
OpenRouterChatServiceProvider: () => OpenRouterChatServiceProvider,
|
|
196
|
+
PLAMO_API_BASE_URL: () => PLAMO_API_BASE_URL,
|
|
197
|
+
PLAMO_SUPPORTED_MODELS: () => PLAMO_SUPPORTED_MODELS,
|
|
198
|
+
PlamoChatService: () => PlamoChatService,
|
|
199
|
+
PlamoChatServiceProvider: () => PlamoChatServiceProvider,
|
|
193
200
|
SAKANA_API_BASE_URL: () => SAKANA_API_BASE_URL,
|
|
194
201
|
SAKANA_SUPPORTED_MODELS: () => SAKANA_SUPPORTED_MODELS,
|
|
195
202
|
SakanaChatService: () => SakanaChatService,
|
|
@@ -208,6 +215,7 @@ var AITuberOnAirChat = (() => {
|
|
|
208
215
|
allowsReasoningXHigh: () => allowsReasoningXHigh,
|
|
209
216
|
buildOpenAICompatibleTools: () => buildOpenAICompatibleTools,
|
|
210
217
|
getDefaultReasoningEffortForGPT5Model: () => getDefaultReasoningEffortForGPT5Model,
|
|
218
|
+
getDefaultXaiReasoningEffort: () => getDefaultXaiReasoningEffort,
|
|
211
219
|
getMaxTokensForResponseLength: () => getMaxTokensForResponseLength,
|
|
212
220
|
installGASFetch: () => installGASFetch,
|
|
213
221
|
isGPT5Model: () => isGPT5Model,
|
|
@@ -219,6 +227,7 @@ var AITuberOnAirChat = (() => {
|
|
|
219
227
|
isOpenRouterFreeModel: () => isOpenRouterFreeModel,
|
|
220
228
|
isOpenRouterVisionModel: () => isOpenRouterVisionModel,
|
|
221
229
|
isResponsesOnlyGPT5Model: () => isResponsesOnlyGPT5Model,
|
|
230
|
+
isXaiReasoningEffortModel: () => isXaiReasoningEffortModel,
|
|
222
231
|
isXaiVisionModel: () => isXaiVisionModel,
|
|
223
232
|
isZaiToolStreamModel: () => isZaiToolStreamModel,
|
|
224
233
|
isZaiVisionModel: () => isZaiVisionModel,
|
|
@@ -496,6 +505,12 @@ var AITuberOnAirChat = (() => {
|
|
|
496
505
|
function isXaiVisionModel(model) {
|
|
497
506
|
return XAI_VISION_SUPPORTED_MODELS.includes(model);
|
|
498
507
|
}
|
|
508
|
+
function isXaiReasoningEffortModel(model) {
|
|
509
|
+
return model === MODEL_GROK_4_3;
|
|
510
|
+
}
|
|
511
|
+
function getDefaultXaiReasoningEffort(model) {
|
|
512
|
+
return isXaiReasoningEffortModel(model) ? "none" : void 0;
|
|
513
|
+
}
|
|
499
514
|
|
|
500
515
|
// src/constants/kimi.ts
|
|
501
516
|
var ENDPOINT_KIMI_CHAT_COMPLETIONS_API = "https://api.moonshot.ai/v1/chat/completions";
|
|
@@ -587,6 +602,16 @@ var AITuberOnAirChat = (() => {
|
|
|
587
602
|
MODEL_FUGU_ULTRA_20260615
|
|
588
603
|
];
|
|
589
604
|
|
|
605
|
+
// src/constants/plamo.ts
|
|
606
|
+
var PLAMO_API_BASE_URL = "https://api.platform.preferredai.jp/v1";
|
|
607
|
+
var ENDPOINT_PLAMO_CHAT_COMPLETIONS_API = `${PLAMO_API_BASE_URL}/chat/completions`;
|
|
608
|
+
var MODEL_PLAMO_3_0_PRIME = "plamo-3.0-prime";
|
|
609
|
+
var MODEL_PLAMO_2_2_PRIME = "plamo-2.2-prime";
|
|
610
|
+
var PLAMO_SUPPORTED_MODELS = [
|
|
611
|
+
MODEL_PLAMO_3_0_PRIME,
|
|
612
|
+
MODEL_PLAMO_2_2_PRIME
|
|
613
|
+
];
|
|
614
|
+
|
|
590
615
|
// src/constants/chat.ts
|
|
591
616
|
var CHAT_RESPONSE_LENGTH = {
|
|
592
617
|
VERY_SHORT: "veryShort",
|
|
@@ -2054,7 +2079,8 @@ If it's in another language, summarize in that language.
|
|
|
2054
2079
|
"openai-compatible",
|
|
2055
2080
|
"deepseek",
|
|
2056
2081
|
"mistral",
|
|
2057
|
-
"sakana"
|
|
2082
|
+
"sakana",
|
|
2083
|
+
"plamo"
|
|
2058
2084
|
]);
|
|
2059
2085
|
function buildOpenAIRequestBody({
|
|
2060
2086
|
provider,
|
|
@@ -2131,6 +2157,9 @@ If it's in another language, summarize in that language.
|
|
|
2131
2157
|
if (provider === "mistral" && isMistralReasoningEffortModel(model) && reasoning_effort && isMistralReasoningEffort(reasoning_effort)) {
|
|
2132
2158
|
body.reasoning_effort = reasoning_effort;
|
|
2133
2159
|
}
|
|
2160
|
+
if (provider === "plamo" && reasoning_effort) {
|
|
2161
|
+
body.reasoning_effort = reasoning_effort;
|
|
2162
|
+
}
|
|
2134
2163
|
const toolDefinitions = buildOpenAIToolsDefinition({
|
|
2135
2164
|
tools,
|
|
2136
2165
|
mcpServers,
|
|
@@ -4457,6 +4486,86 @@ If it's in another language, summarize in that language.
|
|
|
4457
4486
|
}
|
|
4458
4487
|
};
|
|
4459
4488
|
|
|
4489
|
+
// src/services/providers/plamo/PlamoChatService.ts
|
|
4490
|
+
var PlamoChatService = class extends OpenAIChatService {
|
|
4491
|
+
constructor(apiKey, model = MODEL_PLAMO_3_0_PRIME, visionModel = model, tools, endpoint = ENDPOINT_PLAMO_CHAT_COMPLETIONS_API, responseLength, reasoning_effort) {
|
|
4492
|
+
super(
|
|
4493
|
+
apiKey,
|
|
4494
|
+
model,
|
|
4495
|
+
visionModel,
|
|
4496
|
+
tools,
|
|
4497
|
+
endpoint,
|
|
4498
|
+
[],
|
|
4499
|
+
responseLength,
|
|
4500
|
+
void 0,
|
|
4501
|
+
reasoning_effort,
|
|
4502
|
+
false,
|
|
4503
|
+
"plamo",
|
|
4504
|
+
false
|
|
4505
|
+
);
|
|
4506
|
+
}
|
|
4507
|
+
};
|
|
4508
|
+
|
|
4509
|
+
// src/services/providers/plamo/PlamoChatServiceProvider.ts
|
|
4510
|
+
var PlamoChatServiceProvider = class {
|
|
4511
|
+
createChatService(options) {
|
|
4512
|
+
this.validateRequiredOptions(options);
|
|
4513
|
+
const model = options.model || this.getDefaultModel();
|
|
4514
|
+
const tools = options.tools;
|
|
4515
|
+
return new PlamoChatService(
|
|
4516
|
+
options.apiKey,
|
|
4517
|
+
model,
|
|
4518
|
+
options.visionModel ?? model,
|
|
4519
|
+
tools,
|
|
4520
|
+
this.resolveEndpoint(options),
|
|
4521
|
+
options.responseLength,
|
|
4522
|
+
options.reasoning_effort
|
|
4523
|
+
);
|
|
4524
|
+
}
|
|
4525
|
+
getProviderName() {
|
|
4526
|
+
return "plamo";
|
|
4527
|
+
}
|
|
4528
|
+
getSupportedModels() {
|
|
4529
|
+
return [...PLAMO_SUPPORTED_MODELS];
|
|
4530
|
+
}
|
|
4531
|
+
getDefaultModel() {
|
|
4532
|
+
return MODEL_PLAMO_3_0_PRIME;
|
|
4533
|
+
}
|
|
4534
|
+
supportsVision() {
|
|
4535
|
+
return false;
|
|
4536
|
+
}
|
|
4537
|
+
getVisionSupportLevel() {
|
|
4538
|
+
return "unsupported";
|
|
4539
|
+
}
|
|
4540
|
+
supportsVisionForModel(_model) {
|
|
4541
|
+
return false;
|
|
4542
|
+
}
|
|
4543
|
+
getVisionSupportLevelForModel(_model) {
|
|
4544
|
+
return "unsupported";
|
|
4545
|
+
}
|
|
4546
|
+
validateRequiredOptions(options) {
|
|
4547
|
+
if (!options.apiKey?.trim()) {
|
|
4548
|
+
throw new Error("plamo provider requires apiKey.");
|
|
4549
|
+
}
|
|
4550
|
+
}
|
|
4551
|
+
resolveEndpoint(options) {
|
|
4552
|
+
if (options.endpoint) {
|
|
4553
|
+
return this.normalizeUrl(options.endpoint);
|
|
4554
|
+
}
|
|
4555
|
+
if (options.baseUrl) {
|
|
4556
|
+
const baseUrl = this.normalizeUrl(options.baseUrl);
|
|
4557
|
+
if (baseUrl.endsWith("/chat/completions")) {
|
|
4558
|
+
return baseUrl;
|
|
4559
|
+
}
|
|
4560
|
+
return `${baseUrl}/chat/completions`;
|
|
4561
|
+
}
|
|
4562
|
+
return ENDPOINT_PLAMO_CHAT_COMPLETIONS_API;
|
|
4563
|
+
}
|
|
4564
|
+
normalizeUrl(value) {
|
|
4565
|
+
return value.trim().replace(/\/+$/, "");
|
|
4566
|
+
}
|
|
4567
|
+
};
|
|
4568
|
+
|
|
4460
4569
|
// src/services/providers/sakana/SakanaChatService.ts
|
|
4461
4570
|
var SakanaChatService = class extends OpenAIChatService {
|
|
4462
4571
|
constructor(apiKey, model = MODEL_FUGU, visionModel = model, tools, endpoint = ENDPOINT_SAKANA_CHAT_COMPLETIONS_API, responseLength) {
|
|
@@ -4544,7 +4653,7 @@ If it's in another language, summarize in that language.
|
|
|
4544
4653
|
* @param model Name of the model to use
|
|
4545
4654
|
* @param visionModel Name of the vision model
|
|
4546
4655
|
*/
|
|
4547
|
-
constructor(apiKey, model = MODEL_GROK_4_1_FAST_NON_REASONING, visionModel = MODEL_GROK_4_1_FAST_NON_REASONING, tools, endpoint = ENDPOINT_XAI_CHAT_COMPLETIONS_API, responseLength) {
|
|
4656
|
+
constructor(apiKey, model = MODEL_GROK_4_1_FAST_NON_REASONING, visionModel = MODEL_GROK_4_1_FAST_NON_REASONING, tools, endpoint = ENDPOINT_XAI_CHAT_COMPLETIONS_API, responseLength, reasoningEffort) {
|
|
4548
4657
|
/** Provider name */
|
|
4549
4658
|
this.provider = "xai";
|
|
4550
4659
|
this.apiKey = apiKey;
|
|
@@ -4553,6 +4662,7 @@ If it's in another language, summarize in that language.
|
|
|
4553
4662
|
this.endpoint = endpoint;
|
|
4554
4663
|
this.responseLength = responseLength;
|
|
4555
4664
|
this.visionModel = visionModel;
|
|
4665
|
+
this.reasoningEffort = reasoningEffort;
|
|
4556
4666
|
}
|
|
4557
4667
|
/**
|
|
4558
4668
|
* Get the current model name
|
|
@@ -4650,6 +4760,9 @@ If it's in another language, summarize in that language.
|
|
|
4650
4760
|
if (tokenLimit !== void 0) {
|
|
4651
4761
|
body.max_tokens = tokenLimit;
|
|
4652
4762
|
}
|
|
4763
|
+
if (this.reasoningEffort && isXaiReasoningEffortModel(model)) {
|
|
4764
|
+
body.reasoning_effort = this.reasoningEffort;
|
|
4765
|
+
}
|
|
4653
4766
|
const tools = this.buildToolsDefinition();
|
|
4654
4767
|
if (tools.length > 0) {
|
|
4655
4768
|
body.tools = tools;
|
|
@@ -4703,7 +4816,8 @@ If it's in another language, summarize in that language.
|
|
|
4703
4816
|
visionModel,
|
|
4704
4817
|
tools,
|
|
4705
4818
|
options.endpoint || ENDPOINT_XAI_CHAT_COMPLETIONS_API,
|
|
4706
|
-
options.responseLength
|
|
4819
|
+
options.responseLength,
|
|
4820
|
+
options.reasoning_effort ?? getDefaultXaiReasoningEffort(model)
|
|
4707
4821
|
);
|
|
4708
4822
|
}
|
|
4709
4823
|
/**
|
|
@@ -5008,7 +5122,8 @@ If it's in another language, summarize in that language.
|
|
|
5008
5122
|
new KimiChatServiceProvider(),
|
|
5009
5123
|
new DeepSeekChatServiceProvider(),
|
|
5010
5124
|
new MistralChatServiceProvider(),
|
|
5011
|
-
new SakanaChatServiceProvider()
|
|
5125
|
+
new SakanaChatServiceProvider(),
|
|
5126
|
+
new PlamoChatServiceProvider()
|
|
5012
5127
|
];
|
|
5013
5128
|
|
|
5014
5129
|
// src/services/ChatServiceFactory.ts
|