@anweat/dsh-browser 0.2.1 → 0.2.2
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 +267 -69
- 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 +26 -0
- 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 +42 -38
- package/scripts/dump-prompts.mjs +12 -2
package/lib/client/form.d.ts
CHANGED
|
@@ -11,8 +11,11 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import type { SnapshotStore } from '@deepseek-ai/dsh-client-store';
|
|
13
13
|
import type { SettingsFieldSpec, SettingsFormScope, SettingsFieldState, SettingsFormShell } from '@deepseek-ai/dsh-client-ui-primitives';
|
|
14
|
-
import { type
|
|
15
|
-
|
|
14
|
+
import { type LineIssue } from './properties-form.ts';
|
|
15
|
+
import { type PolicyFieldName } from './policy-fields.ts';
|
|
16
|
+
import { type AuthProfileEntry } from './auth-profiles-form.ts';
|
|
17
|
+
import { type PromptDefaults, type PromptExtraEntry, type PromptExtraKind, type PromptExtraValue, type PromptTextFieldId } from './prompts-form.ts';
|
|
18
|
+
export type SectionField = 'enabled' | 'automationMode' | 'toolSurface' | 'browserRuntime' | 'channel' | 'headless' | 'opencliEnabled' | 'autoInstall' | 'storageStatePath' | 'defaultAuthProfile' | 'executablePath' | 'snapshotDir' | 'verbose' | 'cdpPort' | 'maxSessions' | 'downloadDir' | 'downloadMaxBytes' | 'allowPrivateHosts' | 'viewportMode' | 'viewportWidth' | 'viewportHeight' | 'userAgent' | 'locale' | 'timezoneId' | 'proxyServer' | 'proxyBypass';
|
|
16
19
|
/** Retained name for callers that predate the section/JSON split. */
|
|
17
20
|
export type SettingField = SectionField;
|
|
18
21
|
/** One control's state, as the shared form model reports it. */
|
|
@@ -24,11 +27,37 @@ export interface BrowserCardState extends SettingsFormShell {
|
|
|
24
27
|
jsonFields: Record<string, CardFieldState>;
|
|
25
28
|
/** The "prompt text" section: views of the one staged `prompts` draft. */
|
|
26
29
|
prompts: PromptsCardState;
|
|
30
|
+
/** The "default parameters" editor: one properties text over the plugin-wide default fields. */
|
|
31
|
+
properties: PropertiesCardState;
|
|
32
|
+
/** The policy objects as one control per key: the text shown, whether it differs from the default, and why a typed text is refused. */
|
|
33
|
+
policies: Record<PolicyFieldName, Record<string, PolicyKeyState>>;
|
|
34
|
+
/** Problems that involve several fields (a custom viewport needs both sizes), by the field that is missing something. They block the save. */
|
|
35
|
+
problems: Record<string, string>;
|
|
36
|
+
/** The configuration fields a save would write (staged and different from what is stored), in field order. */
|
|
37
|
+
changes: string[];
|
|
38
|
+
}
|
|
39
|
+
export interface PolicyKeyState {
|
|
40
|
+
text: string;
|
|
41
|
+
overridden: boolean;
|
|
42
|
+
problem?: 'invalidNumber' | 'invalidChoice' | 'invalidRange';
|
|
43
|
+
}
|
|
44
|
+
export interface PropertiesCardState {
|
|
45
|
+
/** What the editor shows: what was typed (kept verbatim while it has problems), else the text printed from the fields. */
|
|
46
|
+
text: string;
|
|
47
|
+
/** Line-level problems of the text. Errors block the save. */
|
|
48
|
+
issues: LineIssue[];
|
|
49
|
+
/** The keys that carry an override right now, in display order. */
|
|
50
|
+
overridden: {
|
|
51
|
+
key: string;
|
|
52
|
+
value: string;
|
|
53
|
+
}[];
|
|
54
|
+
invalid: boolean;
|
|
27
55
|
}
|
|
28
56
|
export interface PromptsCardState {
|
|
29
57
|
texts: Record<PromptTextFieldId, {
|
|
30
58
|
text: string;
|
|
31
|
-
invalid: boolean;
|
|
59
|
+
invalid: boolean; /** The stored override is exactly the default text, so it changes nothing. */
|
|
60
|
+
sameAsDefault: boolean;
|
|
32
61
|
}>;
|
|
33
62
|
skillEnabled: boolean;
|
|
34
63
|
/** The JSON box for groups, actions and errorHints. */
|
|
@@ -36,6 +65,8 @@ export interface PromptsCardState {
|
|
|
36
65
|
text: string;
|
|
37
66
|
invalid: boolean;
|
|
38
67
|
};
|
|
68
|
+
/** The overridden group, action and error-hint entries of the staged draft, for the list. */
|
|
69
|
+
entries: PromptExtraEntry[];
|
|
39
70
|
/** Whether saving would leave a `prompts` entry in the user layer. */
|
|
40
71
|
overridden: boolean;
|
|
41
72
|
/** Whether the whole `prompts` draft is one the plugin would refuse to take. */
|
|
@@ -54,42 +85,112 @@ export declare const JSON_FIELD_SPECS: readonly SettingsFieldSpec[];
|
|
|
54
85
|
* hash-pinned scripts) that are safer to edit in the profile config file. The card names each one and says so, instead
|
|
55
86
|
* of leaving it out without a word. `rulePacks` is not `.volatile()` in the Host schema, so no form could write it.
|
|
56
87
|
*/
|
|
57
|
-
export declare const CONFIG_FILE_ONLY_FIELDS: readonly ["
|
|
88
|
+
export declare const CONFIG_FILE_ONLY_FIELDS: readonly ["rulePacks"];
|
|
58
89
|
/** Section fields rendered as JSON code editors rather than single inputs. */
|
|
59
90
|
export declare const JSON_FIELDS: ReadonlySet<string>;
|
|
60
91
|
/** Every field the card renders, in display order. */
|
|
61
92
|
export declare const ALL_FIELD_SPECS: readonly SettingsFieldSpec[];
|
|
62
93
|
export declare class BrowserSettingsController {
|
|
63
94
|
private readonly scope;
|
|
95
|
+
private readonly promptDefaults;
|
|
64
96
|
private readonly form;
|
|
65
97
|
private readonly store;
|
|
66
98
|
/** What the person typed in the groups/actions/errorHints box, kept verbatim while it is not valid JSON yet. */
|
|
67
99
|
private extrasRaw;
|
|
68
100
|
private extrasInvalid;
|
|
69
|
-
|
|
101
|
+
/** The properties text as typed; undefined shows the text printed from the staged fields. */
|
|
102
|
+
private propsRaw;
|
|
103
|
+
private propsIssues;
|
|
104
|
+
/** The language of the comments printed in the advanced text; the card sets it from its own language. */
|
|
105
|
+
private docsLang;
|
|
106
|
+
/** What was typed in each prompt control while it differs from what is staged (a text equal to the default stages nothing). */
|
|
107
|
+
private readonly promptRaw;
|
|
108
|
+
/** What was typed in a policy key's control while it is not a value the key accepts. */
|
|
109
|
+
private readonly policyRaw;
|
|
110
|
+
/** `promptDefaults` reads the plugin's own prompt texts once they are loaded; until then nothing is "equal to default". */
|
|
111
|
+
constructor(scope: SettingsFormScope<Record<string, unknown>>, promptDefaults?: () => PromptDefaults | undefined);
|
|
70
112
|
inject(): {
|
|
113
|
+
edit: (field: string, text: string) => void;
|
|
114
|
+
resetField: (field: string) => void;
|
|
71
115
|
save: () => Promise<void>;
|
|
72
116
|
discard: () => void;
|
|
117
|
+
editProperties: (text: string) => void;
|
|
118
|
+
setPropertyLanguage: (lang: string) => void;
|
|
119
|
+
resetProperty: (key: string) => void;
|
|
73
120
|
editPromptText: (id: PromptTextFieldId, text: string) => void;
|
|
74
121
|
setPromptSkillEnabled: (enabled: boolean) => void;
|
|
75
122
|
editPromptExtras: (text: string) => void;
|
|
123
|
+
editPolicyKey: (field: PolicyFieldName, key: string, text: string) => void;
|
|
124
|
+
saveAuthProfile: (id: string, entry: AuthProfileEntry) => void;
|
|
125
|
+
removeAuthProfile: (id: string) => void;
|
|
76
126
|
resetPromptExtras: () => void;
|
|
77
|
-
|
|
78
|
-
resetField: (field: string) => void;
|
|
127
|
+
setPromptExtra: (kind: PromptExtraKind, key: string, value: PromptExtraValue | undefined) => void;
|
|
79
128
|
hooks: {
|
|
80
129
|
browserSettings: SnapshotStore<BrowserCardState>;
|
|
81
130
|
};
|
|
82
131
|
};
|
|
132
|
+
/** Forget the advanced text as typed, so it is printed again from the fields (their edits are already staged). */
|
|
133
|
+
private dropTypedProperties;
|
|
134
|
+
/** Rules that span fields, read from the texts the fields hold now (the deployed sizes count when a control does not set them). */
|
|
135
|
+
private crossProblems;
|
|
136
|
+
/** The fields a save would write: the text differs from the stored one, or a reset leaves the stored override. */
|
|
137
|
+
private changedFields;
|
|
83
138
|
private save;
|
|
139
|
+
private spec;
|
|
140
|
+
/** The text of a field as the plugin has it now (stored, deployed, or default), ignoring anything staged. */
|
|
141
|
+
private storedText;
|
|
142
|
+
private isStored;
|
|
143
|
+
/** Print the text from the fields as they are (staged edits included). */
|
|
144
|
+
private printProperties;
|
|
145
|
+
/**
|
|
146
|
+
* Stage the fields to match a properties text: a key with a value is edited to it, a key without one (commented,
|
|
147
|
+
* deleted, blank) goes back to the default. The staged result is the same per-field `set` / `unset` the one-control
|
|
148
|
+
* form produced, so the saved configuration has the same flat keys and nothing else.
|
|
149
|
+
*/
|
|
150
|
+
editProperties(text: string): void;
|
|
151
|
+
/** Print the comments of the advanced text in this language (`zh`, anything else is English). Text the person typed is not touched. */
|
|
152
|
+
setPropertyLanguage(lang: string): void;
|
|
153
|
+
/** Comment out one key's line: that parameter goes back to the default. */
|
|
154
|
+
resetProperty(key: string): void;
|
|
155
|
+
private projectProperties;
|
|
84
156
|
/** The staged `prompts` value as an object (empty when none, or when its text is not JSON). */
|
|
85
157
|
private promptsDraft;
|
|
86
158
|
private stagePrompts;
|
|
87
159
|
private refresh;
|
|
160
|
+
private clearPromptRaw;
|
|
161
|
+
/**
|
|
162
|
+
* A prompt text: blank, or exactly the plugin's default text, is NO override. Saving the default as an override
|
|
163
|
+
* would freeze today's wording and hide every later improvement, so the box keeps what was typed (an author may
|
|
164
|
+
* have copied the default to edit it) while nothing is staged for it.
|
|
165
|
+
*/
|
|
88
166
|
editPromptText(id: PromptTextFieldId, text: string): void;
|
|
89
167
|
setPromptSkillEnabled(enabled: boolean): void;
|
|
90
168
|
editPromptExtras(text: string): void;
|
|
169
|
+
/**
|
|
170
|
+
* One entry of the groups / actions / errorHints lists, from the entry dialog. An entry equal to the plugin's own
|
|
171
|
+
* text is no override (see editPromptText), so it leaves the list instead of freezing today's wording.
|
|
172
|
+
*/
|
|
173
|
+
setPromptExtra(kind: PromptExtraKind, key: string, value: PromptExtraValue | undefined): void;
|
|
91
174
|
/** Back to the plugin's own text for groups, actions and error hints. */
|
|
92
175
|
resetPromptExtras(): void;
|
|
176
|
+
private clearPolicyRaw;
|
|
177
|
+
private policyHasRaw;
|
|
178
|
+
/** The staged policy object (empty when its text is not a JSON object yet). */
|
|
179
|
+
private policyDraft;
|
|
180
|
+
/** `value` without the keys that equal their default (and without anything the policy does not know), keys in the card's order. */
|
|
181
|
+
private minimalPolicy;
|
|
182
|
+
/**
|
|
183
|
+
* One key of a policy object, from its own control. A text the key does not accept is kept as typed (and blocks the
|
|
184
|
+
* save); an empty text, or the default itself, removes the key so the object holds only what differs.
|
|
185
|
+
*/
|
|
186
|
+
editPolicyKey(field: PolicyFieldName, key: string, text: string): void;
|
|
187
|
+
private projectPolicies;
|
|
188
|
+
/** Stage a whole `authProfiles` map; the stored map itself is staged back when they are equal, so the form is clean again. */
|
|
189
|
+
private stageProfiles;
|
|
190
|
+
/** Add or replace one profile. A profile's state-file path is kept as given: the card never rewrites a path it did not create. */
|
|
191
|
+
saveAuthProfile(id: string, entry: AuthProfileEntry): void;
|
|
192
|
+
/** Remove one profile from the baseline configuration. */
|
|
193
|
+
removeAuthProfile(id: string): void;
|
|
93
194
|
snapshot(): BrowserCardState;
|
|
94
195
|
dispose(): void;
|
|
95
196
|
private project;
|
package/lib/client/form.js
CHANGED
|
@@ -11,9 +11,22 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { SettingsFormModel, settingsNumberField, settingsTextField } from '@deepseek-ai/dsh-client-ui-primitives';
|
|
13
13
|
import { ASSET_POLICY_BOOLEAN_KEYS, ASSET_POLICY_ENUMS, ASSET_POLICY_INTEGER_RANGES, ASSET_POLICY_KEYS, ASSET_POLICY_STRING_KEYS, USAGE_POLICY_BOUNDS } from "../policy-keys.js";
|
|
14
|
-
import {
|
|
14
|
+
import { crossFieldProblems, fieldProblem } from "./field-rules.js";
|
|
15
|
+
import { PROPERTY_FIELDS, checkProperties, commentOutProperty, parseProperties, serializeProperties, } from "./properties-form.js";
|
|
16
|
+
import { propertyDocs } from "./property-docs.js";
|
|
17
|
+
import { POLICY_SPECS, defaultOf, parsePolicyText, valueText } from "./policy-fields.js";
|
|
18
|
+
import { parseProfiles, validAuthProfiles } from "./auth-profiles-form.js";
|
|
19
|
+
import { PROMPT_TEXT_FIELDS, extraEntries, withExtraEntry, canonicalPrompts, pruneDefaultExtras, extrasText, getAt, setAt, validExtras, validPrompts, withExtras } from "./prompts-form.js";
|
|
15
20
|
/** A free-text field that clears when emptied, so blanking the control resets it. */
|
|
16
21
|
const textField = (field) => settingsTextField(field);
|
|
22
|
+
/**
|
|
23
|
+
* A free-text field with a value rule (`field-rules.ts`, the rules the server applies): text the rule refuses is
|
|
24
|
+
* invalid, which blocks the save, instead of being written and dropped at the next start.
|
|
25
|
+
*/
|
|
26
|
+
const checkedTextField = (field) => {
|
|
27
|
+
const base = settingsTextField(field);
|
|
28
|
+
return { field, format: base.format, parse: text => text.trim() !== '' && fieldProblem(field, text) !== undefined ? undefined : base.parse(text) };
|
|
29
|
+
};
|
|
17
30
|
/**
|
|
18
31
|
* A boolean field. The card renders a checkbox, so the conversion is explicit
|
|
19
32
|
* rather than relying on the shared model's text round-trip.
|
|
@@ -130,6 +143,17 @@ export const FIELD_SPECS = [
|
|
|
130
143
|
textField('defaultAuthProfile'),
|
|
131
144
|
textField('executablePath'),
|
|
132
145
|
textField('snapshotDir'),
|
|
146
|
+
checkedTextField('downloadDir'),
|
|
147
|
+
booleanField('allowPrivateHosts'),
|
|
148
|
+
rangedNumberField('downloadMaxBytes', 1, 10 * 1024 * 1024 * 1024),
|
|
149
|
+
enumField('viewportMode', ['window', '720p', '1080p', 'custom']),
|
|
150
|
+
rangedNumberField('viewportWidth', 200, 7680),
|
|
151
|
+
rangedNumberField('viewportHeight', 200, 4320),
|
|
152
|
+
checkedTextField('userAgent'),
|
|
153
|
+
checkedTextField('locale'),
|
|
154
|
+
checkedTextField('timezoneId'),
|
|
155
|
+
checkedTextField('proxyServer'),
|
|
156
|
+
checkedTextField('proxyBypass'),
|
|
133
157
|
booleanField('verbose'),
|
|
134
158
|
];
|
|
135
159
|
/** The JSON-shaped section fields: objects (policies, prompts) and the launch-argument array. */
|
|
@@ -137,6 +161,7 @@ export const JSON_FIELD_SPECS = [
|
|
|
137
161
|
jsonField('usagePolicy', validUsagePolicy),
|
|
138
162
|
jsonField('automationAssets', validAssetPolicy),
|
|
139
163
|
jsonField('prompts', validPrompts),
|
|
164
|
+
jsonField('authProfiles', validAuthProfiles),
|
|
140
165
|
stringArrayField('args'),
|
|
141
166
|
];
|
|
142
167
|
/**
|
|
@@ -144,20 +169,32 @@ export const JSON_FIELD_SPECS = [
|
|
|
144
169
|
* hash-pinned scripts) that are safer to edit in the profile config file. The card names each one and says so, instead
|
|
145
170
|
* of leaving it out without a word. `rulePacks` is not `.volatile()` in the Host schema, so no form could write it.
|
|
146
171
|
*/
|
|
147
|
-
export const CONFIG_FILE_ONLY_FIELDS = ['
|
|
172
|
+
export const CONFIG_FILE_ONLY_FIELDS = ['rulePacks'];
|
|
148
173
|
/** Section fields rendered as JSON code editors rather than single inputs. */
|
|
149
174
|
export const JSON_FIELDS = new Set(JSON_FIELD_SPECS.map(spec => spec.field));
|
|
150
175
|
/** Every field the card renders, in display order. */
|
|
151
176
|
export const ALL_FIELD_SPECS = [...FIELD_SPECS, ...JSON_FIELD_SPECS];
|
|
152
177
|
export class BrowserSettingsController {
|
|
153
178
|
scope;
|
|
179
|
+
promptDefaults;
|
|
154
180
|
form;
|
|
155
181
|
store;
|
|
156
182
|
/** What the person typed in the groups/actions/errorHints box, kept verbatim while it is not valid JSON yet. */
|
|
157
183
|
extrasRaw;
|
|
158
184
|
extrasInvalid = false;
|
|
159
|
-
|
|
185
|
+
/** The properties text as typed; undefined shows the text printed from the staged fields. */
|
|
186
|
+
propsRaw;
|
|
187
|
+
propsIssues = [];
|
|
188
|
+
/** The language of the comments printed in the advanced text; the card sets it from its own language. */
|
|
189
|
+
docsLang = 'en';
|
|
190
|
+
/** What was typed in each prompt control while it differs from what is staged (a text equal to the default stages nothing). */
|
|
191
|
+
promptRaw = {};
|
|
192
|
+
/** What was typed in a policy key's control while it is not a value the key accepts. */
|
|
193
|
+
policyRaw = { usagePolicy: {}, automationAssets: {} };
|
|
194
|
+
/** `promptDefaults` reads the plugin's own prompt texts once they are loaded; until then nothing is "equal to default". */
|
|
195
|
+
constructor(scope, promptDefaults = () => undefined) {
|
|
160
196
|
this.scope = scope;
|
|
197
|
+
this.promptDefaults = promptDefaults;
|
|
161
198
|
this.form = new SettingsFormModel(scope, [...ALL_FIELD_SPECS]);
|
|
162
199
|
this.store = this.form.bind(() => this.project());
|
|
163
200
|
}
|
|
@@ -166,25 +203,109 @@ export class BrowserSettingsController {
|
|
|
166
203
|
return {
|
|
167
204
|
hooks: { browserSettings: this.store },
|
|
168
205
|
...actions,
|
|
206
|
+
// A control edit replaces whatever was typed in the advanced text: the text is a view of the fields, printed again.
|
|
207
|
+
edit: (field, text) => { this.dropTypedProperties(); if (field in this.policyRaw)
|
|
208
|
+
this.policyRaw[field] = {}; actions.edit(field, text); },
|
|
209
|
+
resetField: (field) => { this.dropTypedProperties(); actions.resetField(field); },
|
|
169
210
|
// A save is refused while the groups/actions/errorHints box holds something that is not valid.
|
|
170
211
|
save: () => this.save(),
|
|
171
|
-
discard: () => { this.extrasRaw = undefined; this.extrasInvalid = false; actions.discard(); },
|
|
212
|
+
discard: () => { this.clearPolicyRaw(); this.extrasRaw = undefined; this.extrasInvalid = false; this.propsRaw = undefined; this.propsIssues = []; this.clearPromptRaw(); actions.discard(); },
|
|
213
|
+
editProperties: (text) => this.editProperties(text),
|
|
214
|
+
setPropertyLanguage: (lang) => this.setPropertyLanguage(lang),
|
|
215
|
+
resetProperty: (key) => this.resetProperty(key),
|
|
172
216
|
editPromptText: (id, text) => this.editPromptText(id, text),
|
|
173
217
|
setPromptSkillEnabled: (enabled) => this.setPromptSkillEnabled(enabled),
|
|
174
218
|
editPromptExtras: (text) => this.editPromptExtras(text),
|
|
219
|
+
editPolicyKey: (field, key, text) => this.editPolicyKey(field, key, text),
|
|
220
|
+
saveAuthProfile: (id, entry) => this.saveAuthProfile(id, entry),
|
|
221
|
+
removeAuthProfile: (id) => this.removeAuthProfile(id),
|
|
175
222
|
resetPromptExtras: () => this.resetPromptExtras(),
|
|
223
|
+
setPromptExtra: (kind, key, value) => this.setPromptExtra(kind, key, value),
|
|
176
224
|
};
|
|
177
225
|
}
|
|
226
|
+
/** Forget the advanced text as typed, so it is printed again from the fields (their edits are already staged). */
|
|
227
|
+
dropTypedProperties() { this.propsRaw = undefined; this.propsIssues = []; }
|
|
228
|
+
/** Rules that span fields, read from the texts the fields hold now (the deployed sizes count when a control does not set them). */
|
|
229
|
+
crossProblems() {
|
|
230
|
+
const text = (key) => this.form.field(key).text;
|
|
231
|
+
return crossFieldProblems({ viewportMode: text('viewportMode'), viewportWidth: text('viewportWidth'), viewportHeight: text('viewportHeight') });
|
|
232
|
+
}
|
|
233
|
+
/** The fields a save would write: the text differs from the stored one, or a reset leaves the stored override. */
|
|
234
|
+
changedFields() {
|
|
235
|
+
const value = this.scope.getSnapshot().value;
|
|
236
|
+
return ALL_FIELD_SPECS.filter(spec => {
|
|
237
|
+
const state = this.form.field(spec.field);
|
|
238
|
+
return state.text !== spec.format(value?.[spec.field]) || (!state.overridden && this.isStored(spec.field));
|
|
239
|
+
}).map(spec => spec.field);
|
|
240
|
+
}
|
|
178
241
|
async save() {
|
|
179
|
-
if (this.extrasInvalid)
|
|
242
|
+
if (this.extrasInvalid || this.policyHasRaw() || this.propsIssues.some(issue => issue.level === 'error') || Object.keys(this.crossProblems()).length)
|
|
180
243
|
return;
|
|
181
244
|
await this.form.save();
|
|
182
245
|
// What was typed is now the stored value, so the box shows that again. (A failed save keeps the draft and its flag.)
|
|
183
|
-
if (!this.form.shell().failed && this.extrasRaw !== undefined) {
|
|
246
|
+
if (!this.form.shell().failed && (this.extrasRaw !== undefined || this.propsRaw !== undefined || Object.keys(this.promptRaw).length)) {
|
|
184
247
|
this.extrasRaw = undefined;
|
|
248
|
+
this.propsRaw = undefined;
|
|
249
|
+
this.propsIssues = [];
|
|
250
|
+
this.clearPromptRaw();
|
|
185
251
|
this.refresh();
|
|
186
252
|
}
|
|
187
253
|
}
|
|
254
|
+
// --- the default parameters editor: one text over the plugin-wide default fields ------------------------------
|
|
255
|
+
spec(key) { return ALL_FIELD_SPECS.find(spec => spec.field === key); }
|
|
256
|
+
/** The text of a field as the plugin has it now (stored, deployed, or default), ignoring anything staged. */
|
|
257
|
+
storedText(key) { return this.spec(key).format(this.scope.getSnapshot().value?.[key]); }
|
|
258
|
+
isStored(key) {
|
|
259
|
+
const user = this.scope.getSnapshot().user;
|
|
260
|
+
return user !== undefined && user !== null && Object.hasOwn(user, key);
|
|
261
|
+
}
|
|
262
|
+
/** Print the text from the fields as they are (staged edits included). */
|
|
263
|
+
printProperties() {
|
|
264
|
+
return serializeProperties(PROPERTY_FIELDS.map(field => {
|
|
265
|
+
const state = this.form.field(field.key);
|
|
266
|
+
return { key: field.key, text: state.text, overridden: state.overridden };
|
|
267
|
+
}), propertyDocs(this.docsLang));
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Stage the fields to match a properties text: a key with a value is edited to it, a key without one (commented,
|
|
271
|
+
* deleted, blank) goes back to the default. The staged result is the same per-field `set` / `unset` the one-control
|
|
272
|
+
* form produced, so the saved configuration has the same flat keys and nothing else.
|
|
273
|
+
*/
|
|
274
|
+
editProperties(text) {
|
|
275
|
+
this.propsRaw = text;
|
|
276
|
+
const parsed = parseProperties(text);
|
|
277
|
+
this.propsIssues = checkProperties(parsed, key => this.form.field(key).text);
|
|
278
|
+
const actions = this.form.actions();
|
|
279
|
+
for (const field of PROPERTY_FIELDS) {
|
|
280
|
+
const entry = parsed.values.get(field.key);
|
|
281
|
+
if (entry)
|
|
282
|
+
actions.edit(field.key, entry.value);
|
|
283
|
+
else if (this.isStored(field.key))
|
|
284
|
+
actions.resetField(field.key);
|
|
285
|
+
else
|
|
286
|
+
actions.edit(field.key, this.storedText(field.key));
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
/** Print the comments of the advanced text in this language (`zh`, anything else is English). Text the person typed is not touched. */
|
|
290
|
+
setPropertyLanguage(lang) {
|
|
291
|
+
const next = lang === 'zh' ? 'zh' : 'en';
|
|
292
|
+
if (next === this.docsLang)
|
|
293
|
+
return;
|
|
294
|
+
this.docsLang = next;
|
|
295
|
+
this.refresh();
|
|
296
|
+
}
|
|
297
|
+
/** Comment out one key's line: that parameter goes back to the default. */
|
|
298
|
+
resetProperty(key) {
|
|
299
|
+
const current = this.propsRaw ?? this.printProperties();
|
|
300
|
+
const base = this.scope.getSnapshot().base?.[key];
|
|
301
|
+
this.editProperties(commentOutProperty(current, key, this.spec(key).format(base) || (PROPERTY_FIELDS.find(field => field.key === key)?.defaultText ?? '')));
|
|
302
|
+
}
|
|
303
|
+
projectProperties() {
|
|
304
|
+
const text = this.propsRaw ?? this.printProperties();
|
|
305
|
+
const parsed = parseProperties(text);
|
|
306
|
+
const overridden = PROPERTY_FIELDS.filter(field => parsed.values.has(field.key)).map((field) => ({ key: field.key, value: parsed.values.get(field.key).value }));
|
|
307
|
+
return { text, issues: this.propsIssues, overridden, invalid: this.propsIssues.some(issue => issue.level === 'error') };
|
|
308
|
+
}
|
|
188
309
|
// --- the prompt text section: one staged `prompts` draft, several views of it ----------------------------------
|
|
189
310
|
/** The staged `prompts` value as an object (empty when none, or when its text is not JSON). */
|
|
190
311
|
promptsDraft() {
|
|
@@ -208,9 +329,22 @@ export class BrowserSettingsController {
|
|
|
208
329
|
this.form.actions().edit('prompts', text);
|
|
209
330
|
}
|
|
210
331
|
refresh() { this.form.actions().edit('prompts', this.form.field('prompts').text); }
|
|
332
|
+
clearPromptRaw() { for (const key of Object.keys(this.promptRaw))
|
|
333
|
+
delete this.promptRaw[key]; }
|
|
334
|
+
/**
|
|
335
|
+
* A prompt text: blank, or exactly the plugin's default text, is NO override. Saving the default as an override
|
|
336
|
+
* would freeze today's wording and hide every later improvement, so the box keeps what was typed (an author may
|
|
337
|
+
* have copied the default to edit it) while nothing is staged for it.
|
|
338
|
+
*/
|
|
211
339
|
editPromptText(id, text) {
|
|
212
340
|
const field = PROMPT_TEXT_FIELDS.find(entry => entry.id === id);
|
|
213
|
-
|
|
341
|
+
const base = this.promptDefaults()?.texts[id];
|
|
342
|
+
const none = text.trim() === '' || (base !== undefined && text === base);
|
|
343
|
+
if (text === '' || !none)
|
|
344
|
+
delete this.promptRaw[id];
|
|
345
|
+
else
|
|
346
|
+
this.promptRaw[id] = text;
|
|
347
|
+
this.stagePrompts(setAt(this.promptsDraft(), field.path, none ? undefined : text));
|
|
214
348
|
}
|
|
215
349
|
setPromptSkillEnabled(enabled) {
|
|
216
350
|
this.stagePrompts(setAt(this.promptsDraft(), ['skill', 'enabled'], enabled ? undefined : false));
|
|
@@ -225,7 +359,10 @@ export class BrowserSettingsController {
|
|
|
225
359
|
try {
|
|
226
360
|
const value = JSON.parse(text);
|
|
227
361
|
if (value && typeof value === 'object' && !Array.isArray(value) && validExtras(value)) {
|
|
228
|
-
|
|
362
|
+
// Entries equal to the plugin's own text are not overrides (see editPromptText).
|
|
363
|
+
const defaults = this.promptDefaults()?.extras;
|
|
364
|
+
const effective = defaults ? pruneDefaultExtras(value, defaults) : value;
|
|
365
|
+
this.stagePrompts(withExtras(this.promptsDraft(), effective));
|
|
229
366
|
return;
|
|
230
367
|
}
|
|
231
368
|
}
|
|
@@ -233,12 +370,114 @@ export class BrowserSettingsController {
|
|
|
233
370
|
this.extrasInvalid = true;
|
|
234
371
|
this.refresh();
|
|
235
372
|
}
|
|
373
|
+
/**
|
|
374
|
+
* One entry of the groups / actions / errorHints lists, from the entry dialog. An entry equal to the plugin's own
|
|
375
|
+
* text is no override (see editPromptText), so it leaves the list instead of freezing today's wording.
|
|
376
|
+
*/
|
|
377
|
+
setPromptExtra(kind, key, value) {
|
|
378
|
+
this.extrasRaw = undefined;
|
|
379
|
+
this.extrasInvalid = false;
|
|
380
|
+
const next = withExtraEntry(this.promptsDraft(), kind, key, value);
|
|
381
|
+
const defaults = this.promptDefaults()?.extras;
|
|
382
|
+
const extras = Object.fromEntries(['groups', 'actions', 'errorHints'].filter(name => next[name] !== undefined).map(name => [name, next[name]]));
|
|
383
|
+
const effective = defaults ? pruneDefaultExtras(extras, defaults) : extras;
|
|
384
|
+
this.stagePrompts(withExtras(next, effective));
|
|
385
|
+
}
|
|
236
386
|
/** Back to the plugin's own text for groups, actions and error hints. */
|
|
237
387
|
resetPromptExtras() {
|
|
238
388
|
this.extrasRaw = undefined;
|
|
239
389
|
this.extrasInvalid = false;
|
|
240
390
|
this.stagePrompts(withExtras(this.promptsDraft(), {}));
|
|
241
391
|
}
|
|
392
|
+
// --- the policy objects, one control per key ---------------------------------------------------------------------
|
|
393
|
+
clearPolicyRaw() { this.policyRaw.usagePolicy = {}; this.policyRaw.automationAssets = {}; }
|
|
394
|
+
policyHasRaw() { return Object.values(this.policyRaw).some(entries => Object.keys(entries).length > 0); }
|
|
395
|
+
/** The staged policy object (empty when its text is not a JSON object yet). */
|
|
396
|
+
policyDraft(field) {
|
|
397
|
+
const text = this.form.field(field).text;
|
|
398
|
+
if (text.trim() === '')
|
|
399
|
+
return {};
|
|
400
|
+
try {
|
|
401
|
+
const value = JSON.parse(text);
|
|
402
|
+
return value && typeof value === 'object' && !Array.isArray(value) ? value : {};
|
|
403
|
+
}
|
|
404
|
+
catch {
|
|
405
|
+
return {};
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
/** `value` without the keys that equal their default (and without anything the policy does not know), keys in the card's order. */
|
|
409
|
+
minimalPolicy(field, value) {
|
|
410
|
+
const out = {};
|
|
411
|
+
for (const spec of POLICY_SPECS[field]) {
|
|
412
|
+
const entry = value[spec.key];
|
|
413
|
+
if (entry !== undefined && entry !== defaultOf(field, spec.key))
|
|
414
|
+
out[spec.key] = entry;
|
|
415
|
+
}
|
|
416
|
+
return out;
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* One key of a policy object, from its own control. A text the key does not accept is kept as typed (and blocks the
|
|
420
|
+
* save); an empty text, or the default itself, removes the key so the object holds only what differs.
|
|
421
|
+
*/
|
|
422
|
+
editPolicyKey(field, key, text) {
|
|
423
|
+
const spec = POLICY_SPECS[field].find(entry => entry.key === key);
|
|
424
|
+
if (!spec)
|
|
425
|
+
return;
|
|
426
|
+
const parsed = parsePolicyText(field, spec, text);
|
|
427
|
+
if (!parsed.ok) {
|
|
428
|
+
this.policyRaw[field][key] = text;
|
|
429
|
+
this.form.actions().edit(field, this.form.field(field).text);
|
|
430
|
+
return;
|
|
431
|
+
}
|
|
432
|
+
delete this.policyRaw[field][key];
|
|
433
|
+
const next = { ...this.policyDraft(field) };
|
|
434
|
+
if (parsed.value === undefined)
|
|
435
|
+
delete next[key];
|
|
436
|
+
else
|
|
437
|
+
next[key] = parsed.value;
|
|
438
|
+
const minimal = this.minimalPolicy(field, next);
|
|
439
|
+
const spec2 = ALL_FIELD_SPECS.find(entry => entry.field === field);
|
|
440
|
+
const stored = this.scope.getSnapshot().value?.[field];
|
|
441
|
+
const same = JSON.stringify(this.minimalPolicy(field, stored && typeof stored === 'object' ? stored : {})) === JSON.stringify(minimal);
|
|
442
|
+
this.form.actions().edit(field, same ? spec2.format(stored) : JSON.stringify(minimal, null, 2));
|
|
443
|
+
}
|
|
444
|
+
projectPolicies() {
|
|
445
|
+
const out = { usagePolicy: {}, automationAssets: {} };
|
|
446
|
+
for (const field of Object.keys(POLICY_SPECS)) {
|
|
447
|
+
const draft = this.policyDraft(field);
|
|
448
|
+
for (const spec of POLICY_SPECS[field]) {
|
|
449
|
+
const raw = this.policyRaw[field][spec.key];
|
|
450
|
+
const value = draft[spec.key] ?? defaultOf(field, spec.key);
|
|
451
|
+
const parsed = raw === undefined ? undefined : parsePolicyText(field, spec, raw);
|
|
452
|
+
out[field][spec.key] = {
|
|
453
|
+
text: raw ?? valueText(value),
|
|
454
|
+
overridden: draft[spec.key] !== undefined && draft[spec.key] !== defaultOf(field, spec.key),
|
|
455
|
+
...parsed && !parsed.ok ? { problem: parsed.problem } : {},
|
|
456
|
+
};
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
return out;
|
|
460
|
+
}
|
|
461
|
+
// --- login profiles: the list's dialog stages one edit of the `authProfiles` map ------------------------------
|
|
462
|
+
/** Stage a whole `authProfiles` map; the stored map itself is staged back when they are equal, so the form is clean again. */
|
|
463
|
+
stageProfiles(next) {
|
|
464
|
+
const spec = ALL_FIELD_SPECS.find(entry => entry.field === 'authProfiles');
|
|
465
|
+
const stored = this.scope.getSnapshot().value?.authProfiles;
|
|
466
|
+
const canonical = (map) => JSON.stringify(Object.keys(map).sort().map(id => [id, map[id].storageStatePath, [...map[id].allowedDomains], map[id].persistState]));
|
|
467
|
+
const same = canonical(next) === canonical(parseProfiles(spec.format(stored)));
|
|
468
|
+
this.form.actions().edit('authProfiles', same ? spec.format(stored) : JSON.stringify(next, null, 2));
|
|
469
|
+
}
|
|
470
|
+
/** Add or replace one profile. A profile's state-file path is kept as given: the card never rewrites a path it did not create. */
|
|
471
|
+
saveAuthProfile(id, entry) {
|
|
472
|
+
const current = parseProfiles(this.form.field('authProfiles').text);
|
|
473
|
+
this.stageProfiles({ ...current, [id]: { storageStatePath: entry.storageStatePath, allowedDomains: [...entry.allowedDomains], persistState: entry.persistState } });
|
|
474
|
+
}
|
|
475
|
+
/** Remove one profile from the baseline configuration. */
|
|
476
|
+
removeAuthProfile(id) {
|
|
477
|
+
const current = parseProfiles(this.form.field('authProfiles').text);
|
|
478
|
+
delete current[id];
|
|
479
|
+
this.stageProfiles(current);
|
|
480
|
+
}
|
|
242
481
|
snapshot() { return this.store.getSnapshot(); }
|
|
243
482
|
dispose() { this.form.dispose(); }
|
|
244
483
|
project() {
|
|
@@ -249,20 +488,25 @@ export class BrowserSettingsController {
|
|
|
249
488
|
for (const spec of JSON_FIELD_SPECS)
|
|
250
489
|
jsonFields[spec.field] = this.form.field(spec.field);
|
|
251
490
|
const shell = this.form.shell();
|
|
252
|
-
|
|
491
|
+
const properties = this.projectProperties();
|
|
492
|
+
const problems = this.crossProblems();
|
|
493
|
+
return { ...shell, invalid: shell.invalid || this.extrasInvalid || this.policyHasRaw() || properties.invalid || Object.keys(problems).length > 0, problems, policies: this.projectPolicies(), fields, jsonFields, prompts: this.projectPrompts(jsonFields.prompts), properties, changes: this.changedFields() };
|
|
253
494
|
}
|
|
254
495
|
projectPrompts(field) {
|
|
255
496
|
const draft = this.promptsDraft();
|
|
256
497
|
const texts = {};
|
|
257
498
|
for (const entry of PROMPT_TEXT_FIELDS) {
|
|
258
499
|
const value = getAt(draft, entry.path);
|
|
259
|
-
const
|
|
260
|
-
|
|
500
|
+
const stored = typeof value === 'string' ? value : '';
|
|
501
|
+
const text = this.promptRaw[entry.id] ?? stored;
|
|
502
|
+
const base = this.promptDefaults()?.texts[entry.id];
|
|
503
|
+
texts[entry.id] = { text, invalid: text.length > entry.limit, sameAsDefault: stored !== '' && stored === base };
|
|
261
504
|
}
|
|
262
505
|
return {
|
|
263
506
|
texts,
|
|
264
507
|
skillEnabled: getAt(draft, ['skill', 'enabled']) !== false,
|
|
265
508
|
extras: { text: this.extrasRaw ?? extrasText(draft), invalid: this.extrasInvalid },
|
|
509
|
+
entries: extraEntries(draft),
|
|
266
510
|
overridden: field.overridden,
|
|
267
511
|
invalid: field.invalid,
|
|
268
512
|
};
|
package/lib/client/form.js.map
CHANGED
|
@@ -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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"}
|