@anweat/dsh-browser 0.2.1 → 0.2.3
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/CHANGELOG.md +103 -0
- package/README.en.md +153 -0
- package/README.md +99 -568
- package/assets/skills/dsh-browser/SKILL.md +13 -11
- package/assets/skills/dsh-browser/references/files.md +36 -0
- package/assets/skills/dsh-browser/references/observe.md +2 -2
- package/assets/skills/dsh-browser/references/policy.md +32 -0
- package/cordis.patch.yml +10 -3
- package/lib/actions/errors.js +7 -2
- package/lib/actions/errors.js.map +1 -1
- package/lib/actions/index-view.d.ts +4 -1
- package/lib/actions/index-view.js +16 -3
- package/lib/actions/index-view.js.map +1 -1
- package/lib/actions/inspect.js +15 -0
- package/lib/actions/inspect.js.map +1 -1
- package/lib/actions/observe.js +1 -1
- package/lib/actions/observe.js.map +1 -1
- package/lib/actions/opencli.d.ts +1 -1
- package/lib/actions/opencli.js +4 -4
- package/lib/actions/opencli.js.map +1 -1
- package/lib/actions/policy.d.ts +15 -0
- package/lib/actions/policy.js +131 -0
- package/lib/actions/policy.js.map +1 -0
- package/lib/actions/registry.js +6 -5
- package/lib/actions/registry.js.map +1 -1
- package/lib/actions/runtime.js +2 -2
- package/lib/actions/runtime.js.map +1 -1
- package/lib/actions/target.js +35 -3
- package/lib/actions/target.js.map +1 -1
- package/lib/actions/types.d.ts +1 -1
- package/lib/actions/types.js.map +1 -1
- package/lib/approval-policy.d.ts +10 -1
- package/lib/approval-policy.js +42 -1
- package/lib/approval-policy.js.map +1 -1
- package/lib/auth-profiles.d.ts +4 -1
- package/lib/auth-profiles.js +3 -0
- package/lib/auth-profiles.js.map +1 -1
- package/lib/automation-assets-rpc.js +60 -4
- package/lib/automation-assets-rpc.js.map +1 -1
- package/lib/browser-service.d.ts +165 -4
- package/lib/browser-service.js +505 -55
- package/lib/browser-service.js.map +1 -1
- package/lib/client/SettingsCard.d.ts +10 -8
- package/lib/client/SettingsCard.js +12 -137
- package/lib/client/SettingsCard.js.map +1 -1
- package/lib/client/auth-profiles-form.d.ts +23 -0
- package/lib/client/auth-profiles-form.js +64 -0
- package/lib/client/auth-profiles-form.js.map +1 -0
- package/lib/client/card-frame.d.ts +22 -0
- package/lib/client/card-frame.js +61 -0
- package/lib/client/card-frame.js.map +1 -0
- package/lib/client/field-rows.d.ts +59 -0
- package/lib/client/field-rows.js +63 -0
- package/lib/client/field-rows.js.map +1 -0
- package/lib/client/field-rules.d.ts +17 -0
- package/lib/client/field-rules.js +68 -0
- package/lib/client/field-rules.js.map +1 -0
- package/lib/client/form.d.ts +108 -7
- package/lib/client/form.js +255 -11
- package/lib/client/form.js.map +1 -1
- package/lib/client/group-access.d.ts +14 -0
- package/lib/client/group-access.js +97 -0
- package/lib/client/group-access.js.map +1 -0
- package/lib/client/group-advanced.d.ts +11 -0
- package/lib/client/group-advanced.js +32 -0
- package/lib/client/group-advanced.js.map +1 -0
- package/lib/client/group-assets.d.ts +13 -0
- package/lib/client/group-assets.js +50 -0
- package/lib/client/group-assets.js.map +1 -0
- package/lib/client/group-browser.d.ts +9 -0
- package/lib/client/group-browser.js +27 -0
- package/lib/client/group-browser.js.map +1 -0
- package/lib/client/group-common.d.ts +10 -0
- package/lib/client/group-common.js +21 -0
- package/lib/client/group-common.js.map +1 -0
- package/lib/client/group-context.d.ts +20 -0
- package/lib/client/group-context.js +76 -0
- package/lib/client/group-context.js.map +1 -0
- package/lib/client/group-downloads.d.ts +10 -0
- package/lib/client/group-downloads.js +33 -0
- package/lib/client/group-downloads.js.map +1 -0
- package/lib/client/group-limits.d.ts +9 -0
- package/lib/client/group-limits.js +57 -0
- package/lib/client/group-limits.js.map +1 -0
- package/lib/client/group-prompts.d.ts +13 -0
- package/lib/client/group-prompts.js +136 -0
- package/lib/client/group-prompts.js.map +1 -0
- package/lib/client/index.d.ts +21 -1
- package/lib/client/index.js +10 -4
- package/lib/client/index.js.map +1 -1
- package/lib/client/locales-policy.d.ts +83 -0
- package/lib/client/locales-policy.js +46 -0
- package/lib/client/locales-policy.js.map +1 -0
- package/lib/client/locales-prompts.d.ts +57 -0
- package/lib/client/locales-prompts.js +41 -0
- package/lib/client/locales-prompts.js.map +1 -0
- package/lib/client/locales-ui.d.ts +223 -0
- package/lib/client/locales-ui.js +157 -0
- package/lib/client/locales-ui.js.map +1 -0
- package/lib/client/locales.d.ts +359 -67
- package/lib/client/locales.js +68 -22
- package/lib/client/locales.js.map +1 -1
- package/lib/client/policy-fields.d.ts +31 -0
- package/lib/client/policy-fields.js +66 -0
- package/lib/client/policy-fields.js.map +1 -0
- package/lib/client/policy-status-client.d.ts +91 -0
- package/lib/client/policy-status-client.js +64 -0
- package/lib/client/policy-status-client.js.map +1 -0
- package/lib/client/prompts-form.d.ts +33 -0
- package/lib/client/prompts-form.js +87 -0
- package/lib/client/prompts-form.js.map +1 -1
- package/lib/client/prompts-status-client.d.ts +21 -1
- package/lib/client/prompts-status-client.js +36 -4
- package/lib/client/prompts-status-client.js.map +1 -1
- package/lib/client/properties-form.d.ts +90 -0
- package/lib/client/properties-form.js +187 -0
- package/lib/client/properties-form.js.map +1 -0
- package/lib/client/property-docs.d.ts +18 -0
- package/lib/client/property-docs.js +78 -0
- package/lib/client/property-docs.js.map +1 -0
- package/lib/client/size-units.d.ts +12 -0
- package/lib/client/size-units.js +29 -0
- package/lib/client/size-units.js.map +1 -0
- package/lib/client/styles.d.ts +47 -31
- package/lib/client/styles.js +59 -20
- package/lib/client/styles.js.map +1 -1
- package/lib/client/ui-kit.d.ts +173 -0
- package/lib/client/ui-kit.js +112 -0
- package/lib/client/ui-kit.js.map +1 -0
- package/lib/client.js +5291 -834
- package/lib/client.js.map +1 -1
- package/lib/config-rules.d.ts +40 -0
- package/lib/config-rules.js +103 -0
- package/lib/config-rules.js.map +1 -0
- package/lib/config.d.ts +64 -2
- package/lib/config.js +106 -0
- package/lib/config.js.map +1 -1
- package/lib/context-options.d.ts +85 -0
- package/lib/context-options.js +206 -0
- package/lib/context-options.js.map +1 -0
- package/lib/deps.d.ts +42 -5
- package/lib/deps.js +219 -9
- package/lib/deps.js.map +1 -1
- package/lib/downloads.d.ts +79 -0
- package/lib/downloads.js +189 -0
- package/lib/downloads.js.map +1 -0
- package/lib/index.d.ts +3 -2
- package/lib/index.js +7 -3
- package/lib/index.js.map +1 -1
- package/lib/policy-keys.d.ts +39 -0
- package/lib/policy-keys.js +21 -0
- package/lib/policy-keys.js.map +1 -1
- package/lib/policy-overlay.d.ts +189 -0
- package/lib/policy-overlay.js +649 -0
- package/lib/policy-overlay.js.map +1 -0
- package/lib/prompts-yaml.d.ts +11 -0
- package/lib/prompts-yaml.js +121 -0
- package/lib/prompts-yaml.js.map +1 -0
- package/lib/prompts.d.ts +2 -0
- package/lib/prompts.js +7 -3
- package/lib/prompts.js.map +1 -1
- package/lib/system-browser.d.ts +61 -0
- package/lib/system-browser.js +109 -0
- package/lib/system-browser.js.map +1 -0
- package/lib/tools.js +9 -1
- package/lib/tools.js.map +1 -1
- package/lib/usage-policy.d.ts +3 -1
- package/lib/usage-policy.js +2 -0
- package/lib/usage-policy.js.map +1 -1
- package/package.json +47 -40
- package/scripts/check-docs-links.mjs +115 -0
- package/scripts/dump-prompts.mjs +13 -3
|
@@ -17,6 +17,93 @@ export const PROMPT_TEXT_FIELDS = [
|
|
|
17
17
|
{ id: 'skillBodyFile', path: ['skill', 'bodyFile'], limit: 1024, multiline: false },
|
|
18
18
|
{ id: 'skillAppend', path: ['skill', 'append'], limit: PROMPT_LIMITS.skillAppend, multiline: true },
|
|
19
19
|
];
|
|
20
|
+
/** Read the default export's JSON into {@link PromptDefaults}; undefined when it is not the expected shape. */
|
|
21
|
+
export function defaultsFromJson(json) {
|
|
22
|
+
let root;
|
|
23
|
+
try {
|
|
24
|
+
root = JSON.parse(json);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
if (!isRecord(root))
|
|
30
|
+
return undefined;
|
|
31
|
+
const texts = {};
|
|
32
|
+
for (const field of PROMPT_TEXT_FIELDS) {
|
|
33
|
+
const value = getAt(root, field.path);
|
|
34
|
+
if (typeof value === 'string' && value !== '')
|
|
35
|
+
texts[field.id] = value;
|
|
36
|
+
}
|
|
37
|
+
const extras = {};
|
|
38
|
+
for (const key of PROMPT_EXTRA_KEYS)
|
|
39
|
+
if (isRecord(root[key]))
|
|
40
|
+
extras[key] = root[key];
|
|
41
|
+
return { texts, extras };
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* `extras` without the entries that equal the plugin's default: copying the whole default into the box and changing
|
|
45
|
+
* one line must save one override, not freeze every other text at today's wording.
|
|
46
|
+
*/
|
|
47
|
+
export function pruneDefaultExtras(extras, defaults) {
|
|
48
|
+
const out = {};
|
|
49
|
+
for (const key of PROMPT_EXTRA_KEYS) {
|
|
50
|
+
const given = extras[key];
|
|
51
|
+
if (!isRecord(given))
|
|
52
|
+
continue;
|
|
53
|
+
const base = isRecord(defaults[key]) ? defaults[key] : {};
|
|
54
|
+
const kept = {};
|
|
55
|
+
for (const [name, entry] of Object.entries(given)) {
|
|
56
|
+
const baseEntry = base[name];
|
|
57
|
+
if (typeof entry === 'string') {
|
|
58
|
+
if (entry !== baseEntry)
|
|
59
|
+
kept[name] = entry;
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
if (!isRecord(entry)) {
|
|
63
|
+
kept[name] = entry;
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
const baseFields = isRecord(baseEntry) ? baseEntry : {};
|
|
67
|
+
const changed = Object.fromEntries(Object.entries(entry).filter(([field, text]) => text !== (baseFields[field] ?? '')));
|
|
68
|
+
if (Object.keys(changed).length)
|
|
69
|
+
kept[name] = changed;
|
|
70
|
+
}
|
|
71
|
+
if (Object.keys(kept).length)
|
|
72
|
+
out[key] = kept;
|
|
73
|
+
}
|
|
74
|
+
return out;
|
|
75
|
+
}
|
|
76
|
+
/** The overridden entries of a `prompts` draft, in the order groups, actions, errorHints. */
|
|
77
|
+
export function extraEntries(draft) {
|
|
78
|
+
const out = [];
|
|
79
|
+
for (const kind of PROMPT_EXTRA_KEYS) {
|
|
80
|
+
const group = draft[kind];
|
|
81
|
+
if (!isRecord(group))
|
|
82
|
+
continue;
|
|
83
|
+
for (const [key, value] of Object.entries(group)) {
|
|
84
|
+
if (typeof value === 'string')
|
|
85
|
+
out.push({ kind, key, text: value });
|
|
86
|
+
else if (isRecord(value))
|
|
87
|
+
out.push({ kind, key, ...typeof value.summary === 'string' ? { summary: value.summary } : {}, ...typeof value.notes === 'string' ? { notes: value.notes } : {} });
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return out;
|
|
91
|
+
}
|
|
92
|
+
/** `draft` with one entry set (or removed when `value` is undefined or empty); parents left empty go with it. */
|
|
93
|
+
export function withExtraEntry(draft, kind, key, value) {
|
|
94
|
+
const copy = structuredClone(draft);
|
|
95
|
+
const group = isRecord(copy[kind]) ? copy[kind] : {};
|
|
96
|
+
const empty = value === undefined || (typeof value === 'string' ? value === '' : !value.summary && !value.notes);
|
|
97
|
+
if (empty)
|
|
98
|
+
delete group[key];
|
|
99
|
+
else
|
|
100
|
+
group[key] = typeof value === 'string' ? value : Object.fromEntries(Object.entries(value).filter(([, text]) => typeof text === 'string' && text !== ''));
|
|
101
|
+
if (Object.keys(group).length)
|
|
102
|
+
copy[kind] = group;
|
|
103
|
+
else
|
|
104
|
+
delete copy[kind];
|
|
105
|
+
return copy;
|
|
106
|
+
}
|
|
20
107
|
/** The members the JSON box edits; the other controls own the rest. */
|
|
21
108
|
export const PROMPT_EXTRA_KEYS = ['groups', 'actions', 'errorHints'];
|
|
22
109
|
const isRecord = (value) => value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts-form.js","sourceRoot":"","sources":["../../src/client/prompts-form.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompts-form.js","sourceRoot":"","sources":["../../src/client/prompts-form.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SnapshotStore } from '@deepseek-ai/dsh-client-store';
|
|
2
2
|
import type { ClientConnectionRpc } from '@deepseek-ai/dsh-client-connection/client';
|
|
3
3
|
import type { PromptsStatus } from '../prompts.ts';
|
|
4
|
+
import { type PromptDefaults } from './prompts-form.ts';
|
|
4
5
|
export interface PromptsStatusState {
|
|
5
6
|
loading: boolean;
|
|
6
7
|
failed: boolean;
|
|
@@ -10,6 +11,17 @@ export interface PromptsStatusState {
|
|
|
10
11
|
defaults?: string;
|
|
11
12
|
/** Set when loading the defaults failed. */
|
|
12
13
|
defaultsFailed?: boolean;
|
|
14
|
+
/** The plugin's own text per prompt control and its default groups/actions/errorHints, loaded when the card opens. */
|
|
15
|
+
defaultTexts?: PromptDefaults;
|
|
16
|
+
/** The default export as loaded, so "Export default text" can show it without another request. */
|
|
17
|
+
defaultsJson?: string;
|
|
18
|
+
/** The commented YAML export, with the language it was made in. */
|
|
19
|
+
defaultsYaml?: {
|
|
20
|
+
lang: string;
|
|
21
|
+
text: string;
|
|
22
|
+
};
|
|
23
|
+
/** Set when loading the commented YAML failed. */
|
|
24
|
+
yamlFailed?: boolean;
|
|
13
25
|
}
|
|
14
26
|
/** Reads the plugin's own account of its prompt overrides, for the "prompt text" section. */
|
|
15
27
|
export declare class PromptsStatusController {
|
|
@@ -17,18 +29,26 @@ export declare class PromptsStatusController {
|
|
|
17
29
|
private readonly store;
|
|
18
30
|
private disposed;
|
|
19
31
|
constructor(rpc: ClientConnectionRpc);
|
|
32
|
+
/** The prompt defaults the form compares with and shows as placeholders; undefined until they are loaded. */
|
|
33
|
+
promptDefaults(): PromptDefaults | undefined;
|
|
20
34
|
inject(): {
|
|
21
35
|
hooks: {
|
|
22
36
|
promptsStatus: SnapshotStore<PromptsStatusState>;
|
|
23
37
|
};
|
|
24
38
|
refreshPromptsStatus: () => void;
|
|
25
39
|
exportPromptDefaults: () => Promise<void>;
|
|
40
|
+
exportPromptYaml: (lang: string) => Promise<void>;
|
|
41
|
+
loadPromptDefaults: () => Promise<void>;
|
|
26
42
|
hidePromptDefaults: () => void;
|
|
27
43
|
};
|
|
28
44
|
snapshot(): PromptsStatusState;
|
|
29
45
|
dispose(): void;
|
|
30
|
-
/**
|
|
46
|
+
/** Fetch the default texts (once; a later call reuses them). They feed the placeholders and the "equal to default is no override" rule. */
|
|
47
|
+
loadDefaults(): Promise<void>;
|
|
48
|
+
/** Show the default text in the read-only box under the section. */
|
|
31
49
|
exportDefaults(): Promise<void>;
|
|
50
|
+
/** The commented YAML of the defaults, in the card's language (fetched once per language). */
|
|
51
|
+
exportYaml(lang: string): Promise<void>;
|
|
32
52
|
refresh(): Promise<void>;
|
|
33
53
|
private publish;
|
|
34
54
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { localStore } from "./automation-assets-client.js";
|
|
2
|
+
import { defaultsFromJson } from "./prompts-form.js";
|
|
2
3
|
/** Same private channel as the automation assets (see automation-assets-rpc.ts). */
|
|
3
4
|
const CHANNEL = '/dsh-browser-assets';
|
|
4
5
|
/** Reads the plugin's own account of its prompt overrides, for the "prompt text" section. */
|
|
@@ -9,30 +10,61 @@ export class PromptsStatusController {
|
|
|
9
10
|
constructor(rpc) {
|
|
10
11
|
this.rpc = rpc;
|
|
11
12
|
void this.refresh();
|
|
13
|
+
void this.loadDefaults();
|
|
12
14
|
}
|
|
15
|
+
/** The prompt defaults the form compares with and shows as placeholders; undefined until they are loaded. */
|
|
16
|
+
promptDefaults() { return this.store.getSnapshot().defaultTexts; }
|
|
13
17
|
inject() {
|
|
14
18
|
return {
|
|
15
19
|
hooks: { promptsStatus: this.store },
|
|
16
20
|
refreshPromptsStatus: () => { void this.refresh(); },
|
|
17
21
|
exportPromptDefaults: () => this.exportDefaults(),
|
|
18
|
-
|
|
22
|
+
exportPromptYaml: (lang) => this.exportYaml(lang),
|
|
23
|
+
loadPromptDefaults: () => this.loadDefaults(),
|
|
24
|
+
hidePromptDefaults: () => { const { defaults: _defaults, defaultsFailed: _failed, yamlFailed: _yamlFailed, ...rest } = this.store.getSnapshot(); this.publish(rest); },
|
|
19
25
|
};
|
|
20
26
|
}
|
|
21
27
|
snapshot() { return this.store.getSnapshot(); }
|
|
22
28
|
dispose() { this.disposed = true; }
|
|
23
|
-
/**
|
|
24
|
-
async
|
|
29
|
+
/** Fetch the default texts (once; a later call reuses them). They feed the placeholders and the "equal to default is no override" rule. */
|
|
30
|
+
async loadDefaults() {
|
|
31
|
+
if (this.store.getSnapshot().defaultsJson !== undefined)
|
|
32
|
+
return;
|
|
25
33
|
try {
|
|
26
34
|
const result = await this.rpc.call(CHANNEL, 'promptsDefaults', {});
|
|
27
35
|
if (!result.ok)
|
|
28
36
|
throw new Error(result.error.message);
|
|
37
|
+
const json = result.value.json;
|
|
38
|
+
const parsed = defaultsFromJson(json);
|
|
29
39
|
const { defaultsFailed: _failed, ...rest } = this.store.getSnapshot();
|
|
30
|
-
this.publish({ ...rest,
|
|
40
|
+
this.publish({ ...rest, defaultsJson: json, ...parsed ? { defaultTexts: parsed } : {} });
|
|
31
41
|
}
|
|
32
42
|
catch {
|
|
33
43
|
this.publish({ ...this.store.getSnapshot(), defaultsFailed: true });
|
|
34
44
|
}
|
|
35
45
|
}
|
|
46
|
+
/** Show the default text in the read-only box under the section. */
|
|
47
|
+
async exportDefaults() {
|
|
48
|
+
await this.loadDefaults();
|
|
49
|
+
const current = this.store.getSnapshot();
|
|
50
|
+
if (current.defaultsJson !== undefined)
|
|
51
|
+
this.publish({ ...current, defaults: current.defaultsJson });
|
|
52
|
+
}
|
|
53
|
+
/** The commented YAML of the defaults, in the card's language (fetched once per language). */
|
|
54
|
+
async exportYaml(lang) {
|
|
55
|
+
if (this.store.getSnapshot().defaultsYaml?.lang === lang)
|
|
56
|
+
return;
|
|
57
|
+
try {
|
|
58
|
+
const result = await this.rpc.call(CHANNEL, 'promptsDefaultsYaml', { lang });
|
|
59
|
+
if (!result.ok)
|
|
60
|
+
throw new Error(result.error.message);
|
|
61
|
+
const { yamlFailed: _failed, ...rest } = this.store.getSnapshot();
|
|
62
|
+
this.publish({ ...rest, defaultsYaml: { lang, text: result.value.yaml } });
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
this.publish({ ...this.store.getSnapshot(), yamlFailed: true });
|
|
66
|
+
}
|
|
67
|
+
}
|
|
36
68
|
async refresh() {
|
|
37
69
|
const current = this.store.getSnapshot();
|
|
38
70
|
this.publish({ ...current, loading: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts-status-client.js","sourceRoot":"","sources":["../../src/client/prompts-status-client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"prompts-status-client.js","sourceRoot":"","sources":["../../src/client/prompts-status-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The "default parameters" editor of the settings card: every plugin-wide default as one `key = value` text.
|
|
3
|
+
*
|
|
4
|
+
* Process-wide and per-context defaults (browser runtime, window size, user agent, locale, proxy, directories, limits)
|
|
5
|
+
* are one thing, "what each new context starts from"; an agent copies them for a task and changes only what that task
|
|
6
|
+
* needs. So they are edited as one properties text instead of a field-by-field form:
|
|
7
|
+
*
|
|
8
|
+
* # -- Browser context --
|
|
9
|
+
* viewportMode = custom
|
|
10
|
+
* viewportWidth = 1280
|
|
11
|
+
* # userAgent =
|
|
12
|
+
*
|
|
13
|
+
* A line `key = value` overrides the default; a `#` line is a comment and shows the value in force (the deployed
|
|
14
|
+
* value, or the plugin's default); a key that is commented out or has no value is not overridden. The value is
|
|
15
|
+
* everything after the FIRST `=`, trimmed, with one pair of surrounding double quotes removed; there are no inline
|
|
16
|
+
* comments, so `#` inside a value is literal. Arrays are one JSON line. The saved configuration keeps the same flat
|
|
17
|
+
* keys the old form wrote: this module only parses and prints text, nothing here writes settings.
|
|
18
|
+
*
|
|
19
|
+
* Pure (no DOM, no host); validation is the server's own rule set (`../config-rules.ts` through `field-rules.ts`).
|
|
20
|
+
* @module dsh-browser/client/properties-form
|
|
21
|
+
*/
|
|
22
|
+
import { type PropertyDocs } from './property-docs.ts';
|
|
23
|
+
export type PropertyKind = 'string' | 'boolean' | 'enum' | 'integer' | 'strings';
|
|
24
|
+
export interface PropertyField {
|
|
25
|
+
key: string;
|
|
26
|
+
kind: PropertyKind;
|
|
27
|
+
/** The value in force when nothing is configured, as the text the editor shows in a comment line. */
|
|
28
|
+
defaultText?: string;
|
|
29
|
+
options?: readonly string[];
|
|
30
|
+
range?: readonly [number, number];
|
|
31
|
+
group: 'runtime' | 'context' | 'files';
|
|
32
|
+
}
|
|
33
|
+
export declare const PROPERTY_GROUPS: readonly [{
|
|
34
|
+
readonly id: "runtime";
|
|
35
|
+
readonly title: "Browser runtime";
|
|
36
|
+
}, {
|
|
37
|
+
readonly id: "context";
|
|
38
|
+
readonly title: "Browser context (window, language, egress)";
|
|
39
|
+
}, {
|
|
40
|
+
readonly id: "files";
|
|
41
|
+
readonly title: "Login state, files and limits";
|
|
42
|
+
}];
|
|
43
|
+
/** The default-value fields, in display order. Switches and policies (enabled, automationMode, ...) stay controls. */
|
|
44
|
+
export declare const PROPERTY_FIELDS: readonly PropertyField[];
|
|
45
|
+
export declare const PROPERTY_KEYS: ReadonlySet<string>;
|
|
46
|
+
/** Settings that exist but are edited elsewhere in the card; a line naming one is warned about, not applied. */
|
|
47
|
+
export declare const ELSEWHERE_KEYS: Readonly<Record<string, string>>;
|
|
48
|
+
export interface LineIssue {
|
|
49
|
+
/** 1-based line number in the text. */
|
|
50
|
+
line: number;
|
|
51
|
+
key?: string;
|
|
52
|
+
level: 'error' | 'warning';
|
|
53
|
+
message: string;
|
|
54
|
+
}
|
|
55
|
+
export interface ParsedProperties {
|
|
56
|
+
/** The value of each key that has an uncommented, non-blank line (the last one wins; a repeat is reported). */
|
|
57
|
+
values: Map<string, {
|
|
58
|
+
value: string;
|
|
59
|
+
line: number;
|
|
60
|
+
}>;
|
|
61
|
+
issues: LineIssue[];
|
|
62
|
+
}
|
|
63
|
+
/** The value text of a line's right-hand side: trimmed, one pair of surrounding double quotes removed. */
|
|
64
|
+
export declare function unquote(raw: string): string;
|
|
65
|
+
/** A value as it is written after `=`: quoted only when it would not survive a round trip bare. */
|
|
66
|
+
export declare function quoteValue(value: string): string;
|
|
67
|
+
/** Split the text into key/value lines. Syntax problems and unknown keys become issues; values are not judged here. */
|
|
68
|
+
export declare function parseProperties(text: string): ParsedProperties;
|
|
69
|
+
/** Why one property value is refused (the same rules the server and the old form applied), or undefined. */
|
|
70
|
+
export declare function validateProperty(field: PropertyField, value: string): string | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Check a parsed text: each value against its rule, then the rules that involve several keys (a custom viewport needs
|
|
73
|
+
* both sizes). `effective` supplies the text in force for a key the text does not set, so a size that comes from the
|
|
74
|
+
* deployed configuration still counts.
|
|
75
|
+
*/
|
|
76
|
+
export declare function checkProperties(parsed: ParsedProperties, effective: (key: string) => string): LineIssue[];
|
|
77
|
+
export interface PropertyView {
|
|
78
|
+
key: string;
|
|
79
|
+
/** The value to print: the override, or the value in force (shown as a comment). */
|
|
80
|
+
text: string;
|
|
81
|
+
overridden: boolean;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Print the editor text. Every key has a comment line in front of it (what it is for, its values, its default, the
|
|
85
|
+
* risk), then either `key = value` (overridden) or `# key = value-in-force`; groups are under a comment header. Comments
|
|
86
|
+
* are lines starting with `#`, which {@link parseProperties} ignores, so printing and parsing again keeps every key.
|
|
87
|
+
*/
|
|
88
|
+
export declare function serializeProperties(views: readonly PropertyView[], docs?: PropertyDocs): string;
|
|
89
|
+
/** `text` with the lines that set `key` turned into a comment showing `shown` (the deployed value or default). */
|
|
90
|
+
export declare function commentOutProperty(text: string, key: string, shown: string): string;
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The "default parameters" editor of the settings card: every plugin-wide default as one `key = value` text.
|
|
3
|
+
*
|
|
4
|
+
* Process-wide and per-context defaults (browser runtime, window size, user agent, locale, proxy, directories, limits)
|
|
5
|
+
* are one thing, "what each new context starts from"; an agent copies them for a task and changes only what that task
|
|
6
|
+
* needs. So they are edited as one properties text instead of a field-by-field form:
|
|
7
|
+
*
|
|
8
|
+
* # -- Browser context --
|
|
9
|
+
* viewportMode = custom
|
|
10
|
+
* viewportWidth = 1280
|
|
11
|
+
* # userAgent =
|
|
12
|
+
*
|
|
13
|
+
* A line `key = value` overrides the default; a `#` line is a comment and shows the value in force (the deployed
|
|
14
|
+
* value, or the plugin's default); a key that is commented out or has no value is not overridden. The value is
|
|
15
|
+
* everything after the FIRST `=`, trimmed, with one pair of surrounding double quotes removed; there are no inline
|
|
16
|
+
* comments, so `#` inside a value is literal. Arrays are one JSON line. The saved configuration keeps the same flat
|
|
17
|
+
* keys the old form wrote: this module only parses and prints text, nothing here writes settings.
|
|
18
|
+
*
|
|
19
|
+
* Pure (no DOM, no host); validation is the server's own rule set (`../config-rules.ts` through `field-rules.ts`).
|
|
20
|
+
* @module dsh-browser/client/properties-form
|
|
21
|
+
*/
|
|
22
|
+
import { MAX_DOWNLOAD_BYTES_LIMIT } from "../config-rules.js";
|
|
23
|
+
import { crossFieldProblems, fieldProblem } from "./field-rules.js";
|
|
24
|
+
import { propertyDocs } from "./property-docs.js";
|
|
25
|
+
export const PROPERTY_GROUPS = [
|
|
26
|
+
{ id: 'runtime', title: 'Browser runtime' },
|
|
27
|
+
{ id: 'context', title: 'Browser context (window, language, egress)' },
|
|
28
|
+
{ id: 'files', title: 'Login state, files and limits' },
|
|
29
|
+
];
|
|
30
|
+
/** The default-value fields, in display order. Switches and policies (enabled, automationMode, ...) stay controls. */
|
|
31
|
+
export const PROPERTY_FIELDS = [
|
|
32
|
+
{ key: 'browserRuntime', kind: 'enum', options: ['playwright', 'patchright'], defaultText: 'playwright', group: 'runtime' },
|
|
33
|
+
{ key: 'channel', kind: 'string', defaultText: 'chromium', group: 'runtime' },
|
|
34
|
+
{ key: 'headless', kind: 'boolean', defaultText: 'true', group: 'runtime' },
|
|
35
|
+
{ key: 'autoInstall', kind: 'boolean', defaultText: 'false', group: 'runtime' },
|
|
36
|
+
{ key: 'executablePath', kind: 'string', group: 'runtime' },
|
|
37
|
+
{ key: 'cdpPort', kind: 'integer', range: [1, 65_535], group: 'runtime' },
|
|
38
|
+
{ key: 'maxSessions', kind: 'integer', range: [1, 64], defaultText: '8', group: 'runtime' },
|
|
39
|
+
{ key: 'args', kind: 'strings', defaultText: '[]', group: 'runtime' },
|
|
40
|
+
{ key: 'viewportMode', kind: 'enum', options: ['window', '720p', '1080p', 'custom'], defaultText: 'window', group: 'context' },
|
|
41
|
+
{ key: 'viewportWidth', kind: 'integer', range: [200, 7680], group: 'context' },
|
|
42
|
+
{ key: 'viewportHeight', kind: 'integer', range: [200, 4320], group: 'context' },
|
|
43
|
+
{ key: 'userAgent', kind: 'string', group: 'context' },
|
|
44
|
+
{ key: 'locale', kind: 'string', group: 'context' },
|
|
45
|
+
{ key: 'timezoneId', kind: 'string', group: 'context' },
|
|
46
|
+
{ key: 'proxyServer', kind: 'string', group: 'context' },
|
|
47
|
+
{ key: 'proxyBypass', kind: 'string', group: 'context' },
|
|
48
|
+
{ key: 'storageStatePath', kind: 'string', group: 'files' },
|
|
49
|
+
{ key: 'defaultAuthProfile', kind: 'string', group: 'files' },
|
|
50
|
+
{ key: 'allowPrivateHosts', kind: 'boolean', defaultText: 'false', group: 'files' },
|
|
51
|
+
{ key: 'snapshotDir', kind: 'string', group: 'files' },
|
|
52
|
+
{ key: 'downloadDir', kind: 'string', group: 'files' },
|
|
53
|
+
{ key: 'downloadMaxBytes', kind: 'integer', range: [1, MAX_DOWNLOAD_BYTES_LIMIT], defaultText: '104857600', group: 'files' },
|
|
54
|
+
{ key: 'verbose', kind: 'boolean', defaultText: 'false', group: 'files' },
|
|
55
|
+
];
|
|
56
|
+
export const PROPERTY_KEYS = new Set(PROPERTY_FIELDS.map(field => field.key));
|
|
57
|
+
/** Settings that exist but are edited elsewhere in the card; a line naming one is warned about, not applied. */
|
|
58
|
+
export const ELSEWHERE_KEYS = {
|
|
59
|
+
enabled: 'the "automation freedom" controls', automationMode: 'the "automation freedom" controls', toolSurface: 'the "automation freedom" controls', opencliEnabled: 'the "automation freedom" controls',
|
|
60
|
+
usagePolicy: 'the usage buffer JSON box', automationAssets: 'the automation asset policy JSON box', prompts: 'the prompt text section',
|
|
61
|
+
authProfiles: 'the login profiles list', rulePacks: 'the configuration file (hash-pinned rule packs)',
|
|
62
|
+
};
|
|
63
|
+
/** The value text of a line's right-hand side: trimmed, one pair of surrounding double quotes removed. */
|
|
64
|
+
export function unquote(raw) {
|
|
65
|
+
const trimmed = raw.trim();
|
|
66
|
+
return trimmed.length >= 2 && trimmed.startsWith('"') && trimmed.endsWith('"') ? trimmed.slice(1, -1) : trimmed;
|
|
67
|
+
}
|
|
68
|
+
/** A value as it is written after `=`: quoted only when it would not survive a round trip bare. */
|
|
69
|
+
export function quoteValue(value) {
|
|
70
|
+
return value !== value.trim() || (value.length >= 2 && value.startsWith('"') && value.endsWith('"')) ? `"${value}"` : value;
|
|
71
|
+
}
|
|
72
|
+
/** Split the text into key/value lines. Syntax problems and unknown keys become issues; values are not judged here. */
|
|
73
|
+
export function parseProperties(text) {
|
|
74
|
+
const values = new Map();
|
|
75
|
+
const issues = [];
|
|
76
|
+
const lines = text.split(/\r?\n/);
|
|
77
|
+
lines.forEach((raw, index) => {
|
|
78
|
+
const line = index + 1;
|
|
79
|
+
const trimmed = raw.trim();
|
|
80
|
+
if (trimmed === '' || trimmed.startsWith('#'))
|
|
81
|
+
return;
|
|
82
|
+
const eq = trimmed.indexOf('=');
|
|
83
|
+
if (eq <= 0) {
|
|
84
|
+
issues.push({ line, level: 'error', message: `line ${line}: expected "key = value" (a line that starts with # is a comment)` });
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const key = trimmed.slice(0, eq).trim();
|
|
88
|
+
const value = unquote(trimmed.slice(eq + 1));
|
|
89
|
+
if (!/^[A-Za-z][A-Za-z0-9]*$/.test(key)) {
|
|
90
|
+
issues.push({ line, key, level: 'error', message: `line ${line}: "${key.slice(0, 40)}" is not a setting name` });
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
if (!PROPERTY_KEYS.has(key)) {
|
|
94
|
+
const where = ELSEWHERE_KEYS[key];
|
|
95
|
+
issues.push({ line, key, level: 'warning', message: where ? `line ${line}: ${key} is not a default parameter; it is edited in ${where}, so this line is ignored` : `line ${line}: unknown setting "${key}" is ignored` });
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const previous = values.get(key);
|
|
99
|
+
if (previous)
|
|
100
|
+
issues.push({ line, key, level: 'warning', message: `line ${line}: ${key} is already set on line ${previous.line}; this later line is the one used` });
|
|
101
|
+
if (value === '') {
|
|
102
|
+
values.delete(key);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
values.set(key, { value, line });
|
|
106
|
+
});
|
|
107
|
+
return { values, issues };
|
|
108
|
+
}
|
|
109
|
+
/** Why one property value is refused (the same rules the server and the old form applied), or undefined. */
|
|
110
|
+
export function validateProperty(field, value) {
|
|
111
|
+
switch (field.kind) {
|
|
112
|
+
case 'boolean': return value === 'true' || value === 'false' ? undefined : `${field.key} must be true or false`;
|
|
113
|
+
case 'enum': return field.options.includes(value) ? undefined : `${field.key} must be one of: ${field.options.join(', ')}`;
|
|
114
|
+
case 'integer': {
|
|
115
|
+
const number = Number(value);
|
|
116
|
+
return Number.isInteger(number) && number >= field.range[0] && number <= field.range[1] ? undefined : `${field.key} must be a whole number from ${field.range[0]} to ${field.range[1]}`;
|
|
117
|
+
}
|
|
118
|
+
case 'strings': {
|
|
119
|
+
try {
|
|
120
|
+
const parsed = JSON.parse(value);
|
|
121
|
+
if (Array.isArray(parsed) && parsed.length > 0 && parsed.every(entry => typeof entry === 'string' && entry.length > 0))
|
|
122
|
+
return undefined;
|
|
123
|
+
}
|
|
124
|
+
catch { /* reported below */ }
|
|
125
|
+
return `${field.key} must be a JSON array of non-empty strings, for example ["--disable-gpu"]`;
|
|
126
|
+
}
|
|
127
|
+
case 'string': return fieldProblem(field.key, value);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Check a parsed text: each value against its rule, then the rules that involve several keys (a custom viewport needs
|
|
132
|
+
* both sizes). `effective` supplies the text in force for a key the text does not set, so a size that comes from the
|
|
133
|
+
* deployed configuration still counts.
|
|
134
|
+
*/
|
|
135
|
+
export function checkProperties(parsed, effective) {
|
|
136
|
+
const issues = [...parsed.issues];
|
|
137
|
+
for (const field of PROPERTY_FIELDS) {
|
|
138
|
+
const entry = parsed.values.get(field.key);
|
|
139
|
+
if (!entry)
|
|
140
|
+
continue;
|
|
141
|
+
const problem = validateProperty(field, entry.value);
|
|
142
|
+
if (problem)
|
|
143
|
+
issues.push({ line: entry.line, key: field.key, level: 'error', message: `line ${entry.line}: ${problem}` });
|
|
144
|
+
}
|
|
145
|
+
const texts = {};
|
|
146
|
+
for (const key of ['viewportMode', 'viewportWidth', 'viewportHeight'])
|
|
147
|
+
texts[key] = parsed.values.get(key)?.value ?? effective(key);
|
|
148
|
+
const cross = crossFieldProblems(texts);
|
|
149
|
+
for (const [key, message] of Object.entries(cross)) {
|
|
150
|
+
const line = parsed.values.get(key)?.line ?? parsed.values.get('viewportMode')?.line;
|
|
151
|
+
issues.push({ line: line ?? 0, key, level: 'error', message: `${line ? `line ${line}: ` : ''}${message}` });
|
|
152
|
+
}
|
|
153
|
+
return issues.sort((a, b) => a.line - b.line);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Print the editor text. Every key has a comment line in front of it (what it is for, its values, its default, the
|
|
157
|
+
* risk), then either `key = value` (overridden) or `# key = value-in-force`; groups are under a comment header. Comments
|
|
158
|
+
* are lines starting with `#`, which {@link parseProperties} ignores, so printing and parsing again keeps every key.
|
|
159
|
+
*/
|
|
160
|
+
export function serializeProperties(views, docs = propertyDocs('en')) {
|
|
161
|
+
const byKey = new Map(views.map(view => [view.key, view]));
|
|
162
|
+
const out = [...docs.header.map(line => `# ${line}`), ''];
|
|
163
|
+
for (const group of PROPERTY_GROUPS) {
|
|
164
|
+
out.push(`# -- ${docs.group[group.id] ?? group.title} --`);
|
|
165
|
+
for (const field of PROPERTY_FIELDS.filter(entry => entry.group === group.id)) {
|
|
166
|
+
const view = byKey.get(field.key);
|
|
167
|
+
const text = view?.text ?? field.defaultText ?? '';
|
|
168
|
+
const doc = docs.key[field.key];
|
|
169
|
+
if (doc)
|
|
170
|
+
out.push(`# ${doc}`);
|
|
171
|
+
out.push(view?.overridden ? `${field.key} = ${quoteValue(text)}` : `# ${field.key} =${text === '' ? '' : ' ' + text}`);
|
|
172
|
+
}
|
|
173
|
+
out.push('');
|
|
174
|
+
}
|
|
175
|
+
return out.join('\n').replace(/\n+$/, '\n');
|
|
176
|
+
}
|
|
177
|
+
/** `text` with the lines that set `key` turned into a comment showing `shown` (the deployed value or default). */
|
|
178
|
+
export function commentOutProperty(text, key, shown) {
|
|
179
|
+
return text.split('\n').map(raw => {
|
|
180
|
+
const trimmed = raw.trim();
|
|
181
|
+
if (trimmed === '' || trimmed.startsWith('#'))
|
|
182
|
+
return raw;
|
|
183
|
+
const eq = trimmed.indexOf('=');
|
|
184
|
+
return eq > 0 && trimmed.slice(0, eq).trim() === key ? `# ${key} =${shown === '' ? '' : ' ' + shown}` : raw;
|
|
185
|
+
}).join('\n');
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=properties-form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"properties-form.js","sourceRoot":"","sources":["../../src/client/properties-form.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The comments printed in front of every key of the default-parameters text (the "Advanced: text mode" view), in the
|
|
3
|
+
* language of the card: what the setting is for, its allowed values or range, its default, and the risk when there is
|
|
4
|
+
* one. Comment lines start with `#`, which the parser ignores, so they are never data and a round trip keeps every key.
|
|
5
|
+
* Pure, with no DOM: `properties-form.ts` prints with these, the tests read them.
|
|
6
|
+
* @module dsh-browser/client/property-docs
|
|
7
|
+
*/
|
|
8
|
+
export type DocLang = 'en' | 'zh';
|
|
9
|
+
export interface PropertyDocs {
|
|
10
|
+
/** Lines at the top of the text (each is printed after `# `). */
|
|
11
|
+
header: readonly string[];
|
|
12
|
+
/** The title of each group of keys. */
|
|
13
|
+
group: Readonly<Record<string, string>>;
|
|
14
|
+
/** One line per key: use, values or range, default, risk. */
|
|
15
|
+
key: Readonly<Record<string, string>>;
|
|
16
|
+
}
|
|
17
|
+
/** The docs of a language; anything but `zh` is English. */
|
|
18
|
+
export declare function propertyDocs(lang?: DocLang | string): PropertyDocs;
|