@pasko70/pibo 1.16.0 → 1.16.1
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/dist/apps/chat/model-catalog.js +2 -0
- package/dist/apps/{context-files-ui/assets/dist-CZOCrCg8.js → chat-ui/assets/dist-BISHtc7t.js} +1 -1
- package/dist/apps/{context-files-ui/assets/dist-BZscbUy_.js → chat-ui/assets/dist-CGlkj4C3.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-D4pAJPG3.js → dist-CNZT1Z0L.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-DCr1bDLp.js → dist-CsgWBaSD.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-ClTBuMxL.js → dist-DDJJ8GK-.js} +1 -1
- package/dist/apps/{context-files-ui/assets/dist-B8GCRy-W.js → chat-ui/assets/dist-DXkRuRed.js} +1 -1
- package/dist/apps/{context-files-ui/assets/dist-CFbqQ7A8.js → chat-ui/assets/dist-DltoBBze.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-4-l8R83g.js → dist-DoMBxyQP.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-DbW63bQx.js → dist-I7cqk1W9.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-DyeQntkx.js → dist-gWAQGdkD.js} +1 -1
- package/dist/apps/chat-ui/assets/index-CiKRTg5a.js +237 -0
- package/dist/apps/chat-ui/index.html +1 -1
- package/dist/apps/chat-vscode-web/assets/index-JHIrxu8c.js +41 -0
- package/dist/apps/chat-vscode-web/index.html +1 -1
- package/dist/apps/{chat-ui/assets/dist-D_inCXoq.js → context-files-ui/assets/dist-B7gXtTZC.js} +1 -1
- package/dist/apps/{chat-ui/assets/dist-BKc5qFOn.js → context-files-ui/assets/dist-BD262Ouw.js} +1 -1
- package/dist/apps/context-files-ui/assets/{dist-C3bTw5ib.js → dist-BKuGdcnX.js} +1 -1
- package/dist/apps/context-files-ui/assets/{dist-D_65A0Jm.js → dist-C-Jm45P4.js} +1 -1
- package/dist/apps/{chat-ui/assets/dist-B9-pH_ss.js → context-files-ui/assets/dist-CHdx1Jri.js} +1 -1
- package/dist/apps/context-files-ui/assets/{dist-dXgL1mFo.js → dist-CULMH-fB.js} +1 -1
- package/dist/apps/context-files-ui/assets/{dist-DsVkw0QH.js → dist-Cjq6RWEt.js} +1 -1
- package/dist/apps/{chat-ui/assets/dist-CfT2OdUN.js → context-files-ui/assets/dist-CntqFySz.js} +1 -1
- package/dist/apps/context-files-ui/assets/{dist-4oHMVqMd.js → dist-DxEGebCR.js} +1 -1
- package/dist/apps/context-files-ui/assets/{dist-D9wOh84K.js → dist-kPuQud7t.js} +1 -1
- package/dist/apps/context-files-ui/assets/index-DZWsbuvg.js +202 -0
- package/dist/apps/context-files-ui/index.html +1 -1
- package/dist/apps/vscode-artifacts/latest.vsix +0 -0
- package/dist/apps/vscode-artifacts/{pibo-vscode-ext-1.16.0.vsix → pibo-vscode-ext-1.16.1.vsix} +0 -0
- package/dist/core/runtime.js +2 -0
- package/dist/plugins/builtin.js +1 -0
- package/dist/providers/openai-compat.js +6 -1
- package/dist/providers/qwen-token-plan.js +67 -0
- package/package.json +1 -1
- package/dist/apps/chat-ui/assets/index-CMTOlTY9.js +0 -473
- package/dist/apps/chat-vscode-web/assets/index-BeTXIfmQ.js +0 -275
- package/dist/apps/context-files-ui/assets/index-DiJwk6ni.js +0 -438
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>Pibo Context Files</title>
|
|
7
|
-
<script type="module" crossorigin src="/apps/context-files/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/apps/context-files/assets/index-DZWsbuvg.js"></script>
|
|
8
8
|
<link rel="modulepreload" crossorigin href="/apps/context-files/assets/dist-D1KyNDg5.js">
|
|
9
9
|
<link rel="stylesheet" crossorigin href="/apps/context-files/assets/index-Cs4XQITe.css">
|
|
10
10
|
</head>
|
|
Binary file
|
package/dist/apps/vscode-artifacts/{pibo-vscode-ext-1.16.0.vsix → pibo-vscode-ext-1.16.1.vsix}
RENAMED
|
Binary file
|
package/dist/core/runtime.js
CHANGED
|
@@ -22,6 +22,7 @@ import { DEFAULT_USER_TIMEZONE } from "./user-settings.js";
|
|
|
22
22
|
import { registerMiniMaxProvider } from "../providers/minimax.js";
|
|
23
23
|
import { registerGlmProvider } from "../providers/glm.js";
|
|
24
24
|
import { registerOpenAiGpt56Models } from "../providers/openai-gpt56.js";
|
|
25
|
+
import { registerQwenTokenPlanProvider } from "../providers/qwen-token-plan.js";
|
|
25
26
|
import { PIBO_APP_CONTEXT } from "../app-context.js";
|
|
26
27
|
import { createRuntimeToolDefinition } from "../tools/runtime/tool.js";
|
|
27
28
|
import { RuntimeSessionRegistry } from "../tools/runtime/registry.js";
|
|
@@ -291,6 +292,7 @@ export async function createPiboRuntime(options = {}) {
|
|
|
291
292
|
registerOpenAiGpt56Models(services.modelRegistry);
|
|
292
293
|
registerMiniMaxProvider(services.modelRegistry);
|
|
293
294
|
registerGlmProvider(services.modelRegistry);
|
|
295
|
+
registerQwenTokenPlanProvider(services.modelRegistry);
|
|
294
296
|
const ownsLocalRuntimeRegistry = options.runtimeToolController === undefined && profile.tools.some(isEnabledRuntimeTool);
|
|
295
297
|
const localRuntimeRegistry = ownsLocalRuntimeRegistry ? new RuntimeSessionRegistry({ cwd: runtimeCwd }) : undefined;
|
|
296
298
|
const runtimeToolController = options.runtimeToolController
|
package/dist/plugins/builtin.js
CHANGED
|
@@ -22,6 +22,7 @@ const LOGIN_PROVIDERS = [
|
|
|
22
22
|
{ id: "openai-codex", name: "OpenAI (ChatGPT Plus/Pro)", authMethods: ["device_code"] },
|
|
23
23
|
{ id: "openai", name: "OpenAI API", authMethods: ["api_key"] },
|
|
24
24
|
{ id: "anthropic", name: "Anthropic", authMethods: ["api_key"] },
|
|
25
|
+
{ id: "qwen-token-plan", name: "Qwen Token Plan", authMethods: ["api_key"] },
|
|
25
26
|
{ id: "kimi-coding", name: "Kimi for Coding", authMethods: ["api_key"] },
|
|
26
27
|
{ id: "google", name: "Google Gemini", authMethods: ["api_key"] },
|
|
27
28
|
{ id: "groq", name: "Groq", authMethods: ["api_key"] },
|
|
@@ -8,6 +8,8 @@ export function buildOpenAiCompatConfig(spec, baseModels = []) {
|
|
|
8
8
|
api: OPENAI_COMPLETIONS_API,
|
|
9
9
|
baseUrl: spec.baseUrl,
|
|
10
10
|
reasoning: Boolean(model.reasoning),
|
|
11
|
+
thinkingLevelMap: model.thinkingLevelMap ? { ...model.thinkingLevelMap } : undefined,
|
|
12
|
+
compat: model.compat ? { ...model.compat } : undefined,
|
|
11
13
|
input: [...model.input],
|
|
12
14
|
cost: { ...model.cost },
|
|
13
15
|
contextWindow: model.contextWindow,
|
|
@@ -19,6 +21,8 @@ export function buildOpenAiCompatConfig(spec, baseModels = []) {
|
|
|
19
21
|
api: OPENAI_COMPLETIONS_API,
|
|
20
22
|
baseUrl: spec.baseUrl,
|
|
21
23
|
reasoning: model.reasoning ?? false,
|
|
24
|
+
thinkingLevelMap: model.thinkingLevelMap ? { ...model.thinkingLevelMap } : undefined,
|
|
25
|
+
compat: model.compat ? { ...model.compat } : undefined,
|
|
22
26
|
input: [...model.input],
|
|
23
27
|
cost: { ...model.cost },
|
|
24
28
|
contextWindow: model.contextWindow,
|
|
@@ -30,9 +34,10 @@ export function buildOpenAiCompatConfig(spec, baseModels = []) {
|
|
|
30
34
|
for (const entry of customEntries)
|
|
31
35
|
byId.set(entry.id, entry);
|
|
32
36
|
return {
|
|
37
|
+
name: spec.name,
|
|
33
38
|
baseUrl: spec.baseUrl,
|
|
34
39
|
api: OPENAI_COMPLETIONS_API,
|
|
35
|
-
apiKey: spec.apiKeyEnv
|
|
40
|
+
apiKey: `$${spec.apiKeyEnv}`,
|
|
36
41
|
models: [...byId.values()],
|
|
37
42
|
};
|
|
38
43
|
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { OPENAI_COMPLETIONS_API, registerOpenAiCompatProvider, resetOpenAiCompatProviderRegistration, unregisterOpenAiCompatProvider, } from "./openai-compat.js";
|
|
2
|
+
export const QWEN_TOKEN_PLAN_PROVIDER_ID = "qwen-token-plan";
|
|
3
|
+
export const QWEN_TOKEN_PLAN_PROVIDER_NAME = "Qwen Token Plan";
|
|
4
|
+
export const QWEN_TOKEN_PLAN_DEFAULT_BASE_URL = "https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1";
|
|
5
|
+
export const QWEN_TOKEN_PLAN_API_KEY_ENV = "QWEN_TOKEN_PLAN_API_KEY";
|
|
6
|
+
const QWEN_COMPAT = {
|
|
7
|
+
supportsStore: false,
|
|
8
|
+
supportsDeveloperRole: false,
|
|
9
|
+
thinkingFormat: "qwen",
|
|
10
|
+
maxTokensField: "max_tokens",
|
|
11
|
+
};
|
|
12
|
+
function qwenModel(id, name, input) {
|
|
13
|
+
return {
|
|
14
|
+
id,
|
|
15
|
+
name,
|
|
16
|
+
reasoning: true,
|
|
17
|
+
compat: QWEN_COMPAT,
|
|
18
|
+
contextWindow: 1_000_000,
|
|
19
|
+
maxTokens: 65_536,
|
|
20
|
+
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
21
|
+
input,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export const QWEN_TOKEN_PLAN_MODELS = [
|
|
25
|
+
qwenModel("qwen3.7-max", "Qwen3.7 Max", ["text"]),
|
|
26
|
+
qwenModel("qwen3.7-plus", "Qwen3.7 Plus", ["text", "image"]),
|
|
27
|
+
qwenModel("qwen3.6-plus", "Qwen3.6 Plus", ["text", "image"]),
|
|
28
|
+
qwenModel("qwen3.6-flash", "Qwen3.6 Flash", ["text", "image"]),
|
|
29
|
+
];
|
|
30
|
+
function resolveBaseUrl() {
|
|
31
|
+
const envOverride = process.env.PIBO_QWEN_TOKEN_PLAN_BASE_URL;
|
|
32
|
+
return envOverride && envOverride.length > 0
|
|
33
|
+
? envOverride
|
|
34
|
+
: QWEN_TOKEN_PLAN_DEFAULT_BASE_URL;
|
|
35
|
+
}
|
|
36
|
+
function buildQwenTokenPlanSpec() {
|
|
37
|
+
return {
|
|
38
|
+
id: QWEN_TOKEN_PLAN_PROVIDER_ID,
|
|
39
|
+
name: QWEN_TOKEN_PLAN_PROVIDER_NAME,
|
|
40
|
+
baseUrl: resolveBaseUrl(),
|
|
41
|
+
apiKeyEnv: QWEN_TOKEN_PLAN_API_KEY_ENV,
|
|
42
|
+
models: QWEN_TOKEN_PLAN_MODELS,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export function isQwenTokenPlanProvider(provider) {
|
|
46
|
+
return provider === QWEN_TOKEN_PLAN_PROVIDER_ID;
|
|
47
|
+
}
|
|
48
|
+
export function findQwenTokenPlanModel(modelRegistry, model) {
|
|
49
|
+
if (!model?.provider || !model.id)
|
|
50
|
+
return undefined;
|
|
51
|
+
if (!isQwenTokenPlanProvider(model.provider))
|
|
52
|
+
return undefined;
|
|
53
|
+
return modelRegistry.find(model.provider, model.id);
|
|
54
|
+
}
|
|
55
|
+
export function registerQwenTokenPlanProvider(modelRegistry) {
|
|
56
|
+
return registerOpenAiCompatProvider(modelRegistry, buildQwenTokenPlanSpec(), { baseModels: [] });
|
|
57
|
+
}
|
|
58
|
+
export function unregisterQwenTokenPlanProvider(modelRegistry) {
|
|
59
|
+
unregisterOpenAiCompatProvider(modelRegistry, QWEN_TOKEN_PLAN_PROVIDER_ID);
|
|
60
|
+
}
|
|
61
|
+
export function resetQwenTokenPlanProviderRegistration() {
|
|
62
|
+
resetOpenAiCompatProviderRegistration();
|
|
63
|
+
}
|
|
64
|
+
export function getDefaultQwenTokenPlanModels() {
|
|
65
|
+
return QWEN_TOKEN_PLAN_MODELS;
|
|
66
|
+
}
|
|
67
|
+
export { OPENAI_COMPLETIONS_API };
|