dsh-plugin-subscriptions 0.5.2 → 0.6.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.md +79 -5
- package/README.zh.md +78 -4
- package/lib/auth/rpc.d.ts +64 -13
- package/lib/auth/rpc.js +75 -10
- package/lib/auth/store.d.ts +75 -17
- package/lib/auth/store.js +148 -27
- package/lib/client/ImageGenerateToolview.d.ts +1 -1
- package/lib/client/SpeedSelect.d.ts +25 -2
- package/lib/client/SpeedSelect.js +10 -6
- package/lib/client/SubscriptionsSection.d.ts +83 -3
- package/lib/client/SubscriptionsSection.js +411 -62
- package/lib/client/VideoGenerateToolview.d.ts +1 -1
- package/lib/client/index.d.ts +1 -9
- package/lib/client/index.js +7 -4
- package/lib/client/locales.d.ts +46 -10
- package/lib/client/locales.js +46 -10
- package/lib/client.js +703 -132
- package/lib/client.js.map +1 -1
- package/lib/compat.d.ts +36 -0
- package/lib/compat.js +20 -0
- package/lib/index.d.ts +26 -1
- package/lib/index.js +2377 -309
- package/lib/model-defaults.d.ts +23 -0
- package/lib/model-defaults.js +237 -0
- package/lib/providers/accounts.d.ts +102 -0
- package/lib/providers/accounts.js +123 -0
- package/lib/providers/claude.d.ts +46 -7
- package/lib/providers/claude.js +125 -34
- package/lib/providers/codex.d.ts +45 -3
- package/lib/providers/codex.js +152 -26
- package/lib/providers/common.d.ts +87 -6
- package/lib/providers/common.js +185 -22
- package/lib/providers/copilot.d.ts +32 -3
- package/lib/providers/copilot.js +111 -19
- package/lib/providers/grok.d.ts +45 -4
- package/lib/providers/grok.js +136 -20
- package/lib/providers/pool-family.d.ts +56 -0
- package/lib/providers/pool-family.js +45 -0
- package/lib/providers/pool-health.d.ts +74 -0
- package/lib/providers/pool-health.js +148 -0
- package/lib/providers/pool-usage.d.ts +78 -0
- package/lib/providers/pool-usage.js +185 -0
- package/lib/providers/pool.d.ts +107 -0
- package/lib/providers/pool.js +371 -0
- package/lib/providers/rate-limit.d.ts +192 -0
- package/lib/providers/rate-limit.js +338 -0
- package/lib/tools/image-generate.d.ts +3 -3
- package/lib/tools/image-generate.js +2 -1
- package/lib/tools/video-generate.d.ts +2 -2
- package/lib/tools/video-generate.js +2 -1
- package/lib/tools/x-search.d.ts +2 -2
- package/lib/tools/x-search.js +2 -1
- package/lib/translate/anthropic.js +5 -4
- package/lib/translate/chat-completions.js +5 -4
- package/lib/translate/responses.js +5 -4
- package/package.json +21 -21
- package/lib/providers/antigravity.d.ts +0 -90
- package/lib/providers/antigravity.js +0 -392
- package/lib/translate/antigravity.d.ts +0 -110
- package/lib/translate/antigravity.js +0 -303
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ConnectionHandle } from '@deepseek-ai/dsh-api-remotes/client';
|
|
2
|
-
import type { ToolCallBlock } from '@deepseek-ai/dsh-client-
|
|
2
|
+
import type { ToolCallBlock } from '@deepseek-ai/dsh-client-ui-conversation/client';
|
|
3
3
|
import type { SubscriptionsKey } from './locales.js';
|
|
4
4
|
/** Mirror of ui-tool's ToolCallOwnerProps (see ImageGenerateToolview). */
|
|
5
5
|
interface ToolCallOwnerProps {
|
package/lib/client/index.d.ts
CHANGED
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Subscription OAuth login page, browser half. Registers the Subscriptions
|
|
3
|
-
* settings section; every login state fact arrives through the node half's
|
|
4
|
-
* `/subscriptions-auth` RPC channel — this plugin holds no credential state of its
|
|
5
|
-
* own. Section copy rides the client locale service: one 'settings.subscriptions'
|
|
6
|
-
* namespace with zh/en dictionaries, rebound per read so the nav label and
|
|
7
|
-
* page text follow the active locale.
|
|
8
|
-
*/
|
|
9
|
-
import type { ClientContext } from '@deepseek-ai/dsh-client-runtime/client';
|
|
1
|
+
import type { Context as ClientContext } from '@deepseek-ai/cordis';
|
|
10
2
|
import type { SubscriptionsKey } from './locales.js';
|
|
11
3
|
export type { SubscriptionsSectionInjected, SubscriptionsSectionProps } from './SubscriptionsSection.js';
|
|
12
4
|
export type { ImageGenerateToolviewInjected, ImageGenerateToolviewProps } from './ImageGenerateToolview.js';
|
package/lib/client/index.js
CHANGED
|
@@ -33,8 +33,8 @@ export function apply(ctx) {
|
|
|
33
33
|
document.head.appendChild(style);
|
|
34
34
|
return () => style.remove();
|
|
35
35
|
}, 'dsh-plugin-subscriptions: settings panel breathing room');
|
|
36
|
-
// The
|
|
37
|
-
//
|
|
36
|
+
// The shell's Context merge types `connection` as the host handle; in the
|
|
37
|
+
// browser shell the same key holds the full client ConnectionHandle.
|
|
38
38
|
const connection = ctx.get('connection');
|
|
39
39
|
const t = ctx.locale.bind(NS);
|
|
40
40
|
const injected = () => ({ rpc: connection.rpc, t });
|
|
@@ -68,13 +68,16 @@ export function apply(ctx) {
|
|
|
68
68
|
// The composer Speed toggle (codex fast tier) sits in the right tool row,
|
|
69
69
|
// just left of the model selector; the framework synthesizes its `t` seat
|
|
70
70
|
// from `locale: NS`, and the inject face binds each session's RPC calls.
|
|
71
|
+
// The current-model read rides ui-model-selection's `modelDirectories`
|
|
72
|
+
// service, resolved lazily so registration order never matters.
|
|
73
|
+
const models = () => ctx.get('modelDirectories');
|
|
71
74
|
ctx.slots.inject('conversation.input.right', () => ctx.slots.register({
|
|
72
75
|
name: 'conversation.input.right',
|
|
73
76
|
id: 'codex-speed',
|
|
74
77
|
order: 0,
|
|
75
78
|
locale: NS,
|
|
76
79
|
inject: (sessionId) => ({
|
|
77
|
-
loadSpeed: createSpeedLoader(connection, sessionId),
|
|
80
|
+
loadSpeed: createSpeedLoader(connection, models, sessionId),
|
|
78
81
|
setSpeed: createSpeedSetter(connection, sessionId),
|
|
79
82
|
}),
|
|
80
83
|
}, SpeedSelect));
|
|
@@ -92,7 +95,7 @@ export function apply(ctx) {
|
|
|
92
95
|
ui: {
|
|
93
96
|
kind: 'popupSelect',
|
|
94
97
|
options: async (session) => {
|
|
95
|
-
const state = await createSpeedLoader(connection, session.sessionId)();
|
|
98
|
+
const state = await createSpeedLoader(connection, models, session.sessionId)();
|
|
96
99
|
if (!state.visible)
|
|
97
100
|
throw new Error(t('commandFastUnavailable'));
|
|
98
101
|
return [
|
package/lib/client/locales.d.ts
CHANGED
|
@@ -6,15 +6,19 @@ export declare const en: {
|
|
|
6
6
|
unavailable: string;
|
|
7
7
|
checking: string;
|
|
8
8
|
loginInProgress: string;
|
|
9
|
-
loggedIn: string;
|
|
10
|
-
loggedInAccount: string;
|
|
11
|
-
loggedInExpires: string;
|
|
12
|
-
loggedInAccountExpires: string;
|
|
13
9
|
notLoggedIn: string;
|
|
10
|
+
loggedInCount: string;
|
|
11
|
+
accountExpires: string;
|
|
12
|
+
defaultBadge: string;
|
|
13
|
+
setDefault: string;
|
|
14
|
+
addAccount: string;
|
|
15
|
+
addAccountOAuth: string;
|
|
16
|
+
addAccountKeychain: string;
|
|
17
|
+
addAccountHint: string;
|
|
14
18
|
login: string;
|
|
15
19
|
cancel: string;
|
|
16
20
|
logout: string;
|
|
17
|
-
|
|
21
|
+
logoutAccountConfirm: string;
|
|
18
22
|
manualSummary: string;
|
|
19
23
|
manualPlaceholder: string;
|
|
20
24
|
submit: string;
|
|
@@ -33,6 +37,20 @@ export declare const en: {
|
|
|
33
37
|
usageWindow: string;
|
|
34
38
|
usageResets: string;
|
|
35
39
|
usagePlan: string;
|
|
40
|
+
modelDefaultsTitle: string;
|
|
41
|
+
modelDefaultsHint: string;
|
|
42
|
+
modelDefaultsFollowProvider: string;
|
|
43
|
+
modelDefaultsNoLevels: string;
|
|
44
|
+
modelDefaultsLoading: string;
|
|
45
|
+
modelDefaultsLoadFailed: string;
|
|
46
|
+
modelDefaultsRetry: string;
|
|
47
|
+
modelDefaultsSaving: string;
|
|
48
|
+
modelDefaultsSaveFailedNamed: string;
|
|
49
|
+
modelDefaultsSummary: string;
|
|
50
|
+
modelDefaultsSummaryNone: string;
|
|
51
|
+
modelDefaultsSummaryEmpty: string;
|
|
52
|
+
modelDefaultsFilterPlaceholder: string;
|
|
53
|
+
modelDefaultsFilterEmpty: string;
|
|
36
54
|
generating: string;
|
|
37
55
|
image: string;
|
|
38
56
|
viewImage: string;
|
|
@@ -91,15 +109,19 @@ export declare const zh: {
|
|
|
91
109
|
unavailable: string;
|
|
92
110
|
checking: string;
|
|
93
111
|
loginInProgress: string;
|
|
94
|
-
loggedIn: string;
|
|
95
|
-
loggedInAccount: string;
|
|
96
|
-
loggedInExpires: string;
|
|
97
|
-
loggedInAccountExpires: string;
|
|
98
112
|
notLoggedIn: string;
|
|
113
|
+
loggedInCount: string;
|
|
114
|
+
accountExpires: string;
|
|
115
|
+
defaultBadge: string;
|
|
116
|
+
setDefault: string;
|
|
117
|
+
addAccount: string;
|
|
118
|
+
addAccountOAuth: string;
|
|
119
|
+
addAccountKeychain: string;
|
|
120
|
+
addAccountHint: string;
|
|
99
121
|
login: string;
|
|
100
122
|
cancel: string;
|
|
101
123
|
logout: string;
|
|
102
|
-
|
|
124
|
+
logoutAccountConfirm: string;
|
|
103
125
|
manualSummary: string;
|
|
104
126
|
manualPlaceholder: string;
|
|
105
127
|
submit: string;
|
|
@@ -118,6 +140,20 @@ export declare const zh: {
|
|
|
118
140
|
usageWindow: string;
|
|
119
141
|
usageResets: string;
|
|
120
142
|
usagePlan: string;
|
|
143
|
+
modelDefaultsTitle: string;
|
|
144
|
+
modelDefaultsHint: string;
|
|
145
|
+
modelDefaultsFollowProvider: string;
|
|
146
|
+
modelDefaultsNoLevels: string;
|
|
147
|
+
modelDefaultsLoading: string;
|
|
148
|
+
modelDefaultsLoadFailed: string;
|
|
149
|
+
modelDefaultsRetry: string;
|
|
150
|
+
modelDefaultsSaving: string;
|
|
151
|
+
modelDefaultsSaveFailedNamed: string;
|
|
152
|
+
modelDefaultsSummary: string;
|
|
153
|
+
modelDefaultsSummaryNone: string;
|
|
154
|
+
modelDefaultsSummaryEmpty: string;
|
|
155
|
+
modelDefaultsFilterPlaceholder: string;
|
|
156
|
+
modelDefaultsFilterEmpty: string;
|
|
121
157
|
generating: string;
|
|
122
158
|
image: string;
|
|
123
159
|
viewImage: string;
|
package/lib/client/locales.js
CHANGED
|
@@ -6,15 +6,19 @@ export const en = {
|
|
|
6
6
|
unavailable: 'Connection unavailable; subscription status cannot be loaded.',
|
|
7
7
|
checking: 'Checking…',
|
|
8
8
|
loginInProgress: 'Login in progress…',
|
|
9
|
-
loggedIn: 'Logged in',
|
|
10
|
-
loggedInAccount: 'Logged in as {account}',
|
|
11
|
-
loggedInExpires: 'Logged in · expires {date}',
|
|
12
|
-
loggedInAccountExpires: 'Logged in as {account} · expires {date}',
|
|
13
9
|
notLoggedIn: 'Not logged in',
|
|
10
|
+
loggedInCount: '{count} account(s) connected',
|
|
11
|
+
accountExpires: 'expires {date}',
|
|
12
|
+
defaultBadge: 'Default',
|
|
13
|
+
setDefault: 'Set as default',
|
|
14
|
+
addAccount: 'Add account',
|
|
15
|
+
addAccountOAuth: 'Browser authorization',
|
|
16
|
+
addAccountKeychain: 'Import Claude Code',
|
|
17
|
+
addAccountHint: 'Browser authorization signs in whichever account the browser currently uses — switch accounts there first (or use an incognito window with the manual code below) to add a different one.',
|
|
14
18
|
login: 'Log in',
|
|
15
19
|
cancel: 'Cancel',
|
|
16
20
|
logout: 'Log out',
|
|
17
|
-
|
|
21
|
+
logoutAccountConfirm: 'Log out {account} of {provider}?',
|
|
18
22
|
manualSummary: 'Browser flow not working? Paste the callback URL or code',
|
|
19
23
|
manualPlaceholder: 'Paste the callback URL or code',
|
|
20
24
|
submit: 'Submit',
|
|
@@ -33,6 +37,20 @@ export const en = {
|
|
|
33
37
|
usageWindow: 'Window',
|
|
34
38
|
usageResets: 'resets {date}',
|
|
35
39
|
usagePlan: 'Plan: {plan}',
|
|
40
|
+
modelDefaultsTitle: 'Default reasoning effort',
|
|
41
|
+
modelDefaultsHint: 'The model picker preselects this level when you switch to the model; models without levels always follow the provider.',
|
|
42
|
+
modelDefaultsFollowProvider: 'Follow provider',
|
|
43
|
+
modelDefaultsNoLevels: '{count} model(s) advertise no reasoning levels and always follow the provider.',
|
|
44
|
+
modelDefaultsLoading: 'Loading models…',
|
|
45
|
+
modelDefaultsLoadFailed: 'Failed to load models: {message}',
|
|
46
|
+
modelDefaultsRetry: 'Retry',
|
|
47
|
+
modelDefaultsSaving: 'Saving…',
|
|
48
|
+
modelDefaultsSaveFailedNamed: 'Save failed for {model}: {message}',
|
|
49
|
+
modelDefaultsSummary: '{total} model(s) · {configured} overridden',
|
|
50
|
+
modelDefaultsSummaryNone: '{total} model(s) · following the provider',
|
|
51
|
+
modelDefaultsSummaryEmpty: 'No model advertises reasoning levels',
|
|
52
|
+
modelDefaultsFilterPlaceholder: 'Filter models',
|
|
53
|
+
modelDefaultsFilterEmpty: 'No model matches “{query}”.',
|
|
36
54
|
generating: 'Generating image…',
|
|
37
55
|
image: 'image',
|
|
38
56
|
viewImage: 'View image',
|
|
@@ -91,15 +109,19 @@ export const zh = {
|
|
|
91
109
|
unavailable: '连接不可用,无法加载订阅状态。',
|
|
92
110
|
checking: '查询中…',
|
|
93
111
|
loginInProgress: '登录中…',
|
|
94
|
-
loggedIn: '已登录',
|
|
95
|
-
loggedInAccount: '已登录:{account}',
|
|
96
|
-
loggedInExpires: '已登录 · 过期时间 {date}',
|
|
97
|
-
loggedInAccountExpires: '已登录:{account} · 过期时间 {date}',
|
|
98
112
|
notLoggedIn: '未登录',
|
|
113
|
+
loggedInCount: '已连接 {count} 个账号',
|
|
114
|
+
accountExpires: '过期时间 {date}',
|
|
115
|
+
defaultBadge: '默认',
|
|
116
|
+
setDefault: '设为默认',
|
|
117
|
+
addAccount: '添加账号',
|
|
118
|
+
addAccountOAuth: '浏览器授权',
|
|
119
|
+
addAccountKeychain: '导入 Claude Code',
|
|
120
|
+
addAccountHint: '浏览器授权以浏览器当前登录的账号为准;要添加不同账号,请先在浏览器里切换账号,或用无痕窗口走下方手动授权码。',
|
|
99
121
|
login: '登录',
|
|
100
122
|
cancel: '取消',
|
|
101
123
|
logout: '退出登录',
|
|
102
|
-
|
|
124
|
+
logoutAccountConfirm: '确定退出 {provider} 的账号 {account} 吗?',
|
|
103
125
|
manualSummary: '浏览器流程无法完成?粘贴回调 URL 或授权码',
|
|
104
126
|
manualPlaceholder: '粘贴回调 URL 或授权码',
|
|
105
127
|
submit: '提交',
|
|
@@ -118,6 +140,20 @@ export const zh = {
|
|
|
118
140
|
usageWindow: '窗口',
|
|
119
141
|
usageResets: '{date} 重置',
|
|
120
142
|
usagePlan: '计划:{plan}',
|
|
143
|
+
modelDefaultsTitle: '默认推理档',
|
|
144
|
+
modelDefaultsHint: '切换到该模型时,模型选择器会预选此档位;没有推理档的模型始终跟随服务商默认。',
|
|
145
|
+
modelDefaultsFollowProvider: '跟随服务商',
|
|
146
|
+
modelDefaultsNoLevels: '{count} 个模型未声明推理档,始终跟随服务商默认。',
|
|
147
|
+
modelDefaultsLoading: '加载模型中…',
|
|
148
|
+
modelDefaultsLoadFailed: '模型加载失败:{message}',
|
|
149
|
+
modelDefaultsRetry: '重试',
|
|
150
|
+
modelDefaultsSaving: '保存中…',
|
|
151
|
+
modelDefaultsSaveFailedNamed: '{model} 保存失败:{message}',
|
|
152
|
+
modelDefaultsSummary: '{total} 个模型 · {configured} 个已覆盖',
|
|
153
|
+
modelDefaultsSummaryNone: '{total} 个模型 · 全部跟随服务商',
|
|
154
|
+
modelDefaultsSummaryEmpty: '没有模型声明推理档',
|
|
155
|
+
modelDefaultsFilterPlaceholder: '筛选模型',
|
|
156
|
+
modelDefaultsFilterEmpty: '没有匹配「{query}」的模型。',
|
|
121
157
|
generating: '正在生成图片…',
|
|
122
158
|
image: '图片',
|
|
123
159
|
viewImage: '查看图片',
|