@morlay/dsh-session-mode 0.0.1-alpha.4 → 0.0.1-alpha.5
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 +80 -67
- package/dist/client.cjs +165 -802
- package/dist/client.d.cts +22 -187
- package/dist/client.d.mts +22 -187
- package/dist/index.d.cts +183 -9
- package/dist/index.d.mts +183 -9
- package/dist/index.mjs +183 -31
- package/dist/rows.d.cts +38 -0
- package/dist/rows.d.mts +38 -0
- package/dist/rows.mjs +503 -0
- package/locale/en.json +1 -1
- package/locale/zh.json +1 -1
- package/package.json +46 -53
- package/src/client/SessionModeSeat.tsx +38 -19
- package/src/client/index.ts +143 -92
- package/src/client/locales.ts +18 -72
- package/src/index.ts +145 -18
- package/{tool/modes.ts → src/mode-sources.ts} +32 -14
- package/src/modes.ts +197 -36
- package/src/rows.ts +57 -0
- package/cordis.patch.yml +0 -69
- package/dist/shared-FNWe-_rS.d.cts +0 -106
- package/dist/shared-FNWe-_rS.d.mts +0 -106
- package/src/client/ModelDefaultsCard.styles.ts +0 -134
- package/src/client/ModelDefaultsCard.tsx +0 -233
- package/src/client/SessionModeLabel.module.css +0 -24
- package/src/client/SessionModeLabel.tsx +0 -44
- package/src/client/model-defaults-card-controller.ts +0 -408
- package/tool/patch.ts +0 -91
package/dist/client.d.cts
CHANGED
|
@@ -1,210 +1,45 @@
|
|
|
1
|
-
import { c as SessionModeModels, n as SessionModeRoster, s as SessionModeModel } from "./shared-FNWe-_rS.cjs";
|
|
2
1
|
import { Context } from "@deepseek-ai/cordis";
|
|
3
|
-
import {
|
|
4
|
-
import { InjectFace, PropsLocale, PropsRuntime, TranslateNS } from "@deepseek-ai/dsh-client-ui-slots";
|
|
5
|
-
import { ModelProviderGroup } from "@deepseek-ai/dsh-api-remotes/client";
|
|
6
|
-
import { SnapshotStore } from "@deepseek-ai/dsh-client-store";
|
|
2
|
+
import { PropsLocale, PropsRuntime } from "@deepseek-ai/dsh-client-ui-slots";
|
|
7
3
|
//#region src/client/locales.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* client 半的文案:命名空间 `session-mode`(与 locale 注册时用的 key 一致)。
|
|
6
|
+
*
|
|
7
|
+
* 只有会话里那个模式 chip 用这份字典:模式的名字与说明由 host 的清单给(那是数据,不是文案)。本行的配置页
|
|
8
|
+
* (各模式的默认模型)由通用 schema 表单渲染,文案在它自己的字典里。
|
|
9
|
+
*/
|
|
8
10
|
declare const zh: {
|
|
9
11
|
seatHint: string;
|
|
10
|
-
|
|
12
|
+
lockedHint: string;
|
|
11
13
|
noDescription: string;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
providerLabel: string;
|
|
19
|
-
modelLabel: string;
|
|
20
|
-
effortLabel: string;
|
|
21
|
-
inheritOption: string;
|
|
22
|
-
chooseModel: string;
|
|
23
|
-
effortDefaultOption: string;
|
|
24
|
-
staleOption: string;
|
|
25
|
-
overridden: string;
|
|
26
|
-
reset: string;
|
|
27
|
-
modelRequired: string;
|
|
28
|
-
readOnly: string;
|
|
29
|
-
unavailable: string;
|
|
30
|
-
save: string;
|
|
31
|
-
saving: string;
|
|
32
|
-
saveFailed: string;
|
|
33
|
-
rosterFailed: string;
|
|
34
|
-
directoryFailed: string;
|
|
35
|
-
directoryPartial: string;
|
|
14
|
+
provider: string;
|
|
15
|
+
providerHint: string;
|
|
16
|
+
model: string;
|
|
17
|
+
modelHint: string;
|
|
18
|
+
reasoningEffort: string;
|
|
19
|
+
reasoningEffortHint: string;
|
|
36
20
|
};
|
|
37
21
|
type SessionModeLocaleKey = keyof typeof zh;
|
|
38
22
|
//#endregion
|
|
39
|
-
//#region src/client/model-defaults-card-controller.d.ts
|
|
40
|
-
/** 本包 host 行 id:settings 的命名空间名与 `config` 的 volatile 字段都在它下面。 */
|
|
41
|
-
declare const SESSION_MODE_NS = "session-mode";
|
|
42
|
-
/** settings 里这一段的可编辑形状(`volatileForm` 从 schema 上挑出来的那几个字段)。 */
|
|
43
|
-
interface SessionModeSettings {
|
|
44
|
-
/** 各模式的默认模型;省略或空对象=一个都没配。 */
|
|
45
|
-
readonly models?: SessionModeModels;
|
|
46
|
-
}
|
|
47
|
-
/** 卡片要的那部分模型目录:可以选的 provider / model 分组,以及读失败的 provider 显示名。 */
|
|
48
|
-
interface ModelDirectory {
|
|
49
|
-
/** 目录里有模型的 provider(`ctx.remote.session.modelCatalog()` 的成功分组)。 */
|
|
50
|
-
readonly groups: readonly ModelProviderGroup[];
|
|
51
|
-
/** 目录里读失败的 provider 显示名(部分失败:其余分组照常可用)。 */
|
|
52
|
-
readonly failures: readonly string[];
|
|
53
|
-
}
|
|
54
|
-
/** 卡片的两条外部读取(都注入进来,测试给假的即可,不需要真的 ctx / HTTP)。 */
|
|
55
|
-
interface ModelDefaultsSources {
|
|
56
|
-
/** 模式清单:`GET /session-mode`(列哪些模式各一行)。 */
|
|
57
|
-
roster(): Promise<SessionModeRoster>;
|
|
58
|
-
/** 模型目录:`ctx.remote.session.modelCatalog()`;拒绝与抛错对卡片是同一件事——读不到目录。 */
|
|
59
|
-
directory(): Promise<ModelDirectory>;
|
|
60
|
-
}
|
|
61
|
-
/** 一个模式一行:清单里的展示信息 + 当前值 + 草稿状态。 */
|
|
62
|
-
interface ModelDefaultsRow {
|
|
63
|
-
readonly id: string;
|
|
64
|
-
readonly name: string;
|
|
65
|
-
readonly description?: string;
|
|
66
|
-
/** 这一行当前显示的模型(草稿优先;草稿是"回到默认"时显示装配层那份);`undefined` = 跟全局默认。 */
|
|
67
|
-
readonly value?: SessionModeModel;
|
|
68
|
-
/** 保存之后这一行会不会留下用户层那一条(有就得给"恢复默认")。 */
|
|
69
|
-
readonly overridden: boolean;
|
|
70
|
-
/** 这一行有未保存的编辑。 */
|
|
71
|
-
readonly dirty: boolean;
|
|
72
|
-
/** 草稿不完整(选了 provider 没选 model):它阻止保存。 */
|
|
73
|
-
readonly invalid: boolean;
|
|
74
|
-
}
|
|
75
|
-
/** 卡片呈现的状态:表单壳 + 行 + 两条读取的落点。 */
|
|
76
|
-
interface ModelDefaultsCardState extends SettingsFormShell {
|
|
77
|
-
readonly rows: readonly ModelDefaultsRow[];
|
|
78
|
-
/** 目录里的 provider 分组(选择器的选项来源)。 */
|
|
79
|
-
readonly directory: readonly ModelProviderGroup[];
|
|
80
|
-
readonly rosterStatus: "loading" | "ready" | "error";
|
|
81
|
-
readonly directoryStatus: "loading" | "ready" | "error";
|
|
82
|
-
/** 部分失败:这些 provider 的目录没读到。 */
|
|
83
|
-
readonly directoryFailures: readonly string[];
|
|
84
|
-
}
|
|
85
|
-
/** 槽位渲染器绑定的状态与动作。 */
|
|
86
|
-
interface ModelDefaultsCardFace {
|
|
87
|
-
hooks: {
|
|
88
|
-
modelDefaultsCard: SnapshotStore<ModelDefaultsCardState>;
|
|
89
|
-
};
|
|
90
|
-
/** 给某个模式换 provider;换 provider 会连 model 与档位一起清掉(档位是模型自带的)。 */
|
|
91
|
-
setProvider(modeId: string, provider: string): void;
|
|
92
|
-
/** 给某个模式选 model;新模型不认识旧档位时档位被清掉。 */
|
|
93
|
-
setModel(modeId: string, model: string): void;
|
|
94
|
-
/** 给某个模式选档位;空串=跟模型(provider)默认。 */
|
|
95
|
-
setEffort(modeId: string, effort: string): void;
|
|
96
|
-
/** 这一行回到装配层的值(清掉用户层那一条)。 */
|
|
97
|
-
resetMode(modeId: string): void;
|
|
98
|
-
/** 把全部草稿写成一次 `mutate`。 */
|
|
99
|
-
save(): void;
|
|
100
|
-
/** 丢掉全部草稿。 */
|
|
101
|
-
discard(): void;
|
|
102
|
-
}
|
|
103
|
-
/** 把一张动态映射编辑成一次设置的写。 */
|
|
104
|
-
declare class ModelDefaultsCardController {
|
|
105
|
-
private readonly scope;
|
|
106
|
-
private readonly sources;
|
|
107
|
-
private readonly store;
|
|
108
|
-
private readonly unsubscribe;
|
|
109
|
-
private readonly drafts;
|
|
110
|
-
private roster;
|
|
111
|
-
private rosterStatus;
|
|
112
|
-
private directory;
|
|
113
|
-
private directoryFailures;
|
|
114
|
-
private directoryStatus;
|
|
115
|
-
private saving;
|
|
116
|
-
private failed;
|
|
117
|
-
private disposed;
|
|
118
|
-
private saveGeneration;
|
|
119
|
-
/**
|
|
120
|
-
* @param scope - 本包 host 行(`session-mode`)的共享配置表单。
|
|
121
|
-
* @param sources - 模式清单与模型目录的两条读取。
|
|
122
|
-
*/
|
|
123
|
-
constructor(scope: SettingsFormScope<SessionModeSettings>, sources: ModelDefaultsSources);
|
|
124
|
-
/** 停止观察设置,并让晚到的写入结果不再落到状态上。 */
|
|
125
|
-
dispose(): void;
|
|
126
|
-
/**
|
|
127
|
-
* 把状态与动作绑到槽位渲染器上。
|
|
128
|
-
* @returns 快照与编辑、保存动作。
|
|
129
|
-
*/
|
|
130
|
-
inject(): ModelDefaultsCardFace;
|
|
131
|
-
/** 用户层有没有这一条。 */
|
|
132
|
-
private overridden;
|
|
133
|
-
/** 生效值(用户层叠在装配层上)。 */
|
|
134
|
-
private current;
|
|
135
|
-
/** 装配层那份(用户层清掉之后剩下的)。 */
|
|
136
|
-
private base;
|
|
137
|
-
/**
|
|
138
|
-
* 这一行现在的值:草稿优先,否则是生效值;草稿是"回到默认"时看装配层那份(它清掉的就是用户层)。
|
|
139
|
-
* 同一个值既是选择器显示的东西,也是下一次编辑的起点。
|
|
140
|
-
* @param modeId - 模式 id。
|
|
141
|
-
* @returns 这一行呈现的模型;`undefined` = 跟全局默认。
|
|
142
|
-
*/
|
|
143
|
-
private shown;
|
|
144
|
-
/**
|
|
145
|
-
* 这一行的草稿算不算一次真的编辑。
|
|
146
|
-
* @param modeId - 模式 id。
|
|
147
|
-
* @returns 保存会不会改变什么。
|
|
148
|
-
*/
|
|
149
|
-
private dirty;
|
|
150
|
-
/** 保存之后这一行会不会留下用户层那一条("已覆盖"与"恢复默认"都看它)。 */
|
|
151
|
-
private leavesOverride;
|
|
152
|
-
private setProvider;
|
|
153
|
-
private setModel;
|
|
154
|
-
private setEffort;
|
|
155
|
-
private stage;
|
|
156
|
-
private discard;
|
|
157
|
-
/** 可以编辑:这一行被服务到(`status: ready`)且文档接受写入。 */
|
|
158
|
-
private writable;
|
|
159
|
-
/** 这一次保存要写的 path op(按编辑顺序;没变的行不写)。 */
|
|
160
|
-
private plannedOps;
|
|
161
|
-
private save;
|
|
162
|
-
private loadRoster;
|
|
163
|
-
private loadDirectory;
|
|
164
|
-
/** 某个 provider 在目录里的模型。 */
|
|
165
|
-
private modelsOf;
|
|
166
|
-
/** 某个 provider + model 声明的档位(模型自带;没声明就是没有)。 */
|
|
167
|
-
private efforts;
|
|
168
|
-
private projection;
|
|
169
|
-
private publish;
|
|
170
|
-
}
|
|
171
|
-
//#endregion
|
|
172
|
-
//#region src/client/ModelDefaultsCard.d.ts
|
|
173
|
-
/** 槽位渲染器给卡片的 props:运行时面 + 卡片自己的注入面(`t` 由本包的 `inject` 面带进来)。 */
|
|
174
|
-
type ModelDefaultsCardProps = PropsRuntime<"plugins.row.config"> & InjectFace<ModelDefaultsCardFace & {
|
|
175
|
-
t: Translate;
|
|
176
|
-
}>;
|
|
177
|
-
/** 本页字典的读取器(命名空间的 key 由 `LocaleNamespaceMap` 合并声明给)。 */
|
|
178
|
-
type Translate = TranslateNS<"session-mode">;
|
|
179
|
-
//#endregion
|
|
180
|
-
//#region src/client/SessionModeLabel.d.ts
|
|
181
|
-
/** 完整 props:头部动作槽位的运行时 props + 本包的字典。 */
|
|
182
|
-
type SessionModeLabelProps = PropsRuntime<"conversation.session.header.actions"> & PropsLocale<"session-mode">;
|
|
183
|
-
//#endregion
|
|
184
23
|
//#region src/client/SessionModeSeat.d.ts
|
|
185
|
-
/** 完整 props:
|
|
186
|
-
type SessionModeSeatProps = PropsRuntime<"conversation.
|
|
24
|
+
/** 完整 props:composer 工具行左侧槽位的运行时 props + 本包的字典。 */
|
|
25
|
+
type SessionModeSeatProps = PropsRuntime<"conversation.input.left"> & PropsLocale<"session-mode">;
|
|
187
26
|
//#endregion
|
|
188
27
|
//#region src/client/index.d.ts
|
|
189
28
|
declare module "@deepseek-ai/dsh-client-ui-slots" {
|
|
190
29
|
interface LocaleNamespaceMap {
|
|
191
|
-
/**
|
|
30
|
+
/** 会话里两个面的文案(配置页文案在通用 schema 表单的字典里)。 */
|
|
192
31
|
"session-mode": SessionModeLocaleKey;
|
|
193
32
|
}
|
|
194
33
|
}
|
|
195
|
-
/**
|
|
196
|
-
* 本行的配置入口 key:`<bundle 包名>#<行 id>`。
|
|
197
|
-
*
|
|
198
|
-
* 页面侧由 `ui-plugin-manager` 的 `rowConfigKey(bundle, rowId)` 生成同一个串——bundle 是本包
|
|
199
|
-
* (`dsh.profile.bundles` 里那一项),行 id 是本包 patch 里插的 `session-mode`。
|
|
200
|
-
*/
|
|
201
|
-
declare const SESSION_MODE_ROW_CONFIG_KEY = "@morlay/dsh-session-mode#session-mode";
|
|
202
34
|
/** 需要的服务:槽位与字典(会话列表经槽位的标准 props 到达组件,不必自己 inject)。 */
|
|
203
35
|
declare const inject: string[];
|
|
36
|
+
/** 本包 host 行 id:行配置页读的就是这个命名空间。 */
|
|
37
|
+
declare const SESSION_MODE_NS = "session-mode";
|
|
204
38
|
/**
|
|
205
|
-
*
|
|
39
|
+
* 装上会话里的两个面,以及本行配置页的字段文案。
|
|
40
|
+
*
|
|
206
41
|
* @param ctx - 浏览器插件上下文。
|
|
207
42
|
*/
|
|
208
43
|
declare function apply(ctx: Context): void;
|
|
209
44
|
//#endregion
|
|
210
|
-
export {
|
|
45
|
+
export { SESSION_MODE_NS, type SessionModeLocaleKey, type SessionModeSeatProps, apply, inject };
|
package/dist/client.d.mts
CHANGED
|
@@ -1,210 +1,45 @@
|
|
|
1
|
-
import { c as SessionModeModels, n as SessionModeRoster, s as SessionModeModel } from "./shared-FNWe-_rS.mjs";
|
|
2
1
|
import { Context } from "@deepseek-ai/cordis";
|
|
3
|
-
import {
|
|
4
|
-
import { SnapshotStore } from "@deepseek-ai/dsh-client-store";
|
|
5
|
-
import { InjectFace, PropsLocale, PropsRuntime, TranslateNS } from "@deepseek-ai/dsh-client-ui-slots";
|
|
6
|
-
import { ModelProviderGroup } from "@deepseek-ai/dsh-api-remotes/client";
|
|
2
|
+
import { PropsLocale, PropsRuntime } from "@deepseek-ai/dsh-client-ui-slots";
|
|
7
3
|
//#region src/client/locales.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* client 半的文案:命名空间 `session-mode`(与 locale 注册时用的 key 一致)。
|
|
6
|
+
*
|
|
7
|
+
* 只有会话里那个模式 chip 用这份字典:模式的名字与说明由 host 的清单给(那是数据,不是文案)。本行的配置页
|
|
8
|
+
* (各模式的默认模型)由通用 schema 表单渲染,文案在它自己的字典里。
|
|
9
|
+
*/
|
|
8
10
|
declare const zh: {
|
|
9
11
|
seatHint: string;
|
|
10
|
-
|
|
12
|
+
lockedHint: string;
|
|
11
13
|
noDescription: string;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
providerLabel: string;
|
|
19
|
-
modelLabel: string;
|
|
20
|
-
effortLabel: string;
|
|
21
|
-
inheritOption: string;
|
|
22
|
-
chooseModel: string;
|
|
23
|
-
effortDefaultOption: string;
|
|
24
|
-
staleOption: string;
|
|
25
|
-
overridden: string;
|
|
26
|
-
reset: string;
|
|
27
|
-
modelRequired: string;
|
|
28
|
-
readOnly: string;
|
|
29
|
-
unavailable: string;
|
|
30
|
-
save: string;
|
|
31
|
-
saving: string;
|
|
32
|
-
saveFailed: string;
|
|
33
|
-
rosterFailed: string;
|
|
34
|
-
directoryFailed: string;
|
|
35
|
-
directoryPartial: string;
|
|
14
|
+
provider: string;
|
|
15
|
+
providerHint: string;
|
|
16
|
+
model: string;
|
|
17
|
+
modelHint: string;
|
|
18
|
+
reasoningEffort: string;
|
|
19
|
+
reasoningEffortHint: string;
|
|
36
20
|
};
|
|
37
21
|
type SessionModeLocaleKey = keyof typeof zh;
|
|
38
22
|
//#endregion
|
|
39
|
-
//#region src/client/model-defaults-card-controller.d.ts
|
|
40
|
-
/** 本包 host 行 id:settings 的命名空间名与 `config` 的 volatile 字段都在它下面。 */
|
|
41
|
-
declare const SESSION_MODE_NS = "session-mode";
|
|
42
|
-
/** settings 里这一段的可编辑形状(`volatileForm` 从 schema 上挑出来的那几个字段)。 */
|
|
43
|
-
interface SessionModeSettings {
|
|
44
|
-
/** 各模式的默认模型;省略或空对象=一个都没配。 */
|
|
45
|
-
readonly models?: SessionModeModels;
|
|
46
|
-
}
|
|
47
|
-
/** 卡片要的那部分模型目录:可以选的 provider / model 分组,以及读失败的 provider 显示名。 */
|
|
48
|
-
interface ModelDirectory {
|
|
49
|
-
/** 目录里有模型的 provider(`ctx.remote.session.modelCatalog()` 的成功分组)。 */
|
|
50
|
-
readonly groups: readonly ModelProviderGroup[];
|
|
51
|
-
/** 目录里读失败的 provider 显示名(部分失败:其余分组照常可用)。 */
|
|
52
|
-
readonly failures: readonly string[];
|
|
53
|
-
}
|
|
54
|
-
/** 卡片的两条外部读取(都注入进来,测试给假的即可,不需要真的 ctx / HTTP)。 */
|
|
55
|
-
interface ModelDefaultsSources {
|
|
56
|
-
/** 模式清单:`GET /session-mode`(列哪些模式各一行)。 */
|
|
57
|
-
roster(): Promise<SessionModeRoster>;
|
|
58
|
-
/** 模型目录:`ctx.remote.session.modelCatalog()`;拒绝与抛错对卡片是同一件事——读不到目录。 */
|
|
59
|
-
directory(): Promise<ModelDirectory>;
|
|
60
|
-
}
|
|
61
|
-
/** 一个模式一行:清单里的展示信息 + 当前值 + 草稿状态。 */
|
|
62
|
-
interface ModelDefaultsRow {
|
|
63
|
-
readonly id: string;
|
|
64
|
-
readonly name: string;
|
|
65
|
-
readonly description?: string;
|
|
66
|
-
/** 这一行当前显示的模型(草稿优先;草稿是"回到默认"时显示装配层那份);`undefined` = 跟全局默认。 */
|
|
67
|
-
readonly value?: SessionModeModel;
|
|
68
|
-
/** 保存之后这一行会不会留下用户层那一条(有就得给"恢复默认")。 */
|
|
69
|
-
readonly overridden: boolean;
|
|
70
|
-
/** 这一行有未保存的编辑。 */
|
|
71
|
-
readonly dirty: boolean;
|
|
72
|
-
/** 草稿不完整(选了 provider 没选 model):它阻止保存。 */
|
|
73
|
-
readonly invalid: boolean;
|
|
74
|
-
}
|
|
75
|
-
/** 卡片呈现的状态:表单壳 + 行 + 两条读取的落点。 */
|
|
76
|
-
interface ModelDefaultsCardState extends SettingsFormShell {
|
|
77
|
-
readonly rows: readonly ModelDefaultsRow[];
|
|
78
|
-
/** 目录里的 provider 分组(选择器的选项来源)。 */
|
|
79
|
-
readonly directory: readonly ModelProviderGroup[];
|
|
80
|
-
readonly rosterStatus: "loading" | "ready" | "error";
|
|
81
|
-
readonly directoryStatus: "loading" | "ready" | "error";
|
|
82
|
-
/** 部分失败:这些 provider 的目录没读到。 */
|
|
83
|
-
readonly directoryFailures: readonly string[];
|
|
84
|
-
}
|
|
85
|
-
/** 槽位渲染器绑定的状态与动作。 */
|
|
86
|
-
interface ModelDefaultsCardFace {
|
|
87
|
-
hooks: {
|
|
88
|
-
modelDefaultsCard: SnapshotStore<ModelDefaultsCardState>;
|
|
89
|
-
};
|
|
90
|
-
/** 给某个模式换 provider;换 provider 会连 model 与档位一起清掉(档位是模型自带的)。 */
|
|
91
|
-
setProvider(modeId: string, provider: string): void;
|
|
92
|
-
/** 给某个模式选 model;新模型不认识旧档位时档位被清掉。 */
|
|
93
|
-
setModel(modeId: string, model: string): void;
|
|
94
|
-
/** 给某个模式选档位;空串=跟模型(provider)默认。 */
|
|
95
|
-
setEffort(modeId: string, effort: string): void;
|
|
96
|
-
/** 这一行回到装配层的值(清掉用户层那一条)。 */
|
|
97
|
-
resetMode(modeId: string): void;
|
|
98
|
-
/** 把全部草稿写成一次 `mutate`。 */
|
|
99
|
-
save(): void;
|
|
100
|
-
/** 丢掉全部草稿。 */
|
|
101
|
-
discard(): void;
|
|
102
|
-
}
|
|
103
|
-
/** 把一张动态映射编辑成一次设置的写。 */
|
|
104
|
-
declare class ModelDefaultsCardController {
|
|
105
|
-
private readonly scope;
|
|
106
|
-
private readonly sources;
|
|
107
|
-
private readonly store;
|
|
108
|
-
private readonly unsubscribe;
|
|
109
|
-
private readonly drafts;
|
|
110
|
-
private roster;
|
|
111
|
-
private rosterStatus;
|
|
112
|
-
private directory;
|
|
113
|
-
private directoryFailures;
|
|
114
|
-
private directoryStatus;
|
|
115
|
-
private saving;
|
|
116
|
-
private failed;
|
|
117
|
-
private disposed;
|
|
118
|
-
private saveGeneration;
|
|
119
|
-
/**
|
|
120
|
-
* @param scope - 本包 host 行(`session-mode`)的共享配置表单。
|
|
121
|
-
* @param sources - 模式清单与模型目录的两条读取。
|
|
122
|
-
*/
|
|
123
|
-
constructor(scope: SettingsFormScope<SessionModeSettings>, sources: ModelDefaultsSources);
|
|
124
|
-
/** 停止观察设置,并让晚到的写入结果不再落到状态上。 */
|
|
125
|
-
dispose(): void;
|
|
126
|
-
/**
|
|
127
|
-
* 把状态与动作绑到槽位渲染器上。
|
|
128
|
-
* @returns 快照与编辑、保存动作。
|
|
129
|
-
*/
|
|
130
|
-
inject(): ModelDefaultsCardFace;
|
|
131
|
-
/** 用户层有没有这一条。 */
|
|
132
|
-
private overridden;
|
|
133
|
-
/** 生效值(用户层叠在装配层上)。 */
|
|
134
|
-
private current;
|
|
135
|
-
/** 装配层那份(用户层清掉之后剩下的)。 */
|
|
136
|
-
private base;
|
|
137
|
-
/**
|
|
138
|
-
* 这一行现在的值:草稿优先,否则是生效值;草稿是"回到默认"时看装配层那份(它清掉的就是用户层)。
|
|
139
|
-
* 同一个值既是选择器显示的东西,也是下一次编辑的起点。
|
|
140
|
-
* @param modeId - 模式 id。
|
|
141
|
-
* @returns 这一行呈现的模型;`undefined` = 跟全局默认。
|
|
142
|
-
*/
|
|
143
|
-
private shown;
|
|
144
|
-
/**
|
|
145
|
-
* 这一行的草稿算不算一次真的编辑。
|
|
146
|
-
* @param modeId - 模式 id。
|
|
147
|
-
* @returns 保存会不会改变什么。
|
|
148
|
-
*/
|
|
149
|
-
private dirty;
|
|
150
|
-
/** 保存之后这一行会不会留下用户层那一条("已覆盖"与"恢复默认"都看它)。 */
|
|
151
|
-
private leavesOverride;
|
|
152
|
-
private setProvider;
|
|
153
|
-
private setModel;
|
|
154
|
-
private setEffort;
|
|
155
|
-
private stage;
|
|
156
|
-
private discard;
|
|
157
|
-
/** 可以编辑:这一行被服务到(`status: ready`)且文档接受写入。 */
|
|
158
|
-
private writable;
|
|
159
|
-
/** 这一次保存要写的 path op(按编辑顺序;没变的行不写)。 */
|
|
160
|
-
private plannedOps;
|
|
161
|
-
private save;
|
|
162
|
-
private loadRoster;
|
|
163
|
-
private loadDirectory;
|
|
164
|
-
/** 某个 provider 在目录里的模型。 */
|
|
165
|
-
private modelsOf;
|
|
166
|
-
/** 某个 provider + model 声明的档位(模型自带;没声明就是没有)。 */
|
|
167
|
-
private efforts;
|
|
168
|
-
private projection;
|
|
169
|
-
private publish;
|
|
170
|
-
}
|
|
171
|
-
//#endregion
|
|
172
|
-
//#region src/client/ModelDefaultsCard.d.ts
|
|
173
|
-
/** 槽位渲染器给卡片的 props:运行时面 + 卡片自己的注入面(`t` 由本包的 `inject` 面带进来)。 */
|
|
174
|
-
type ModelDefaultsCardProps = PropsRuntime<"plugins.row.config"> & InjectFace<ModelDefaultsCardFace & {
|
|
175
|
-
t: Translate;
|
|
176
|
-
}>;
|
|
177
|
-
/** 本页字典的读取器(命名空间的 key 由 `LocaleNamespaceMap` 合并声明给)。 */
|
|
178
|
-
type Translate = TranslateNS<"session-mode">;
|
|
179
|
-
//#endregion
|
|
180
|
-
//#region src/client/SessionModeLabel.d.ts
|
|
181
|
-
/** 完整 props:头部动作槽位的运行时 props + 本包的字典。 */
|
|
182
|
-
type SessionModeLabelProps = PropsRuntime<"conversation.session.header.actions"> & PropsLocale<"session-mode">;
|
|
183
|
-
//#endregion
|
|
184
23
|
//#region src/client/SessionModeSeat.d.ts
|
|
185
|
-
/** 完整 props:
|
|
186
|
-
type SessionModeSeatProps = PropsRuntime<"conversation.
|
|
24
|
+
/** 完整 props:composer 工具行左侧槽位的运行时 props + 本包的字典。 */
|
|
25
|
+
type SessionModeSeatProps = PropsRuntime<"conversation.input.left"> & PropsLocale<"session-mode">;
|
|
187
26
|
//#endregion
|
|
188
27
|
//#region src/client/index.d.ts
|
|
189
28
|
declare module "@deepseek-ai/dsh-client-ui-slots" {
|
|
190
29
|
interface LocaleNamespaceMap {
|
|
191
|
-
/**
|
|
30
|
+
/** 会话里两个面的文案(配置页文案在通用 schema 表单的字典里)。 */
|
|
192
31
|
"session-mode": SessionModeLocaleKey;
|
|
193
32
|
}
|
|
194
33
|
}
|
|
195
|
-
/**
|
|
196
|
-
* 本行的配置入口 key:`<bundle 包名>#<行 id>`。
|
|
197
|
-
*
|
|
198
|
-
* 页面侧由 `ui-plugin-manager` 的 `rowConfigKey(bundle, rowId)` 生成同一个串——bundle 是本包
|
|
199
|
-
* (`dsh.profile.bundles` 里那一项),行 id 是本包 patch 里插的 `session-mode`。
|
|
200
|
-
*/
|
|
201
|
-
declare const SESSION_MODE_ROW_CONFIG_KEY = "@morlay/dsh-session-mode#session-mode";
|
|
202
34
|
/** 需要的服务:槽位与字典(会话列表经槽位的标准 props 到达组件,不必自己 inject)。 */
|
|
203
35
|
declare const inject: string[];
|
|
36
|
+
/** 本包 host 行 id:行配置页读的就是这个命名空间。 */
|
|
37
|
+
declare const SESSION_MODE_NS = "session-mode";
|
|
204
38
|
/**
|
|
205
|
-
*
|
|
39
|
+
* 装上会话里的两个面,以及本行配置页的字段文案。
|
|
40
|
+
*
|
|
206
41
|
* @param ctx - 浏览器插件上下文。
|
|
207
42
|
*/
|
|
208
43
|
declare function apply(ctx: Context): void;
|
|
209
44
|
//#endregion
|
|
210
|
-
export {
|
|
45
|
+
export { SESSION_MODE_NS, type SessionModeLocaleKey, type SessionModeSeatProps, apply, inject };
|