@anweat/dsh-browser 0.1.15-alpha.1 → 0.1.15

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.
@@ -1,45 +1,50 @@
1
- const textField = (field) => ({
2
- field,
3
- format: value => typeof value === 'string' ? value : '',
4
- parse(text) { return text.trim() === '' ? { kind: 'clear' } : { kind: 'set', value: text.trim() }; },
5
- });
1
+ /**
2
+ * The browser settings card's form model.
3
+ *
4
+ * Staging, the revision fence, and the snapshot store are owned by the shared
5
+ * `SettingsFormModel` from `@deepseek-ai/dsh-client-ui-primitives` — the same
6
+ * model every official settings page uses — so this module only declares which
7
+ * fields the card edits and how each one converts between stored value and
8
+ * draft text. A save is one `mutate(ops, revision)`; `set`/`unset` per field no
9
+ * longer exist on this Host line.
10
+ * @module dsh-browser/client/form
11
+ */
12
+ import { SettingsFormModel, settingsNumberField, settingsTextField } from '@deepseek-ai/dsh-client-ui-primitives';
13
+ /** A free-text field that clears when emptied, so blanking the control resets it. */
14
+ const textField = (field) => settingsTextField(field);
15
+ /**
16
+ * A boolean field. The card renders a checkbox, so the conversion is explicit
17
+ * rather than relying on the shared model's text round-trip.
18
+ */
6
19
  const booleanField = (field) => ({
7
20
  field,
8
21
  format: value => value === true ? 'true' : 'false',
9
22
  parse: text => text === 'true' || text === 'false' ? { kind: 'set', value: text === 'true' } : undefined,
10
23
  });
24
+ /**
25
+ * An enumerated field. Accepts only a value on the list, so an unknown string
26
+ * blocks the save instead of writing something the Host would reject.
27
+ */
11
28
  const enumField = (field, values) => ({
12
29
  field,
13
30
  format: value => typeof value === 'string' ? value : values[0] ?? '',
14
31
  parse: text => values.includes(text) ? { kind: 'set', value: text } : undefined,
15
32
  });
