@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.
Files changed (169) hide show
  1. package/README.md +267 -69
  2. package/assets/skills/dsh-browser/SKILL.md +13 -11
  3. package/assets/skills/dsh-browser/references/files.md +36 -0
  4. package/assets/skills/dsh-browser/references/observe.md +2 -2
  5. package/assets/skills/dsh-browser/references/policy.md +32 -0
  6. package/cordis.patch.yml +10 -3
  7. package/lib/actions/errors.js +7 -2
  8. package/lib/actions/errors.js.map +1 -1
  9. package/lib/actions/index-view.d.ts +4 -1
  10. package/lib/actions/index-view.js +16 -3
  11. package/lib/actions/index-view.js.map +1 -1
  12. package/lib/actions/inspect.js +15 -0
  13. package/lib/actions/inspect.js.map +1 -1
  14. package/lib/actions/observe.js +1 -1
  15. package/lib/actions/observe.js.map +1 -1
  16. package/lib/actions/opencli.d.ts +1 -1
  17. package/lib/actions/opencli.js +4 -4
  18. package/lib/actions/opencli.js.map +1 -1
  19. package/lib/actions/policy.d.ts +15 -0
  20. package/lib/actions/policy.js +131 -0
  21. package/lib/actions/policy.js.map +1 -0
  22. package/lib/actions/registry.js +6 -5
  23. package/lib/actions/registry.js.map +1 -1
  24. package/lib/actions/runtime.js +2 -2
  25. package/lib/actions/runtime.js.map +1 -1
  26. package/lib/actions/target.js +35 -3
  27. package/lib/actions/target.js.map +1 -1
  28. package/lib/actions/types.d.ts +1 -1
  29. package/lib/actions/types.js.map +1 -1
  30. package/lib/approval-policy.d.ts +10 -1
  31. package/lib/approval-policy.js +42 -1
  32. package/lib/approval-policy.js.map +1 -1
  33. package/lib/auth-profiles.d.ts +4 -1
  34. package/lib/auth-profiles.js +3 -0
  35. package/lib/auth-profiles.js.map +1 -1
  36. package/lib/automation-assets-rpc.js +26 -0
  37. package/lib/automation-assets-rpc.js.map +1 -1
  38. package/lib/browser-service.d.ts +165 -4
  39. package/lib/browser-service.js +505 -55
  40. package/lib/browser-service.js.map +1 -1
  41. package/lib/client/SettingsCard.d.ts +10 -8
  42. package/lib/client/SettingsCard.js +12 -137
  43. package/lib/client/SettingsCard.js.map +1 -1
  44. package/lib/client/auth-profiles-form.d.ts +23 -0
  45. package/lib/client/auth-profiles-form.js +64 -0
  46. package/lib/client/auth-profiles-form.js.map +1 -0
  47. package/lib/client/card-frame.d.ts +22 -0
  48. package/lib/client/card-frame.js +61 -0
  49. package/lib/client/card-frame.js.map +1 -0
  50. package/lib/client/field-rows.d.ts +59 -0
  51. package/lib/client/field-rows.js +63 -0
  52. package/lib/client/field-rows.js.map +1 -0
  53. package/lib/client/field-rules.d.ts +17 -0
  54. package/lib/client/field-rules.js +68 -0
  55. package/lib/client/field-rules.js.map +1 -0
  56. package/lib/client/form.d.ts +108 -7
  57. package/lib/client/form.js +255 -11
  58. package/lib/client/form.js.map +1 -1
  59. package/lib/client/group-access.d.ts +14 -0
  60. package/lib/client/group-access.js +97 -0
  61. package/lib/client/group-access.js.map +1 -0
  62. package/lib/client/group-advanced.d.ts +11 -0
  63. package/lib/client/group-advanced.js +32 -0
  64. package/lib/client/group-advanced.js.map +1 -0
  65. package/lib/client/group-assets.d.ts +13 -0
  66. package/lib/client/group-assets.js +50 -0
  67. package/lib/client/group-assets.js.map +1 -0
  68. package/lib/client/group-browser.d.ts +9 -0
  69. package/lib/client/group-browser.js +27 -0
  70. package/lib/client/group-browser.js.map +1 -0
  71. package/lib/client/group-common.d.ts +10 -0
  72. package/lib/client/group-common.js +21 -0
  73. package/lib/client/group-common.js.map +1 -0
  74. package/lib/client/group-context.d.ts +20 -0
  75. package/lib/client/group-context.js +76 -0
  76. package/lib/client/group-context.js.map +1 -0
  77. package/lib/client/group-downloads.d.ts +10 -0
  78. package/lib/client/group-downloads.js +33 -0
  79. package/lib/client/group-downloads.js.map +1 -0
  80. package/lib/client/group-limits.d.ts +9 -0
  81. package/lib/client/group-limits.js +57 -0
  82. package/lib/client/group-limits.js.map +1 -0
  83. package/lib/client/group-prompts.d.ts +13 -0
  84. package/lib/client/group-prompts.js +136 -0
  85. package/lib/client/group-prompts.js.map +1 -0
  86. package/lib/client/index.d.ts +21 -1
  87. package/lib/client/index.js +10 -4
  88. package/lib/client/index.js.map +1 -1
  89. package/lib/client/locales-policy.d.ts +83 -0
  90. package/lib/client/locales-policy.js +46 -0
  91. package/lib/client/locales-policy.js.map +1 -0
  92. package/lib/client/locales-prompts.d.ts +57 -0
  93. package/lib/client/locales-prompts.js +41 -0
  94. package/lib/client/locales-prompts.js.map +1 -0
  95. package/lib/client/locales-ui.d.ts +223 -0
  96. package/lib/client/locales-ui.js +157 -0
  97. package/lib/client/locales-ui.js.map +1 -0
  98. package/lib/client/locales.d.ts +359 -67
  99. package/lib/client/locales.js +68 -22
  100. package/lib/client/locales.js.map +1 -1
  101. package/lib/client/policy-fields.d.ts +31 -0
  102. package/lib/client/policy-fields.js +66 -0
  103. package/lib/client/policy-fields.js.map +1 -0
  104. package/lib/client/policy-status-client.d.ts +91 -0
  105. package/lib/client/policy-status-client.js +64 -0
  106. package/lib/client/policy-status-client.js.map +1 -0
  107. package/lib/client/prompts-form.d.ts +33 -0
  108. package/lib/client/prompts-form.js +87 -0
  109. package/lib/client/prompts-form.js.map +1 -1
  110. package/lib/client/prompts-status-client.d.ts +21 -1
  111. package/lib/client/prompts-status-client.js +36 -4
  112. package/lib/client/prompts-status-client.js.map +1 -1
  113. package/lib/client/properties-form.d.ts +90 -0
  114. package/lib/client/properties-form.js +187 -0
  115. package/lib/client/properties-form.js.map +1 -0
  116. package/lib/client/property-docs.d.ts +18 -0
  117. package/lib/client/property-docs.js +78 -0
  118. package/lib/client/property-docs.js.map +1 -0
  119. package/lib/client/size-units.d.ts +12 -0
  120. package/lib/client/size-units.js +29 -0
  121. package/lib/client/size-units.js.map +1 -0
  122. package/lib/client/styles.d.ts +47 -31
  123. package/lib/client/styles.js +59 -20
  124. package/lib/client/styles.js.map +1 -1
  125. package/lib/client/ui-kit.d.ts +173 -0
  126. package/lib/client/ui-kit.js +112 -0
  127. package/lib/client/ui-kit.js.map +1 -0
  128. package/lib/client.js +5291 -834
  129. package/lib/client.js.map +1 -1
  130. package/lib/config-rules.d.ts +40 -0
  131. package/lib/config-rules.js +103 -0
  132. package/lib/config-rules.js.map +1 -0
  133. package/lib/config.d.ts +64 -2
  134. package/lib/config.js +106 -0
  135. package/lib/config.js.map +1 -1
  136. package/lib/context-options.d.ts +85 -0
  137. package/lib/context-options.js +206 -0
  138. package/lib/context-options.js.map +1 -0
  139. package/lib/deps.d.ts +42 -5
  140. package/lib/deps.js +219 -9
  141. package/lib/deps.js.map +1 -1
  142. package/lib/downloads.d.ts +79 -0
  143. package/lib/downloads.js +189 -0
  144. package/lib/downloads.js.map +1 -0
  145. package/lib/index.d.ts +3 -2
  146. package/lib/index.js +7 -3
  147. package/lib/index.js.map +1 -1
  148. package/lib/policy-keys.d.ts +39 -0
  149. package/lib/policy-keys.js +21 -0
  150. package/lib/policy-keys.js.map +1 -1
  151. package/lib/policy-overlay.d.ts +189 -0
  152. package/lib/policy-overlay.js +649 -0
  153. package/lib/policy-overlay.js.map +1 -0
  154. package/lib/prompts-yaml.d.ts +11 -0
  155. package/lib/prompts-yaml.js +121 -0
  156. package/lib/prompts-yaml.js.map +1 -0
  157. package/lib/prompts.d.ts +2 -0
  158. package/lib/prompts.js +7 -3
  159. package/lib/prompts.js.map +1 -1
  160. package/lib/system-browser.d.ts +61 -0
  161. package/lib/system-browser.js +109 -0
  162. package/lib/system-browser.js.map +1 -0
  163. package/lib/tools.js +9 -1
  164. package/lib/tools.js.map +1 -1
  165. package/lib/usage-policy.d.ts +3 -1
  166. package/lib/usage-policy.js +2 -0
  167. package/lib/usage-policy.js.map +1 -1
  168. package/package.json +42 -38
  169. package/scripts/dump-prompts.mjs +12 -2
