@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsCard.js","sourceRoot":"","sources":["../../src/client/SettingsCard.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SettingsCard.js","sourceRoot":"","sources":["../../src/client/SettingsCard.tsx"],"names":[],"mappings":";AAkBA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAkB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAoB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAsB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAoB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAqB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAoB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAqB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAuB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAoB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAqB,CAAA;AAElD,MAAM,UAAU,YAAY,CAAC,KAA+B;IAC1D,8EAA8E;IAC9E,4EAA4E;IAC5E,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,4BAAG,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,GAAI,CAAA;IAClE,OAAO,MAAC,KAAK,IAAC,IAAI,EAAE,KAAK,aACvB,KAAC,UAAU,IAAC,IAAI,EAAE,KAAK,GAAI,EAC3B,KAAC,WAAW,IAAC,IAAI,EAAE,KAAK,GAAI,EAC5B,KAAC,YAAY,IAAC,IAAI,EAAE,KAAK,GAAI,EAC7B,KAAC,YAAY,IAAC,IAAI,EAAE,KAAK,GAAI,EAC7B,KAAC,cAAc,IAAC,IAAI,EAAE,KAAK,GAAI,EAC/B,KAAC,WAAW,IAAC,IAAI,EAAE,KAAK,GAAI,EAC5B,KAAC,WAAW,IAAC,IAAI,EAAE,KAAK,GAAI,EAC5B,KAAC,YAAY,IAAC,IAAI,EAAE,KAAK,GAAI,EAC7B,KAAC,WAAW,IAAC,IAAI,EAAE,KAAK,GAAI,EAC5B,KAAC,aAAa,IAAC,IAAI,EAAE,KAAK,GAAI,EAC9B,KAAC,OAAO,IAAC,IAAI,EAAE,KAAK,GAAI,IAClB,CAAA;AACV,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure helpers of the login-profile list and its dialog: reading the staged `authProfiles` JSON, the rules for a new
|
|
3
|
+
* profile's name and for a domain, and the path a new profile gets. Nothing here touches the Host or the DOM.
|
|
4
|
+
* @module dsh-browser/client/auth-profiles-form
|
|
5
|
+
*/
|
|
6
|
+
/** One login profile as the configuration holds it. */
|
|
7
|
+
export interface AuthProfileEntry {
|
|
8
|
+
storageStatePath: string;
|
|
9
|
+
allowedDomains: string[];
|
|
10
|
+
persistState: boolean;
|
|
11
|
+
}
|
|
12
|
+
/** The profiles in a staged `authProfiles` text; entries that are not profiles are left out, and unparsable text is no profiles. */
|
|
13
|
+
export declare function parseProfiles(text: string): Record<string, AuthProfileEntry>;
|
|
14
|
+
/** Whether a value is a map of well-formed profiles: what a save may write for `authProfiles`. */
|
|
15
|
+
export declare function validAuthProfiles(value: Record<string, unknown>): boolean;
|
|
16
|
+
/** Why a name is refused for a NEW profile: not a usable name, or taken. */
|
|
17
|
+
export declare function idProblem(id: string, existing: readonly string[]): 'authIdInvalid' | 'authIdExists' | undefined;
|
|
18
|
+
/** Why a domain entry is refused: a host name only, optionally with a leading `*.`; no scheme, path, port or whitespace. */
|
|
19
|
+
export declare function domainProblem(domain: string): 'authDomainInvalid' | undefined;
|
|
20
|
+
/** Whether a name is one the policy overlay refuses for agents unless private hosts are allowed (a note for the person; their own config may list it). */
|
|
21
|
+
export declare function isPrivateName(domain: string): boolean;
|
|
22
|
+
/** The state-file path a new profile gets: `<login-state directory>/<name>.json`, with the directory's own separator. */
|
|
23
|
+
export declare function profilePathFor(authDir: string, id: string): string;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure helpers of the login-profile list and its dialog: reading the staged `authProfiles` JSON, the rules for a new
|
|
3
|
+
* profile's name and for a domain, and the path a new profile gets. Nothing here touches the Host or the DOM.
|
|
4
|
+
* @module dsh-browser/client/auth-profiles-form
|
|
5
|
+
*/
|
|
6
|
+
import { AUTH_PROFILE_ID } from "../policy-keys.js";
|
|
7
|
+
const isRecord = (value) => value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
8
|
+
/** The profiles in a staged `authProfiles` text; entries that are not profiles are left out, and unparsable text is no profiles. */
|
|
9
|
+
export function parseProfiles(text) {
|
|
10
|
+
if (text.trim() === '')
|
|
11
|
+
return {};
|
|
12
|
+
let root;
|
|
13
|
+
try {
|
|
14
|
+
root = JSON.parse(text);
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return {};
|
|
18
|
+
}
|
|
19
|
+
if (!isRecord(root))
|
|
20
|
+
return {};
|
|
21
|
+
const out = {};
|
|
22
|
+
for (const [id, entry] of Object.entries(root)) {
|
|
23
|
+
if (!isRecord(entry))
|
|
24
|
+
continue;
|
|
25
|
+
out[id] = {
|
|
26
|
+
storageStatePath: typeof entry.storageStatePath === 'string' ? entry.storageStatePath : '',
|
|
27
|
+
allowedDomains: Array.isArray(entry.allowedDomains) ? entry.allowedDomains.filter((domain) => typeof domain === 'string') : [],
|
|
28
|
+
persistState: entry.persistState === true,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return out;
|
|
32
|
+
}
|
|
33
|
+
/** Whether a value is a map of well-formed profiles: what a save may write for `authProfiles`. */
|
|
34
|
+
export function validAuthProfiles(value) {
|
|
35
|
+
return Object.entries(value).every(([id, entry]) => id !== '' && isRecord(entry)
|
|
36
|
+
&& typeof entry.storageStatePath === 'string' && entry.storageStatePath.trim() !== ''
|
|
37
|
+
&& (entry.allowedDomains === undefined || (Array.isArray(entry.allowedDomains) && entry.allowedDomains.every(domain => typeof domain === 'string' && domain.trim() !== '')))
|
|
38
|
+
&& (entry.persistState === undefined || typeof entry.persistState === 'boolean'));
|
|
39
|
+
}
|
|
40
|
+
/** Why a name is refused for a NEW profile: not a usable name, or taken. */
|
|
41
|
+
export function idProblem(id, existing) {
|
|
42
|
+
if (!AUTH_PROFILE_ID.test(id) || id in Object.prototype)
|
|
43
|
+
return 'authIdInvalid';
|
|
44
|
+
return existing.includes(id) ? 'authIdExists' : undefined;
|
|
45
|
+
}
|
|
46
|
+
/** Why a domain entry is refused: a host name only, optionally with a leading `*.`; no scheme, path, port or whitespace. */
|
|
47
|
+
export function domainProblem(domain) {
|
|
48
|
+
const text = domain.trim();
|
|
49
|
+
if (text === '' || text.length > 253 || /[\s/\\:@?#]/.test(text))
|
|
50
|
+
return 'authDomainInvalid';
|
|
51
|
+
const host = text.replace(/^\*\./, '');
|
|
52
|
+
return /^[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?)*$/.test(host) ? undefined : 'authDomainInvalid';
|
|
53
|
+
}
|
|
54
|
+
/** Whether a name is one the policy overlay refuses for agents unless private hosts are allowed (a note for the person; their own config may list it). */
|
|
55
|
+
export function isPrivateName(domain) {
|
|
56
|
+
const host = domain.trim().toLowerCase().replace(/^\*\./, '');
|
|
57
|
+
return host === 'localhost' || /(^|\.)(local|internal|lan|home\.arpa|intranet|corp|localdomain|private|home|localhost)$/.test(host) || /^(\d{1,3}\.){3}\d{1,3}$/.test(host);
|
|
58
|
+
}
|
|
59
|
+
/** The state-file path a new profile gets: `<login-state directory>/<name>.json`, with the directory's own separator. */
|
|
60
|
+
export function profilePathFor(authDir, id) {
|
|
61
|
+
const separator = authDir.includes('\\') && !authDir.includes('/') ? '\\' : '/';
|
|
62
|
+
return `${authDir.replace(/[\\/]+$/, '')}${separator}${id}.json`;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=auth-profiles-form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-profiles-form.js","sourceRoot":"","sources":["../../src/client/auth-profiles-form.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The frame around the groups: the status summary on top (with the warnings dialog) and the save bar at the bottom.
|
|
3
|
+
*
|
|
4
|
+
* The Host's `SettingsForm` offers one save button below the controls. This card needs the bar to stay in view while a
|
|
5
|
+
* long page scrolls, to say how many edits are waiting, and to offer "Discard", so the frame is built here; the
|
|
6
|
+
* behaviors `SettingsForm` has are kept: it says so when the settings are not served or read-only, and it drops the
|
|
7
|
+
* staged edits when the page is left.
|
|
8
|
+
* @module dsh-browser/client/card-frame
|
|
9
|
+
*/
|
|
10
|
+
import { type ReactNode } from 'react';
|
|
11
|
+
import { type Card } from './field-rows.tsx';
|
|
12
|
+
export declare function SummaryBar({ card }: {
|
|
13
|
+
card: Card;
|
|
14
|
+
}): import("react").JSX.Element;
|
|
15
|
+
export declare function SaveBar({ card }: {
|
|
16
|
+
card: Card;
|
|
17
|
+
}): import("react").JSX.Element;
|
|
18
|
+
/** The page frame: nothing but a notice while the settings are not served; the staged edits are dropped when the page is left. */
|
|
19
|
+
export declare function Frame({ card, children }: {
|
|
20
|
+
card: Card;
|
|
21
|
+
children: ReactNode;
|
|
22
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* The frame around the groups: the status summary on top (with the warnings dialog) and the save bar at the bottom.
|
|
4
|
+
*
|
|
5
|
+
* The Host's `SettingsForm` offers one save button below the controls. This card needs the bar to stay in view while a
|
|
6
|
+
* long page scrolls, to say how many edits are waiting, and to offer "Discard", so the frame is built here; the
|
|
7
|
+
* behaviors `SettingsForm` has are kept: it says so when the settings are not served or read-only, and it drops the
|
|
8
|
+
* staged edits when the page is left.
|
|
9
|
+
* @module dsh-browser/client/card-frame
|
|
10
|
+
*/
|
|
11
|
+
import { useEffect, useRef, useState } from 'react';
|
|
12
|
+
import { fill } from "./field-rows.js";
|
|
13
|
+
import { styles as css } from "./styles.js";
|
|
14
|
+
import { Badge, Btn, Dialog } from "./ui-kit.js";
|
|
15
|
+
const MODE_TONE = { 'read-only': 'success', standard: 'info', autonomous: 'warning', unrestricted: 'danger' };
|
|
16
|
+
/** Everything the "needs attention" badge counts: the warnings the running plugin reported about the configuration, and the overlay warning. */
|
|
17
|
+
function useWarnings(card) {
|
|
18
|
+
const report = card.usePolicyStatus(snapshot => snapshot.report);
|
|
19
|
+
return { config: report?.configWarnings ?? [], overlay: report?.warning, overlayActive: report?.overlayActive ?? false, revision: report?.revision };
|
|
20
|
+
}
|
|
21
|
+
export function SummaryBar({ card }) {
|
|
22
|
+
const { t } = card;
|
|
23
|
+
const [open, setOpen] = useState(false);
|
|
24
|
+
const view = card.useBrowserSettings(snapshot => ({
|
|
25
|
+
enabled: snapshot.fields.enabled.text !== 'false', mode: snapshot.fields.automationMode.text || 'standard',
|
|
26
|
+
surface: snapshot.fields.toolSurface.text || 'indexed', opencli: snapshot.fields.opencliEnabled.text !== 'false',
|
|
27
|
+
}));
|
|
28
|
+
const warnings = useWarnings(card);
|
|
29
|
+
const runtime = card.usePolicyStatus(snapshot => snapshot.runtime);
|
|
30
|
+
const noBrowser = runtime !== undefined && !runtime.browser.ready;
|
|
31
|
+
const opencliMissing = view.opencli && runtime !== undefined && !runtime.opencli.installed;
|
|
32
|
+
// Only "nothing can launch" counts as a warning; a system Chrome standing in, or the optional OpenCLI being absent, are notices.
|
|
33
|
+
const count = warnings.config.length + (warnings.overlay ? 1 : 0) + (noBrowser ? 1 : 0);
|
|
34
|
+
const notices = [
|
|
35
|
+
...runtime && runtime.browser.ready && runtime.browser.note ? [runtime.browser.note] : [],
|
|
36
|
+
...opencliMissing && runtime?.opencli.hint ? [runtime.opencli.hint] : [],
|
|
37
|
+
];
|
|
38
|
+
return _jsxs("div", { className: css.summaryBar, role: "group", "aria-label": t('summaryTitle'), "data-dsb-summary": true, children: [_jsx("strong", { children: t('summaryTitle') }), _jsx(Badge, { tone: view.enabled ? 'success' : 'neutral', children: view.enabled ? t('summaryEnabledOn') : t('summaryEnabledOff') }), _jsxs(Badge, { tone: MODE_TONE[view.mode] ?? 'neutral', children: [t('summaryMode'), " ", view.mode] }), _jsxs(Badge, { tone: "neutral", children: [t('summarySurface'), " ", view.surface] }), _jsx(Badge, { tone: "neutral", children: !view.opencli ? t('summaryOpencliOff') : opencliMissing ? t('summaryOpencliMissing') : t('summaryOpencliOn') }), noBrowser ? _jsx(Badge, { tone: "warning", children: t('summaryNoBrowser') }) : runtime?.browser.source === 'system-browser' ? _jsx(Badge, { tone: "neutral", children: t('summaryBrowserSystem') }) : null, warnings.overlayActive ? _jsx(Badge, { tone: "warning", children: t('summaryOverlay') }) : null, _jsxs("button", { type: "button", className: css.link, onClick: () => setOpen(true), "data-dsb-warnings-count": count, children: [count ? _jsx(Badge, { tone: "warning", children: fill(t('summaryWarnings'), { n: count }) }) : _jsx("span", { className: css.muted, children: t('summaryNoWarnings') }), " \u00B7 ", t('summaryDetails')] }), _jsxs(Dialog, { open: open, title: t('warningsTitle'), closeLabel: t('close'), onClose: () => setOpen(false), footer: _jsx(Btn, { onClick: () => setOpen(false), primary: true, children: t('close') }), children: [count === 0 ? _jsx("p", { className: css.rowHint, children: t('warningsNone') }) : null, noBrowser ? _jsxs("div", { className: css.stack, "data-dsb-runtime-warning": true, children: [_jsx("strong", { children: t('warningsNoBrowser') }), _jsx("p", { className: `${css.rowHint} dsb-bad`, role: "alert", children: runtime?.browser.installAdvice })] }) : null, warnings.config.length ? _jsxs("div", { className: css.stack, "data-dsb-config-warnings": true, children: [_jsx("strong", { children: t('warningsConfig') }), _jsx("ul", { children: warnings.config.map((warning, index) => _jsx("li", { children: warning }, index)) })] }) : null, notices.length ? _jsxs("div", { className: css.stack, "data-dsb-runtime-notices": true, children: [_jsx("strong", { children: t('noticesRuntime') }), _jsx("ul", { children: notices.map((notice, index) => _jsx("li", { children: notice }, index)) })] }) : null, warnings.overlay ? _jsxs("div", { className: css.stack, "data-dsb-policy-warning": true, children: [_jsx("strong", { children: t('warningsOverlay') }), _jsx("p", { className: `${css.rowHint} dsb-bad`, role: "alert", children: warnings.overlay })] }) : null] })] });
|
|
39
|
+
}
|
|
40
|
+
export function SaveBar({ card }) {
|
|
41
|
+
const { t } = card;
|
|
42
|
+
const state = card.useBrowserSettings(snapshot => snapshot);
|
|
43
|
+
const count = state.changes.length;
|
|
44
|
+
const blocked = !state.dirty || state.invalid || state.saving;
|
|
45
|
+
// The bar floats at the bottom of the window only while there is something to act on (unsaved edits, a save running or failed).
|
|
46
|
+
// Otherwise it sits in the page flow after the last group, so it cannot cover a group heading the user is about to click.
|
|
47
|
+
const floating = state.dirty || state.saving || state.failed;
|
|
48
|
+
return _jsxs("div", { className: css.savebar, role: "region", "aria-label": t('save'), "data-dsb-savebar": true, "data-dsb-floating": floating ? '' : undefined, children: [_jsxs("div", { className: css.saveText, children: [_jsx("span", { "data-dsb-unsaved": count, children: state.invalid ? t('savebarInvalid') : count ? fill(t('savebarDirty'), { n: count }) : t('savebarClean') }), state.failed ? _jsx("span", { className: "dsb-bad", role: "status", children: t('saveFailed') }) : null] }), _jsxs("div", { className: css.actions, children: [_jsx(Btn, { onClick: card.discard, disabled: !state.dirty || state.saving, data: "discard", children: t('discardChanges') }), _jsx(Btn, { primary: true, onClick: card.save, disabled: blocked, data: "save", children: state.saving ? t('saving') : t('save') })] })] });
|
|
49
|
+
}
|
|
50
|
+
/** The page frame: nothing but a notice while the settings are not served; the staged edits are dropped when the page is left. */
|
|
51
|
+
export function Frame({ card, children }) {
|
|
52
|
+
const { t } = card;
|
|
53
|
+
const state = card.useBrowserSettings(snapshot => ({ available: snapshot.available, writable: snapshot.writable }));
|
|
54
|
+
const discard = useRef(card.discard);
|
|
55
|
+
discard.current = card.discard;
|
|
56
|
+
useEffect(() => () => { discard.current(); }, []);
|
|
57
|
+
if (!state.available)
|
|
58
|
+
return _jsx("p", { className: css.notice, role: "status", children: t('unavailable') });
|
|
59
|
+
return _jsxs("div", { className: css.root, "data-dsb-root": true, children: [!state.writable ? _jsx("p", { className: css.notice, role: "status", children: t('readOnly') }) : null, children] });
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=card-frame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card-frame.js","sourceRoot":"","sources":["../../src/client/card-frame.tsx"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAA;AACnE,OAAO,EAAE,IAAI,EAAa,MAAM,iBAAkB,CAAA;AAClD,OAAO,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAa,MAAM,aAAc,CAAA;AAE5D,MAAM,SAAS,GAAyB,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAA;AAEnI,gJAAgJ;AAChJ,SAAS,WAAW,CAAC,IAAU;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAChE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,IAAI,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;AACtJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,EAAkB;IACjD,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,CAAA;IAClB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAChD,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,IAAI,UAAU;QAC1G,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,KAAK,OAAO;KACjH,CAAC,CAAC,CAAA;IACH,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAClE,MAAM,SAAS,GAAG,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAA;IACjE,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAA;IAC1F,iIAAiI;IACjI,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvF,MAAM,OAAO,GAAG;QACd,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;QACzF,GAAG,cAAc,IAAI,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;KACzE,CAAA;IACD,OAAO,eAAK,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAC,OAAO,gBAAa,CAAC,CAAC,cAAc,CAAC,uCAC/E,2BAAS,CAAC,CAAC,cAAc,CAAC,GAAU,EACpC,KAAC,KAAK,IAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,YAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAS,EAC1H,MAAC,KAAK,IAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,aAAG,CAAC,CAAC,aAAa,CAAC,OAAG,IAAI,CAAC,IAAI,IAAS,EACtF,MAAC,KAAK,IAAC,IAAI,EAAC,SAAS,aAAE,CAAC,CAAC,gBAAgB,CAAC,OAAG,IAAI,CAAC,OAAO,IAAS,EAClE,KAAC,KAAK,IAAC,IAAI,EAAC,SAAS,YAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAS,EAC3I,SAAS,CAAC,CAAC,CAAC,KAAC,KAAK,IAAC,IAAI,EAAC,SAAS,YAAE,CAAC,CAAC,kBAAkB,CAAC,GAAS,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,KAAC,KAAK,IAAC,IAAI,EAAC,SAAS,YAAE,CAAC,CAAC,sBAAsB,CAAC,GAAS,CAAC,CAAC,CAAC,IAAI,EACnL,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,KAAC,KAAK,IAAC,IAAI,EAAC,SAAS,YAAE,CAAC,CAAC,gBAAgB,CAAC,GAAS,CAAC,CAAC,CAAC,IAAI,EACpF,kBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA2B,KAAK,aACpG,KAAK,CAAC,CAAC,CAAC,KAAC,KAAK,IAAC,IAAI,EAAC,SAAS,YAAE,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAS,CAAC,CAAC,CAAC,eAAM,SAAS,EAAE,GAAG,CAAC,KAAK,YAAG,CAAC,CAAC,mBAAmB,CAAC,GAAQ,cAAK,CAAC,CAAC,gBAAgB,CAAC,IAChK,EACT,MAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAC,GAAG,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,kBAAE,CAAC,CAAC,OAAO,CAAC,GAAO,aACzK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,YAAG,SAAS,EAAE,GAAG,CAAC,OAAO,YAAG,CAAC,CAAC,cAAc,CAAC,GAAK,CAAC,CAAC,CAAC,IAAI,EACvE,SAAS,CAAC,CAAC,CAAC,eAAK,SAAS,EAAE,GAAG,CAAC,KAAK,+CACpC,2BAAS,CAAC,CAAC,mBAAmB,CAAC,GAAU,EACzC,YAAG,SAAS,EAAE,GAAG,GAAG,CAAC,OAAO,UAAU,EAAE,IAAI,EAAC,OAAO,YAAE,OAAO,EAAE,OAAO,CAAC,aAAa,GAAK,IACrF,CAAC,CAAC,CAAC,IAAI,EACZ,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,eAAK,SAAS,EAAE,GAAG,CAAC,KAAK,+CACjD,2BAAS,CAAC,CAAC,gBAAgB,CAAC,GAAU,EACtC,uBAAK,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,uBAAiB,OAAO,IAAf,KAAK,CAAgB,CAAC,GAAM,IAC9E,CAAC,CAAC,CAAC,IAAI,EACZ,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,eAAK,SAAS,EAAE,GAAG,CAAC,KAAK,+CACzC,2BAAS,CAAC,CAAC,gBAAgB,CAAC,GAAU,EACtC,uBAAK,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,uBAAiB,MAAM,IAAd,KAAK,CAAe,CAAC,GAAM,IACpE,CAAC,CAAC,CAAC,IAAI,EACZ,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,eAAK,SAAS,EAAE,GAAG,CAAC,KAAK,8CAC3C,2BAAS,CAAC,CAAC,iBAAiB,CAAC,GAAU,EACvC,YAAG,SAAS,EAAE,GAAG,GAAG,CAAC,OAAO,UAAU,EAAE,IAAI,EAAC,OAAO,YAAE,QAAQ,CAAC,OAAO,GAAK,IACvE,CAAC,CAAC,CAAC,IAAI,IACN,IACL,CAAA;AACR,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAE,IAAI,EAAkB;IAC9C,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,CAAA;IAClB,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;IAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAA;IAClC,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAA;IAC7D,gIAAgI;IAChI,0HAA0H;IAC1H,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAA;IAC5D,OAAO,eAAK,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAC,QAAQ,gBAAa,CAAC,CAAC,MAAM,CAAC,iDAAsC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,aACpI,eAAK,SAAS,EAAE,GAAG,CAAC,QAAQ,aAC1B,mCAAwB,KAAK,YAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAQ,EAC9I,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,SAAS,EAAC,IAAI,EAAC,QAAQ,YAAE,CAAC,CAAC,YAAY,CAAC,GAAQ,CAAC,CAAC,CAAC,IAAI,IACnF,EACN,eAAK,SAAS,EAAE,GAAG,CAAC,OAAO,aACzB,KAAC,GAAG,IAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,EAAC,SAAS,YAAE,CAAC,CAAC,gBAAgB,CAAC,GAAO,EAC9G,KAAC,GAAG,IAAC,OAAO,QAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,YAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAO,IAC1G,IACF,CAAA;AACR,CAAC;AAED,kIAAkI;AAClI,MAAM,UAAU,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAuC;IAC3E,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,CAAA;IAClB,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACnH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC9B,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAChD,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,OAAO,YAAG,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAC,QAAQ,YAAE,CAAC,CAAC,aAAa,CAAC,GAAK,CAAA;IAC3F,OAAO,eAAK,SAAS,EAAE,GAAG,CAAC,IAAI,oCAC5B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAG,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAC,QAAQ,YAAE,CAAC,CAAC,UAAU,CAAC,GAAK,CAAC,CAAC,CAAC,IAAI,EACpF,QAAQ,IACL,CAAA;AACR,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rows for the configuration fields the groups edit, wired to the card's staged form state.
|
|
3
|
+
*
|
|
4
|
+
* One component per control kind (switch, select, text, number). Each is the single entry of its field: it renders
|
|
5
|
+
* `data-dsb-field="<name>"`, which test/settings-card-render.test.ts counts, and it reads the label, the one-line hint
|
|
6
|
+
* and the optional `?` text from the dictionary by the field's name (`<name>`, `<name>Hint`, `<name>Help`).
|
|
7
|
+
* @module dsh-browser/client/field-rows
|
|
8
|
+
*/
|
|
9
|
+
import type { BrowserSettingsCardProps } from './index.ts';
|
|
10
|
+
import type { BrowserCardState, CardFieldState } from './form.ts';
|
|
11
|
+
import { type RowLabels, type SelectOption } from './ui-kit.tsx';
|
|
12
|
+
export type Card = BrowserSettingsCardProps;
|
|
13
|
+
export type Translator = Card['t'];
|
|
14
|
+
export type LabelKey = Parameters<Translator>[0];
|
|
15
|
+
/** Fill `{name}` placeholders of a dictionary entry. */
|
|
16
|
+
export declare const fill: (text: string, values: Record<string, string | number>) => string;
|
|
17
|
+
/** The words every row shares. */
|
|
18
|
+
export declare function rowLabels(t: Translator): RowLabels;
|
|
19
|
+
/** The id of a field's control, tied to its label. */
|
|
20
|
+
export declare const controlId: (name: string) => string;
|
|
21
|
+
export interface FieldProps {
|
|
22
|
+
card: Card;
|
|
23
|
+
name: string;
|
|
24
|
+
/** Replaces the dictionary's hint; a function receives the field's current text (for a hint that depends on the value). */
|
|
25
|
+
hint?: string | ((text: string) => string);
|
|
26
|
+
/** Text shown when the field has no value of its own (the default in force), as the input's placeholder. */
|
|
27
|
+
placeholder?: string;
|
|
28
|
+
/** Skip the label/hint lookup by name: the row is labelled by these. */
|
|
29
|
+
label?: string;
|
|
30
|
+
/** A short warning badge beside the label. */
|
|
31
|
+
risk?: string;
|
|
32
|
+
}
|
|
33
|
+
/** How many of these fields carry an override: the number a group's badge shows. */
|
|
34
|
+
export declare function useOverriddenCount(card: Card, names: readonly string[]): number;
|
|
35
|
+
/** A field's staged state, whether it is a single-input field or one of the JSON-shaped ones (launch arguments, policies). */
|
|
36
|
+
export declare function stateOf(snapshot: BrowserCardState, name: string): CardFieldState | undefined;
|
|
37
|
+
/** Read one single-input field's staged state. */
|
|
38
|
+
export declare function useField(card: Card, name: string): {
|
|
39
|
+
state: import("@deepseek-ai/dsh-client-ui-primitives").SettingsFieldState;
|
|
40
|
+
disabled: boolean;
|
|
41
|
+
problem: string;
|
|
42
|
+
edit: (text: string) => void;
|
|
43
|
+
reset: () => void;
|
|
44
|
+
};
|
|
45
|
+
/** A boolean field as a switch. */
|
|
46
|
+
export declare function SwitchRow(props: FieldProps): import("react").JSX.Element;
|
|
47
|
+
/** An enumerated field as a drop-down. */
|
|
48
|
+
export declare function SelectRow(props: FieldProps & {
|
|
49
|
+
options: readonly SelectOption[];
|
|
50
|
+
}): import("react").JSX.Element;
|
|
51
|
+
/** A free-text field. `listId` names a `<datalist>` of suggestions rendered by the caller. */
|
|
52
|
+
export declare function TextRow(props: FieldProps & {
|
|
53
|
+
listId?: string;
|
|
54
|
+
code?: boolean;
|
|
55
|
+
}): import("react").JSX.Element;
|
|
56
|
+
/** A whole-number field with its unit written after the input. */
|
|
57
|
+
export declare function NumberRow(props: FieldProps & {
|
|
58
|
+
unit?: string;
|
|
59
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Row, Select, TextInput, Toggle, UnitInput } from "./ui-kit.js";
|
|
3
|
+
/** Fill `{name}` placeholders of a dictionary entry. */
|
|
4
|
+
export const fill = (text, values) => text.replace(/\{(\w+)\}/g, (_match, key) => String(values[key] ?? ''));
|
|
5
|
+
/** The words every row shares. */
|
|
6
|
+
export function rowLabels(t) {
|
|
7
|
+
return { overridden: t('overridden'), reset: t('reset'), help: t('helpLabel'), invalid: t('invalid') };
|
|
8
|
+
}
|
|
9
|
+
/** The id of a field's control, tied to its label. */
|
|
10
|
+
export const controlId = (name) => `plugin-config-dsh-browser-${name}`;
|
|
11
|
+
/** The names that have a `?` text of their own in the dictionary. */
|
|
12
|
+
const WITH_HELP = new Set([
|
|
13
|
+
'automationMode', 'toolSurface', 'channel', 'headless', 'autoInstall', 'executablePath', 'cdpPort', 'maxSessions', 'args', 'snapshotDir', 'storageStatePath',
|
|
14
|
+
'viewportMode', 'userAgent', 'locale', 'timezoneId', 'proxyServer', 'proxyBypass', 'downloadDir', 'downloadMaxBytes', 'allowPrivateHosts', 'authProfiles', 'usagePolicy', 'automationAssets',
|
|
15
|
+
]);
|
|
16
|
+
/** How many of these fields carry an override: the number a group's badge shows. */
|
|
17
|
+
export function useOverriddenCount(card, names) {
|
|
18
|
+
return card.useBrowserSettings(snapshot => names.filter(name => stateOf(snapshot, name)?.overridden).length);
|
|
19
|
+
}
|
|
20
|
+
/** A field's staged state, whether it is a single-input field or one of the JSON-shaped ones (launch arguments, policies). */
|
|
21
|
+
export function stateOf(snapshot, name) {
|
|
22
|
+
return snapshot.fields[name] ?? snapshot.jsonFields[name];
|
|
23
|
+
}
|
|
24
|
+
/** Read one single-input field's staged state. */
|
|
25
|
+
export function useField(card, name) {
|
|
26
|
+
const state = card.useBrowserSettings(snapshot => stateOf(snapshot, name));
|
|
27
|
+
const disabled = card.useBrowserSettings(snapshot => !snapshot.writable);
|
|
28
|
+
const problem = card.useBrowserSettings(snapshot => snapshot.problems?.[name]);
|
|
29
|
+
return { state, disabled, problem, edit: (text) => card.edit(name, text), reset: () => card.resetField(name) };
|
|
30
|
+
}
|
|
31
|
+
function rowFor(props, field, children, extra = {}) {
|
|
32
|
+
const { card, name } = props;
|
|
33
|
+
const { t } = card;
|
|
34
|
+
return _jsx(Row, { field: name, id: extra.id, label: props.label ?? t(name), hint: typeof props.hint === 'function' ? props.hint(field.state.text) : props.hint ?? t(`${name}Hint`), help: WITH_HELP.has(name) ? t(`${name}Help`) : undefined, risk: props.risk, overridden: field.state.overridden, invalid: field.state.invalid || !!field.problem, problem: extra.problem ?? field.problem ?? t('invalid'), disabled: field.disabled, labels: rowLabels(t), onReset: field.reset, inline: extra.inline, wide: extra.wide, children: children });
|
|
35
|
+
}
|
|
36
|
+
/** A boolean field as a switch. */
|
|
37
|
+
export function SwitchRow(props) {
|
|
38
|
+
const field = useField(props.card, props.name);
|
|
39
|
+
const label = props.label ?? props.card.t(props.name);
|
|
40
|
+
return rowFor(props, field, _jsx(Toggle, { label: label, checked: field.state.text === 'true', disabled: field.disabled, onChange: next => field.edit(String(next)) }), { inline: true });
|
|
41
|
+
}
|
|
42
|
+
/** An enumerated field as a drop-down. */
|
|
43
|
+
export function SelectRow(props) {
|
|
44
|
+
const field = useField(props.card, props.name);
|
|
45
|
+
const id = controlId(props.name);
|
|
46
|
+
return rowFor(props, field, _jsx(Select, { id: id, value: field.state.text, options: props.options, disabled: field.disabled, muted: !field.state.overridden, invalid: field.state.invalid || !!field.problem, onChange: field.edit }), { id });
|
|
47
|
+
}
|
|
48
|
+
/** A free-text field. `listId` names a `<datalist>` of suggestions rendered by the caller. */
|
|
49
|
+
export function TextRow(props) {
|
|
50
|
+
const field = useField(props.card, props.name);
|
|
51
|
+
const id = controlId(props.name);
|
|
52
|
+
return rowFor(props, field, _jsx(TextInput, { id: id, value: field.state.text, placeholder: props.placeholder, list: props.listId, code: props.code, disabled: field.disabled, muted: !field.state.overridden, invalid: field.state.invalid || !!field.problem, onChange: field.edit }), { id });
|
|
53
|
+
}
|
|
54
|
+
/** A whole-number field with its unit written after the input. */
|
|
55
|
+
export function NumberRow(props) {
|
|
56
|
+
const field = useField(props.card, props.name);
|
|
57
|
+
const id = controlId(props.name);
|
|
58
|
+
const input = props.unit
|
|
59
|
+
? _jsx(UnitInput, { id: id, value: field.state.text, unit: props.unit, placeholder: props.placeholder, disabled: field.disabled, muted: !field.state.overridden, invalid: field.state.invalid || !!field.problem, onChange: field.edit })
|
|
60
|
+
: _jsx(TextInput, { id: id, value: field.state.text, placeholder: props.placeholder, numeric: true, disabled: field.disabled, muted: !field.state.overridden, invalid: field.state.invalid || !!field.problem, onChange: field.edit });
|
|
61
|
+
return rowFor(props, field, input, { id });
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=field-rows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-rows.js","sourceRoot":"","sources":["../../src/client/field-rows.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inline validation of the settings card's context and download fields.
|
|
3
|
+
*
|
|
4
|
+
* These are the SAME rule functions the server runs when it reads the configuration (`../config-rules.ts` has no
|
|
5
|
+
* imports, so the card bundle carries it unchanged): a value the card accepts is a value the plugin will use, and a
|
|
6
|
+
* value it refuses is one the plugin would have dropped with a runtimeWarning. Blank always means "use the default".
|
|
7
|
+
* @module dsh-browser/client/field-rules
|
|
8
|
+
*/
|
|
9
|
+
/** Fields whose text is checked here. */
|
|
10
|
+
export declare const CHECKED_TEXT_FIELDS: readonly string[];
|
|
11
|
+
/** Why one field's text is refused, or undefined when it is fine (or blank). */
|
|
12
|
+
export declare function fieldProblem(field: string, text: string): string | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Problems that involve more than one field. `custom` needs both sizes; the sizes themselves are checked by the
|
|
15
|
+
* numeric field's own range.
|
|
16
|
+
*/
|
|
17
|
+
export declare function crossFieldProblems(texts: Record<string, string | undefined>): Record<string, string>;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inline validation of the settings card's context and download fields.
|
|
3
|
+
*
|
|
4
|
+
* These are the SAME rule functions the server runs when it reads the configuration (`../config-rules.ts` has no
|
|
5
|
+
* imports, so the card bundle carries it unchanged): a value the card accepts is a value the plugin will use, and a
|
|
6
|
+
* value it refuses is one the plugin would have dropped with a runtimeWarning. Blank always means "use the default".
|
|
7
|
+
* @module dsh-browser/client/field-rules
|
|
8
|
+
*/
|
|
9
|
+
import { MAX_DOWNLOAD_BYTES_LIMIT, VIEWPORT_LIMITS, checkAbsoluteDirectory, checkLocale, checkProxyBypass, checkProxyServer, checkTimezone, checkUserAgent, } from "../config-rules.js";
|
|
10
|
+
class Refused extends Error {
|
|
11
|
+
}
|
|
12
|
+
const fail = (message) => { throw new Refused(message); };
|
|
13
|
+
const RULES = {
|
|
14
|
+
userAgent: text => checkUserAgent(text, 'userAgent', fail),
|
|
15
|
+
locale: text => checkLocale(text, 'locale', fail),
|
|
16
|
+
timezoneId: text => checkTimezone(text, 'timezoneId', fail),
|
|
17
|
+
proxyServer: text => checkProxyServer(text, 'proxyServer', fail),
|
|
18
|
+
proxyBypass: text => checkProxyBypass(text, 'proxyBypass', fail),
|
|
19
|
+
downloadDir: text => checkAbsoluteDirectory(text, 'downloadDir', fail),
|
|
20
|
+
};
|
|
21
|
+
/** Whole-number fields and their inclusive ranges (the server enforces the same ones). */
|
|
22
|
+
const NUMBER_RANGES = {
|
|
23
|
+
viewportWidth: [VIEWPORT_LIMITS.minWidth, VIEWPORT_LIMITS.maxWidth],
|
|
24
|
+
viewportHeight: [VIEWPORT_LIMITS.minHeight, VIEWPORT_LIMITS.maxHeight],
|
|
25
|
+
downloadMaxBytes: [1, MAX_DOWNLOAD_BYTES_LIMIT],
|
|
26
|
+
};
|
|
27
|
+
/** Fields whose text is checked here. */
|
|
28
|
+
export const CHECKED_TEXT_FIELDS = [...Object.keys(RULES), ...Object.keys(NUMBER_RANGES)];
|
|
29
|
+
/** Why one field's text is refused, or undefined when it is fine (or blank). */
|
|
30
|
+
export function fieldProblem(field, text) {
|
|
31
|
+
if (text.trim() === '')
|
|
32
|
+
return undefined;
|
|
33
|
+
const range = NUMBER_RANGES[field];
|
|
34
|
+
if (range) {
|
|
35
|
+
const value = Number(text);
|
|
36
|
+
return Number.isInteger(value) && value >= range[0] && value <= range[1] ? undefined : `${field} must be a whole number from ${range[0]} to ${range[1]}`;
|
|
37
|
+
}
|
|
38
|
+
const rule = RULES[field];
|
|
39
|
+
if (!rule)
|
|
40
|
+
return undefined;
|
|
41
|
+
try {
|
|
42
|
+
rule(text);
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
if (error instanceof Refused)
|
|
46
|
+
return error.message;
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Problems that involve more than one field. `custom` needs both sizes; the sizes themselves are checked by the
|
|
53
|
+
* numeric field's own range.
|
|
54
|
+
*/
|
|
55
|
+
export function crossFieldProblems(texts) {
|
|
56
|
+
const problems = {};
|
|
57
|
+
const mode = (texts.viewportMode ?? '').trim();
|
|
58
|
+
if (mode === 'custom') {
|
|
59
|
+
const need = (field, range) => {
|
|
60
|
+
if ((texts[field] ?? '').trim() === '')
|
|
61
|
+
problems[field] = `viewportMode=custom needs ${field} (${range}); without it the browser's default window is used`;
|
|
62
|
+
};
|
|
63
|
+
need('viewportWidth', `${VIEWPORT_LIMITS.minWidth}-${VIEWPORT_LIMITS.maxWidth}`);
|
|
64
|
+
need('viewportHeight', `${VIEWPORT_LIMITS.minHeight}-${VIEWPORT_LIMITS.maxHeight}`);
|
|
65
|
+
}
|
|
66
|
+
return problems;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=field-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-rules.js","sourceRoot":"","sources":["../../src/client/field-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,wBAAwB,EAAE,eAAe,EAAE,sBAAsB,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,GAClJ,MAAM,oBAAoB,CAAA;AAE3B,MAAM,OAAQ,SAAQ,KAAK;CAAG;AAC9B,MAAM,IAAI,GAAG,CAAC,OAAe,EAAS,EAAE,GAAG,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC,CAAA;AAEvE,MAAM,KAAK,GAA8C;IACvD,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC;IAC1D,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;IACjD,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC;IAC3D,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC;IAChE,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC;IAChE,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC;CACvE,CAAA;AAED,0FAA0F;AAC1F,MAAM,aAAa,GAA8C;IAC/D,aAAa,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC;IACnE,cAAc,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC,SAAS,CAAC;IACtE,gBAAgB,EAAE,CAAC,CAAC,EAAE,wBAAwB,CAAC;CAChD,CAAA;AAED,yCAAyC;AACzC,MAAM,CAAC,MAAM,mBAAmB,GAAsB,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAA;AAE5G,gFAAgF;AAChF,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,IAAY;IACtD,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,SAAS,CAAA;IACxC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAC1B,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,gCAAgC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1J,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;IACzB,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAA;IAC3B,IAAI,CAAC;QAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChC,IAAI,KAAK,YAAY,OAAO;YAAE,OAAO,KAAK,CAAC,OAAO,CAAA;QAClD,MAAM,KAAK,CAAA;IACb,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAyC;IAC1E,MAAM,QAAQ,GAA2B,EAAE,CAAA;IAC3C,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAC9C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,CAAC,KAAyC,EAAE,KAAa,EAAE,EAAE;YACxE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;gBAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,6BAA6B,KAAK,KAAK,KAAK,oDAAoD,CAAA;QAC5J,CAAC,CAAA;QACD,IAAI,CAAC,eAAe,EAAE,GAAG,eAAe,CAAC,QAAQ,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAA;QAChF,IAAI,CAAC,gBAAgB,EAAE,GAAG,eAAe,CAAC,SAAS,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC,CAAA;IACrF,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|