16
- const integerField = (field, min, max) => ({
17
- field,
18
- format: value => typeof value === 'number' && Number.isInteger(value) ? String(value) : '',
19
- parse(text) {
20
- if (text.trim() === '')
21
- return { kind: 'clear' };
22
- const value = Number(text);
23
- return Number.isInteger(value) && value >= min && value <= max ? { kind: 'set', value } : undefined;
24
- },
25
- });
26
- const stringArrayField = (field) => ({
27
- field,
28
- format: value => Array.isArray(value) ? JSON.stringify(value, null, 2) : '',
29
- parse(text) {
30
- if (text.trim() === '')
31
- return { kind: 'clear' };
32
- try {
33
- const value = JSON.parse(text);
34
- return Array.isArray(value) && value.every(entry => typeof entry === 'string')
35
- ? { kind: 'set', value }
36
- : undefined;
37
- }
38
- catch {
39
- return undefined;
40
- }
41
- },
42
- });
33
+ /** A whole-number field bounded to a range; an empty draft clears it. */
34
+ const rangedNumberField = (field, min, max) => {
35
+ const base = settingsNumberField(field);
36
+ return {
37
+ field,
38
+ format: base.format,
39
+ parse(text) {
40
+ if (text.trim() === '')
41
+ return { kind: 'clear' };
42
+ const value = Number(text);
43
+ return Number.isInteger(value) && value >= min && value <= max ? { kind: 'set', value } : undefined;
44
+ },
45
+ };
46
+ };
47
+ /** JSON object field: parses to a record, and an empty draft clears the field. */
43
48
  const jsonField = (field, validate) => ({
44
49
  field,
45
50
  format: value => value && typeof value === 'object' && !Array.isArray(value) ? JSON.stringify(value, null, 2) : '',
@@ -81,8 +86,9 @@ function validAssetPolicy(value) {
81
86
  return false;
82
87
  if (value.activationMode !== undefined && !['manual', 'auto-tested'].includes(String(value.activationMode)))
83
88
  return false;
89
+ const numeric = ['minSuccessfulRuns', 'minDistinctSessions', 'successWindowDays', 'minSuccessRate', 'maxCandidates', 'candidateTtlDays', 'maxSuggestionsPerDay', 'maxDrafts', 'maxActiveAssets', 'retrievalTopK', 'catalogTokenBudget', 'maxModelDraftWritesPerSession'];
84
90
  return Object.entries(value).every(([key, entry]) => {
85
- if (!['minSuccessfulRuns', 'minDistinctSessions', 'successWindowDays', 'minSuccessRate', 'maxCandidates', 'candidateTtlDays', 'maxSuggestionsPerDay', 'maxDrafts', 'maxActiveAssets', 'retrievalTopK', 'catalogTokenBudget', 'maxModelDraftWritesPerSession'].includes(key))
91
+ if (!numeric.includes(key))
86
92
  return true;
87
93
  return typeof entry === 'number' && Number.isFinite(entry) && entry >= 0;
88
94
  });
@@ -95,159 +101,58 @@ function validUsagePolicy(value) {
95
101
  return entry === undefined || (typeof entry === 'number' && Number.isInteger(entry) && entry >= min && entry <= max);
96
102
  });
97
103
  }
104
+ /**
105
+ * The single-input section fields the card edits, in display order. Every entry
106
+ * must also be `.volatile()` in the Host Config schema: `volatileForm` drops
107
+ * unmarked fields, and the Host would refuse a write to one.
108
+ */
98
109
  export const FIELD_SPECS = [
99
110
  booleanField('enabled'),
100
111
  enumField('automationMode', ['read-only', 'standard', 'autonomous', 'unrestricted']),
101
112
  enumField('browserRuntime', ['playwright', 'patchright']),
102
113
  textField('channel'),
103
- integerField('cdpPort', 1, 65_535),
104
- stringArrayField('args'),
114
+ rangedNumberField('cdpPort', 1, 65_535),
105
115
  booleanField('headless'),
106
116
  booleanField('opencliEnabled'),
107
- jsonField('usagePolicy', validUsagePolicy),
108
- jsonField('automationAssets', validAssetPolicy),
109
117
  booleanField('autoInstall'),
110
118
  textField('storageStatePath'),
111
- jsonField('authProfiles'),
112
119
  textField('defaultAuthProfile'),
113
- jsonField('rulePacks'),
114
120
  textField('executablePath'),
115
121
  textField('snapshotDir'),
116
122
  booleanField('verbose'),
117
123
  ];
118
- const SPEC_BY_FIELD = new Map(FIELD_SPECS.map(spec => [spec.field, spec]));
119
- function stable(value) {
120
- if (Array.isArray(value))
121
- return `[${value.map(stable).join(',')}]`;
122
- if (value && typeof value === 'object') {
123
- return `{${Object.entries(value).sort(([a], [b]) => a.localeCompare(b)).map(([key, entry]) => `${JSON.stringify(key)}:${stable(entry)}`).join(',')}}`;
124
- }
125
- return JSON.stringify(value);
126
- }
127
- function same(left, right) { return stable(left) === stable(right); }
128
- function createLocalStore(initial) {
129
- let snapshot = initial;
130
- const listeners = new Set();
131
- return {
132
- getSnapshot: () => snapshot,
133
- subscribe(listener) { listeners.add(listener); return () => { listeners.delete(listener); }; },
134
- set(next) { snapshot = next; for (const listener of listeners)
135
- listener(); },
136
- update(updater) { const draft = structuredClone(snapshot); updater(draft); snapshot = draft; for (const listener of listeners)
137
- listener(); },
138
- };
139
- }
124
+ /** The JSON-shaped section fields the card renders as code editors. */
125
+ export const JSON_FIELD_SPECS = [
126
+ jsonField('usagePolicy', validUsagePolicy),
127
+ jsonField('automationAssets', validAssetPolicy),
128
+ ];
129
+ /** Section fields rendered as JSON code editors rather than single inputs. */
130
+ export const JSON_FIELDS = new Set(JSON_FIELD_SPECS.map(spec => spec.field));
131
+ /** Every field the card renders, in display order. */
132
+ export const ALL_FIELD_SPECS = [...FIELD_SPECS, ...JSON_FIELD_SPECS];
140
133
  export class BrowserSettingsController {
141
- scope;
142
- staged = new Map();
134
+ form;
143
135
  store;
144
- unsubscribe;
145
- saving = false;
146
- failed = false;
147
136
  constructor(scope) {
148
- this.scope = scope;
149
- this.store = createLocalStore(this.project());
150
- this.unsubscribe = scope.subscribe(() => { this.publish(); });
137
+ this.form = new SettingsFormModel(scope, [...ALL_FIELD_SPECS]);
138
+ this.store = this.form.bind(() => this.project());
151
139
  }
152
140
  inject() {
153
141
  return {
154
142
  hooks: { browserSettings: this.store },
155
- edit: (field, text) => { this.edit(field, text); },
156
- resetField: (field) => { this.resetField(field); },
157
- save: () => { void this.save(); },
158
- discard: () => { this.discard(); },
143
+ ...this.form.actions(),
159
144
  };
160
145
  }
161
146
  snapshot() { return this.store.getSnapshot(); }
162
- edit(field, text) {
163
- this.staged.set(field, { text, clear: false });
164
- this.failed = false;
165
- this.publish();
166
- }
167
- resetField(field) {
168
- const spec = this.spec(field);
169
- this.staged.set(field, { text: spec.format(this.baseValue(field)), clear: true });
170
- this.failed = false;
171
- this.publish();
172
- }
173
- discard() { this.staged.clear(); this.failed = false; this.publish(); }
174
- async save() {
175
- const plan = this.plan();
176
- if (this.saving || plan.some(item => item.write === undefined) || plan.length === 0)
177
- return;
178
- this.saving = true;
179
- this.failed = false;
180
- this.publish();
181
- let landed = true;
182
- try {
183
- for (const item of plan) {
184
- if (!item.write) {
185
- landed = false;
186
- break;
187
- }
188
- if (item.write.kind === 'clear') {
189
- await this.scope.unset(item.field);
190
- landed = !this.stored(item.field) && landed;
191
- }
192
- else {
193
- await this.scope.set(item.field, item.write.value);
194
- landed = same(this.userLayer()?.[item.field], item.write.value) && landed;
195
- }
196
- }
197
- }
198
- catch {
199
- landed = false;
200
- }
201
- if (landed)
202
- this.staged.clear();
203
- this.saving = false;
204
- this.failed = !landed;
205
- this.publish();
206
- }
207
- dispose() { this.unsubscribe(); }
147
+ dispose() { this.form.dispose(); }
208
148
  project() {
209
149
  const fields = {};
210
150
  for (const spec of FIELD_SPECS)
211
- fields[spec.field] = this.field(spec.field);
212
- const plan = this.plan();
213
- return {
214
- available: this.scope.getSnapshot().status === 'ready', writable: this.scope.getSnapshot().writable,
215
- dirty: plan.length > 0, invalid: plan.some(item => item.write === undefined), saving: this.saving, failed: this.failed, fields,
216
- };
217
- }
218
- field(field) {
219
- const spec = this.spec(field);
220
- const draft = this.staged.get(field);
221
- if (!draft)
222
- return { text: spec.format(this.sectionValue(field)), overridden: this.stored(field), invalid: false };
223
- const write = draft.clear ? { kind: 'clear' } : spec.parse(draft.text);
224
- return { text: draft.text, overridden: write?.kind === 'set', invalid: write === undefined };
225
- }
226
- plan() {
227
- const writes = [];
228
- for (const [field, draft] of this.staged) {
229
- const spec = this.spec(field);
230
- if (draft.clear) {
231
- if (this.stored(field))
232
- writes.push({ field, write: { kind: 'clear' } });
233
- continue;
234
- }
235
- if (draft.text === spec.format(this.sectionValue(field)))
236
- continue;
237
- writes.push({ field, write: spec.parse(draft.text) });
238
- }
239
- return writes;
240
- }
241
- spec(field) {
242
- const spec = SPEC_BY_FIELD.get(field);
243
- if (!spec)
244
- throw new Error(`unknown browser settings field: ${field}`);
245
- return spec;
151
+ fields[spec.field] = this.form.field(spec.field);
152
+ const jsonFields = {};
153
+ for (const spec of JSON_FIELD_SPECS)
154
+ jsonFields[spec.field] = this.form.field(spec.field);
155
+ return { ...this.form.shell(), fields, jsonFields };
246
156
  }
247
- sectionValue(field) { return this.scope.getSnapshot().value?.[field]; }
248
- baseValue(field) { return this.scope.getSnapshot().base?.[field]; }
249
- userLayer() { return this.scope.getSnapshot().user; }
250
- stored(field) { const user = this.userLayer(); return user !== undefined && Object.hasOwn(user, field); }
251
- publish() { this.store.set(this.project()); }
252
157
  }
253
158
  //# sourceMappingURL=form.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/client/form.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/client/form.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { PropsLocale } from '@deepseek-ai/dsh-client-ui-slots';
2
2
  import type { Context } from './context-types.ts';
3
- import { type BrowserCardState, type SettingField } from './form.ts';
3
+ import { type BrowserCardState } from './form.ts';
4
4
  import { SETTINGS_NAMESPACE } from './settings-namespace.ts';
5
5
  import { type AutomationAssetsState } from './automation-assets-client.ts';
6
6
  import type { AutomationAsset, AutomationAssetStatus } from '../automation-assets.ts';
@@ -9,9 +9,11 @@ export declare const inject: string[];
9
9
  export declare const NS = "dsh-browser.card";
10
10
  export { SETTINGS_NAMESPACE };
11
11
  export type BrowserSettingsCardProps = PropsLocale<typeof NS> & {
12
+ /** Which view the Plugins page is asking for: the one-liner or the form body. */
13
+ view: 'summary' | 'page';
12
14
  useBrowserSettings: <R>(selector: (snapshot: BrowserCardState) => R) => R;
13
- edit: (field: SettingField, text: string) => void;
14
- resetField: (field: SettingField) => void;
15
+ edit: (field: string, text: string) => void;
16
+ resetField: (field: string) => void;
15
17
  save: () => void;
16
18
  discard: () => void;
17
19
  useAutomationAssets: <R>(selector: (snapshot: AutomationAssetsState) => R) => R;
@@ -5,24 +5,27 @@ import { ensureStyles } from "./styles.js";
5
5
  import { SETTINGS_NAMESPACE } from "./settings-namespace.js";
6
6
  import { AutomationAssetsController } from "./automation-assets-client.js";
7
7
  export const name = 'dsh-browser-client';
8
- export const inject = ['slots', 'locale', 'connection', 'settingsScope'];
8
+ export const inject = ['slots', 'locale', 'connection', 'configForms'];
9
9
  export const NS = 'dsh-browser.card';
10
10
  export { SETTINGS_NAMESPACE };
11
11
  export function apply(ctx) {
12
12
  ensureStyles();
13
13
  ctx.effect(() => ctx.locale.register(NS, { zh, en }), 'dsh-browser: settings dictionaries');
14
- const scope = ctx.settingsScope.bind({ namespace: SETTINGS_NAMESPACE });
15
- const controller = new BrowserSettingsController(scope);
14
+ // The Host derives the settings page from the plugin entry's own Config
15
+ // schema, keyed by the loader entry id; the shared form service reads it.
16
+ const controller = new BrowserSettingsController(ctx.configForms.get(SETTINGS_NAMESPACE));
16
17
  const assets = new AutomationAssetsController(ctx.connection.rpc);
17
18
  ctx.effect(() => () => controller.dispose(), 'dsh-browser: settings controller');
18
19
  ctx.effect(() => () => assets.dispose(), 'dsh-browser: automation assets controller');
19
- ctx.slots.inject('settings.plugin.item', () => ctx.slots.register({
20
- name: 'settings.plugin.item', key: SETTINGS_NAMESPACE, locale: NS,
20
+ // External bundles own their keyed configuration on the bundle's detail
21
+ // page; `plugins.item` is reserved for official host-plane plugins.
22
+ ctx.effect(() => ctx.configForms.whileServed([SETTINGS_NAMESPACE], () => ctx.slots.inject('plugins.bundle.config', () => ctx.slots.register({
23
+ name: 'plugins.bundle.config', key: '@anweat/dsh-browser', locale: NS,
21
24
  inject: () => {
22
25
  const settingsProps = controller.inject();
23
26
  const assetProps = assets.inject();
24
27
  return { ...settingsProps, ...assetProps, hooks: { ...settingsProps.hooks, ...assetProps.hooks } };
25
28
  },
26
- }, SettingsCard));
29
+ }, SettingsCard))), 'dsh-browser: settings page');
27
30
  }
28
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAA4C,MAAM,WAAW,CAAA;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAA;AACjD,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,0BAA0B,EAA8B,MAAM,+BAA+B,CAAA;AAItG,MAAM,CAAC,MAAM,IAAI,GAAG,oBAAoB,CAAA;AACxC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,CAAC,CAAA;AACxE,MAAM,CAAC,MAAM,EAAE,GAAG,kBAAkB,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAmB7B,MAAM,UAAU,KAAK,CAAC,GAAY;IAChC,YAAY,EAAE,CAAA;IACd,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,oCAAoC,CAAC,CAAA;IAC3F,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAA2C,CAAA;IACjH,MAAM,UAAU,GAAG,IAAI,yBAAyB,CAAC,KAAK,CAAC,CAAA;IACvD,MAAM,MAAM,GAAG,IAAI,0BAA0B,CAAE,GAA+D,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAC9H,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,kCAAkC,CAAC,CAAA;IAChF,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,2CAA2C,CAAC,CAAA;IACrF,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;QAChE,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE;QACjE,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,EAAE,CAAA;YACzC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;YAClC,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,CAAA;QACpG,CAAC;KACF,EAAE,YAAY,CAAC,CAAC,CAAA;AACnB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAyB,MAAM,WAAW,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAA;AACjD,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,0BAA0B,EAA8B,MAAM,+BAA+B,CAAA;AAItG,MAAM,CAAC,MAAM,IAAI,GAAG,oBAAoB,CAAA;AACxC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,CAAC,CAAA;AACtE,MAAM,CAAC,MAAM,EAAE,GAAG,kBAAkB,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAuB7B,MAAM,UAAU,KAAK,CAAC,GAAY;IAChC,YAAY,EAAE,CAAA;IACd,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,oCAAoC,CAAC,CAAA;IAE3F,wEAAwE;IACxE,0EAA0E;IAC1E,MAAM,UAAU,GAAG,IAAI,yBAAyB,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAA0B,kBAAkB,CAAC,CAAC,CAAA;IAClH,MAAM,MAAM,GAAG,IAAI,0BAA0B,CAAE,GAA+D,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAC9H,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,kCAAkC,CAAC,CAAA;IAChF,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,2CAA2C,CAAC,CAAA;IAErF,wEAAwE;IACxE,oEAAoE;IACpE,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,CACtE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAC7C,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;QACjB,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE;QACrE,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,EAAE,CAAA;YACzC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;YAClC,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,EAAE,CAAA;QACpG,CAAC;KACF,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAA;AACvD,CAAC"}
@@ -76,6 +76,9 @@ export declare const zh: {
76
76
  readonly verbose: "详细日志";
77
77
  readonly verboseHint: "输出启动和诊断信息。";
78
78
  readonly reset: "恢复部署值";
79
+ readonly overridden: "已覆盖";
80
+ readonly invalidNumber: "请填写数字,留空表示使用默认值。";
81
+ readonly unavailable: "该插件当前未加载,暂时无法配置。";
79
82
  readonly invalid: "值无效,请检查格式或范围。";
80
83
  readonly invalidJson: "JSON 或数值范围无效。";
81
84
  readonly restart: "保存后完整重启 profile,运行时和工具目录才会重新注册。";
@@ -27,7 +27,8 @@ export const zh = {
27
27
  executablePath: '浏览器可执行文件', executablePathHint: '少数自定义部署才需要覆盖。',
28
28
  snapshotDir: '快照目录', snapshotDirHint: '留空使用 DSH_HOME 下的默认目录。',
29
29
  verbose: '详细日志', verboseHint: '输出启动和诊断信息。',
30
- reset: '恢复部署值', invalid: '值无效,请检查格式或范围。', invalidJson: 'JSON 或数值范围无效。',
30
+ reset: '恢复部署值', overridden: '已覆盖', invalidNumber: '请填写数字,留空表示使用默认值。', unavailable: '该插件当前未加载,暂时无法配置。',
31
+ invalid: '值无效,请检查格式或范围。', invalidJson: 'JSON 或数值范围无效。',
31
32
  restart: '保存后完整重启 profile,运行时和工具目录才会重新注册。',
32
33
  saved: '配置已同步。', pending: '有待保存的修改。', invalidSave: '存在无效字段。', saveFailed: '保存失败,草稿已保留。', saving: '保存中…',
33
34
  save: '保存', discard: '放弃修改',
@@ -61,7 +62,8 @@ export const en = {
61
62
  executablePath: 'Browser executable', executablePathHint: 'Override only for custom deployments.',
62
63
  snapshotDir: 'Snapshot directory', snapshotDirHint: 'Leave empty for the DSH_HOME default.',
63
64
  verbose: 'Verbose logs', verboseHint: 'Emit startup and diagnostic details.',
64
- reset: 'Restore deployed', invalid: 'Invalid value. Check format and bounds.', invalidJson: 'Invalid JSON or numeric bounds.',
65
+ reset: 'Restore deployed', overridden: 'Overridden', invalidNumber: 'Enter a number, or leave blank to use the default.', unavailable: 'This plugin is not loaded, so it cannot be configured right now.',
66
+ invalid: 'Invalid value. Check format and bounds.', invalidJson: 'Invalid JSON or numeric bounds.',
65
67
  restart: 'Fully restart the profile after saving so runtime and tool catalogs are re-registered.',
66
68
  saved: 'Configuration is synchronized.', pending: 'Changes are ready to save.', invalidSave: 'Some fields are invalid.', saveFailed: 'Save failed; the draft was retained.', saving: 'Saving…',
67
69
  save: 'Save', discard: 'Discard',
@@ -1 +1 @@
1
- {"version":3,"file":"locales.js","sourceRoot":"","sources":["../../src/client/locales.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locales.js","sourceRoot":"","sources":["../../src/client/locales.ts"],"names":[],"mappings":"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"}