@@ -0,0 +1,112 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * The small set of controls the settings card is made of.
4
+ *
5
+ * Switches, buttons, badges, dialogs and the click-to-read help bubble are the Host's own
6
+ * (`@deepseek-ai/dsh-client-ui-primitives`). The Host ships no select, no chip input, no accordion and no
7
+ * list-row, so those four are built here from native elements (`<select>`, `<details>`, `<input>`) and the
8
+ * `--dsw-alias-*` tokens, which makes them follow the light and dark themes without a color of their own.
9
+ * Nothing in this file knows about a configuration field: callers pass text and callbacks.
10
+ * @module dsh-browser/client/ui-kit
11
+ */
12
+ import { useState } from 'react';
13
+ import { Button, Modal, Switch, Tag, Tooltip } from '@deepseek-ai/dsh-client-ui-primitives';
14
+ import { styles as css } from "./styles.js";
15
+ /** A read-only badge. */
16
+ export function Badge(props) {
17
+ return _jsx(Tag, { tone: props.tone ?? 'neutral', children: props.children });
18
+ }
19
+ /** The `?` button: its text opens on click, so a long explanation costs one glyph until someone asks. */
20
+ export function Help(props) {
21
+ return _jsx(Tooltip, { label: props.text, openOnClick: true, portal: true, maxWidth: 360, side: "top", children: _jsx("button", { type: "button", className: css.help, "aria-label": props.label, "data-dsb-help": true, children: "?" }) });
22
+ }
23
+ /** One setting: label, one-line hint, an optional `?`, the "overridden" badge with its reset, and the control. */
24
+ export function Row(props) {
25
+ const { labels } = props;
26
+ return _jsxs("div", { className: `${css.row} ${props.wide ? 'dsb-row-wide' : ''}`, "data-dsb-field": props.field, "data-dsb-policy-key": props.policyKey, "data-dsb-overridden": props.overridden ? 'true' : undefined, children: [_jsxs("div", { className: css.rowText, children: [_jsxs("div", { className: css.rowLabel, children: [props.id ? _jsx("label", { htmlFor: props.id, children: props.label }) : _jsx("span", { children: props.label }), props.help ? _jsx(Help, { label: labels.help, text: props.help }) : null, props.risk ? _jsx(Badge, { tone: "warning", children: props.risk }) : null, props.overridden ? _jsx(Badge, { tone: "info", children: labels.overridden }) : null, props.overridden && props.onReset ? _jsx("button", { type: "button", className: css.link, disabled: props.disabled, onClick: props.onReset, "data-dsb-reset": props.field, children: labels.reset }) : null] }), props.invalid && props.problem
27
+ ? _jsx("p", { className: `${css.rowHint} dsb-bad`, role: "alert", children: props.problem })
28
+ : props.hint || props.meta ? _jsxs("p", { className: css.rowHint, children: [props.hint, props.meta ? _jsxs("span", { className: css.rowMeta, children: [props.hint ? ' · ' : '', props.meta] }) : null] }) : null] }), _jsx("div", { className: `${css.rowControl} ${props.inline ? 'dsb-inline' : ''}`, children: props.children })] });
29
+ }
30
+ /** A closed-by-default fold inside a group, for the items few people need. */
31
+ export function Fold(props) {
32
+ return _jsxs("details", { className: css.fold, "data-dsb-fold": props.id, children: [_jsxs("summary", { children: [props.title, props.hint ? _jsxs("span", { className: css.foldHint, children: [" \u00B7 ", props.hint] }) : null] }), _jsx("div", { className: css.foldBody, children: props.children })] });
33
+ }
34
+ /** A small heading inside a group, for sets of rows that belong together. */
35
+ export function SubHead(props) {
36
+ return _jsx("div", { className: css.subHead, role: "presentation", children: props.children });
37
+ }
38
+ /**
39
+ * One group of the card, an accordion item. `<details>` keeps every control in the document while the group is
40
+ * closed (so a server-rendered check still sees them) and gives keyboard and screen-reader behavior for free.
41
+ */
42
+ export function Group(props) {
43
+ return _jsxs("details", { className: css.group, open: props.defaultOpen ? true : undefined, "data-dsb-group": props.id, children: [_jsxs("summary", { className: css.groupHead, children: [_jsxs("span", { className: css.groupTitle, children: [_jsx("strong", { children: props.title }), props.summary ? _jsx("span", { className: css.groupSub, children: props.summary }) : null] }), props.badges ? _jsx("span", { className: css.groupBadges, children: props.badges }) : null] }), _jsx("div", { className: css.groupBody, children: props.children })] });
44
+ }
45
+ /**
46
+ * A native select. A stored value that is not among the options (a channel the list does not know, an older
47
+ * enum value) is shown as its own entry instead of being silently replaced by the first option.
48
+ */
49
+ export function Select(props) {
50
+ const known = props.options.some(option => option.value === props.value);
51
+ const options = known || props.value === '' ? props.options : [{ value: props.value, label: props.value }, ...props.options];
52
+ return _jsx("select", { id: props.id, className: `${css.select} ${props.muted ? css.muted : ''}`, value: props.value, disabled: props.disabled, "aria-label": props.ariaLabel, "aria-invalid": props.invalid || undefined, onChange: event => props.onChange(event.currentTarget.value), children: options.map(option => _jsx("option", { value: option.value, children: option.label }, option.value)) });
53
+ }
54
+ /** A single-line text input; `muted` greys the value while it is only the inherited default. */
55
+ export function TextInput(props) {
56
+ return _jsx("input", { id: props.id, type: "text", className: `${css.input} ${props.muted ? css.muted : ''} ${props.invalid ? css.invalidInput : ''} ${props.code ? css.code : ''} ${props.numeric ? 'dsb-num' : ''}`, value: props.value, placeholder: props.placeholder, disabled: props.disabled, list: props.list, inputMode: props.numeric ? 'numeric' : undefined, spellCheck: false, "aria-label": props.ariaLabel, "aria-invalid": props.invalid || undefined, onChange: event => props.onChange(event.currentTarget.value) });
57
+ }
58
+ /** A text input followed by a fixed unit. */
59
+ export function UnitInput(props) {
60
+ return _jsxs("span", { className: css.unitInput, children: [_jsx(TextInput, { id: props.id, value: props.value, onChange: props.onChange, placeholder: props.placeholder, disabled: props.disabled, muted: props.muted, invalid: props.invalid, numeric: true, ariaLabel: props.ariaLabel }), _jsx("span", { className: css.unit, children: props.unit })] });
61
+ }
62
+ /** The Host's switch, named by its row. */
63
+ export function Toggle(props) {
64
+ return _jsx(Switch, { label: props.label, checked: props.checked, disabled: props.disabled, onChange: props.onChange });
65
+ }
66
+ /** A list of short strings as removable chips with an add box (Enter or comma adds; Backspace on an empty box removes the last). */
67
+ export function Chips(props) {
68
+ const [draft, setDraft] = useState('');
69
+ const [problem, setProblem] = useState();
70
+ const commit = (raw) => {
71
+ const value = raw.trim();
72
+ if (value === '') {
73
+ setDraft('');
74
+ setProblem(undefined);
75
+ return;
76
+ }
77
+ const refused = props.check?.(value, props.values);
78
+ if (refused) {
79
+ setProblem(refused);
80
+ return;
81
+ }
82
+ if (!props.values.includes(value))
83
+ props.onChange([...props.values, value]);
84
+ setDraft('');
85
+ setProblem(undefined);
86
+ };
87
+ return _jsxs("div", { className: css.stack, children: [_jsxs("div", { className: css.chips, "data-dsb-chips": true, children: [props.values.map(value => _jsxs("span", { className: css.chip, children: [_jsx("span", { children: value }), _jsx("button", { type: "button", className: css.chipRemove, disabled: props.disabled, "aria-label": `${props.removeLabel}: ${value}`, onClick: () => props.onChange(props.values.filter(entry => entry !== value)), children: "\u00D7" })] }, value)), _jsx("input", { id: props.id, className: css.chipInput, value: draft, placeholder: props.placeholder, disabled: props.disabled, "aria-label": props.addLabel, spellCheck: false, onChange: event => { const text = event.currentTarget.value; if (text.endsWith(','))
88
+ commit(text.slice(0, -1));
89
+ else
90
+ setDraft(text); }, onBlur: () => { if (draft.trim() !== '')
91
+ commit(draft); }, onKeyDown: event => {
92
+ if (event.key === 'Enter') {
93
+ event.preventDefault();
94
+ commit(draft);
95
+ }
96
+ else if (event.key === 'Backspace' && draft === '' && props.values.length)
97
+ props.onChange(props.values.slice(0, -1));
98
+ } })] }), problem ? _jsx("p", { className: `${css.rowHint} dsb-bad`, role: "alert", children: problem }) : null] });
99
+ }
100
+ /** A dialog on the Host's modal: a title, a scrolling body, and a footer of actions. */
101
+ export function Dialog(props) {
102
+ return _jsx(Modal, { open: props.open, onClose: props.onClose, title: props.title, closeLabel: props.closeLabel, description: props.description, footer: props.footer, className: `dsb-modal ${props.wide ? 'dsb-modal-wide' : ''}`, contentClassName: "dsb-modal-content", children: _jsx("div", { className: css.dialogBody, children: props.children }) });
103
+ }
104
+ /** Primary and secondary buttons at the card's size. */
105
+ export function Btn(props) {
106
+ return _jsx(Button, { type: "button", variant: props.primary ? 'primary' : 'outline', size: "sm", disabled: props.disabled, title: props.title, className: props.danger ? css.danger : undefined, onClick: props.onClick, "data-dsb-action": props.data, children: props.children });
107
+ }
108
+ /** A list row: a title with badges, a meta line, and actions on the right. */
109
+ export function Item(props) {
110
+ return _jsxs("div", { className: css.item, "data-dsb-item": props.data, children: [_jsxs("div", { className: css.itemMain, children: [_jsxs("div", { className: css.itemTitle, children: [props.title, props.badges] }), props.meta ? _jsx("div", { className: css.itemMeta, children: props.meta }) : null] }), props.actions ? _jsx("div", { className: css.itemActions, children: props.actions }) : null] });
111
+ }
112
+ //# sourceMappingURL=ui-kit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-kit.js","sourceRoot":"","sources":["../../src/client/ui-kit.tsx"],"names":[],"mappings":"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"}