@silo-code/sdk 0.40.2 → 0.42.0
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/dist/SettingRow.d.ts +47 -1
- package/dist/SettingRow.d.ts.map +1 -1
- package/dist/SettingRow.js +32 -2
- package/dist/SettingRow.js.map +1 -1
- package/dist/extension-storage.d.ts +53 -2
- package/dist/extension-storage.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/permissions.d.ts +24 -0
- package/dist/permissions.d.ts.map +1 -1
- package/dist/permissions.js +30 -0
- package/dist/permissions.js.map +1 -1
- package/dist/types.d.ts +4 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/SettingRow.tsx +56 -0
- package/src/extension-storage.ts +53 -2
- package/src/index.ts +3 -2
- package/src/permissions.ts +31 -0
- package/src/types.ts +4 -1
package/dist/SettingRow.d.ts
CHANGED
|
@@ -21,12 +21,58 @@ import type { ReactNode } from "react";
|
|
|
21
21
|
* </SettingRow>
|
|
22
22
|
* ```
|
|
23
23
|
*
|
|
24
|
+
* A row can also nest sub-settings that only make sense while its own
|
|
25
|
+
* setting is on, via `enabled`/`dependent`:
|
|
26
|
+
*
|
|
27
|
+
* ```tsx
|
|
28
|
+
* <SettingRow
|
|
29
|
+
* label="Collapse older agents"
|
|
30
|
+
* hint="Agents drop off into a collapsed section once older than the cutoff."
|
|
31
|
+
* enabled={staleDoneEnabled}
|
|
32
|
+
* dependent={
|
|
33
|
+
* <CheckboxRow
|
|
34
|
+
* label="Auto-expand on hover"
|
|
35
|
+
* checked={autoExpand}
|
|
36
|
+
* onChange={setAutoExpand}
|
|
37
|
+
* />
|
|
38
|
+
* }
|
|
39
|
+
* >
|
|
40
|
+
* <Switch
|
|
41
|
+
* checked={staleDoneEnabled}
|
|
42
|
+
* onChange={setStaleDoneEnabled}
|
|
43
|
+
* aria-label="Collapse older agents"
|
|
44
|
+
* />
|
|
45
|
+
* </SettingRow>
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* `dependent` renders inside a native `<fieldset>`, so when `enabled` is
|
|
49
|
+
* `false` every focusable descendant is disabled automatically and the whole
|
|
50
|
+
* block dims — no need to thread `disabled` into each child by hand. `enabled`
|
|
51
|
+
* is a plain boolean unrelated to whatever `children` renders (a `Switch`, a
|
|
52
|
+
* `Select`, or nothing at all) — nothing requires the row to have a toggle.
|
|
53
|
+
*
|
|
24
54
|
* @category Consumer Services
|
|
25
55
|
* @public
|
|
26
56
|
*/
|
|
27
|
-
export declare function SettingRow({ label, hint, children, }: {
|
|
57
|
+
export declare function SettingRow({ label, hint, enabled, dependent, children, }: {
|
|
28
58
|
label: string;
|
|
29
59
|
hint?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Gates `dependent` — a plain boolean, unrelated to whatever control
|
|
62
|
+
* `children` renders. Omit (or leave `true`) to leave `dependent` always
|
|
63
|
+
* enabled.
|
|
64
|
+
*/
|
|
65
|
+
enabled?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Extra content rendered below the label+hint, in the same left column but
|
|
68
|
+
* its own row — sub-settings that only make sense while this row's own
|
|
69
|
+
* setting is on. Kept out of `children`'s vertical centering (it sits
|
|
70
|
+
* below, not inside, the label+hint block `children` centers against).
|
|
71
|
+
* Rendered inside a native `<fieldset>`: when `enabled` is `false`, every
|
|
72
|
+
* focusable descendant is disabled automatically and the whole block dims —
|
|
73
|
+
* no need to thread `disabled` into each child by hand.
|
|
74
|
+
*/
|
|
75
|
+
dependent?: ReactNode;
|
|
30
76
|
/** The control — `Switch`, `Select`, `Input`, etc. */
|
|
31
77
|
children?: ReactNode;
|
|
32
78
|
}): import("react").JSX.Element;
|
package/dist/SettingRow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingRow.d.ts","sourceRoot":"","sources":["../src/SettingRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC
|
|
1
|
+
{"version":3,"file":"SettingRow.d.ts","sourceRoot":"","sources":["../src/SettingRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,IAAI,EACJ,OAAO,EACP,SAAS,EACT,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,+BAkBA"}
|
package/dist/SettingRow.js
CHANGED
|
@@ -21,10 +21,40 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
21
21
|
* </SettingRow>
|
|
22
22
|
* ```
|
|
23
23
|
*
|
|
24
|
+
* A row can also nest sub-settings that only make sense while its own
|
|
25
|
+
* setting is on, via `enabled`/`dependent`:
|
|
26
|
+
*
|
|
27
|
+
* ```tsx
|
|
28
|
+
* <SettingRow
|
|
29
|
+
* label="Collapse older agents"
|
|
30
|
+
* hint="Agents drop off into a collapsed section once older than the cutoff."
|
|
31
|
+
* enabled={staleDoneEnabled}
|
|
32
|
+
* dependent={
|
|
33
|
+
* <CheckboxRow
|
|
34
|
+
* label="Auto-expand on hover"
|
|
35
|
+
* checked={autoExpand}
|
|
36
|
+
* onChange={setAutoExpand}
|
|
37
|
+
* />
|
|
38
|
+
* }
|
|
39
|
+
* >
|
|
40
|
+
* <Switch
|
|
41
|
+
* checked={staleDoneEnabled}
|
|
42
|
+
* onChange={setStaleDoneEnabled}
|
|
43
|
+
* aria-label="Collapse older agents"
|
|
44
|
+
* />
|
|
45
|
+
* </SettingRow>
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* `dependent` renders inside a native `<fieldset>`, so when `enabled` is
|
|
49
|
+
* `false` every focusable descendant is disabled automatically and the whole
|
|
50
|
+
* block dims — no need to thread `disabled` into each child by hand. `enabled`
|
|
51
|
+
* is a plain boolean unrelated to whatever `children` renders (a `Switch`, a
|
|
52
|
+
* `Select`, or nothing at all) — nothing requires the row to have a toggle.
|
|
53
|
+
*
|
|
24
54
|
* @category Consumer Services
|
|
25
55
|
* @public
|
|
26
56
|
*/
|
|
27
|
-
export function SettingRow({ label, hint, children, }) {
|
|
28
|
-
return (_jsxs("div", { className: "silo-setting-row", children: [_jsxs("div", { className: "silo-setting-row-text", children: [_jsx("div", { className: "silo-setting-row-label", children: label }), hint != null && _jsx("div", { className: "silo-setting-row-hint", children: hint })] }), _jsx("div", { className: "silo-setting-row-control", children: children })] }));
|
|
57
|
+
export function SettingRow({ label, hint, enabled, dependent, children, }) {
|
|
58
|
+
return (_jsxs("div", { className: "silo-setting-row", children: [_jsxs("div", { className: "silo-setting-row-text", children: [_jsx("div", { className: "silo-setting-row-label", children: label }), hint != null && _jsx("div", { className: "silo-setting-row-hint", children: hint })] }), _jsx("div", { className: "silo-setting-row-control", children: children }), Boolean(dependent) && (_jsx("fieldset", { className: "silo-setting-row-dependent", disabled: enabled === false, children: dependent }))] }));
|
|
29
59
|
}
|
|
30
60
|
//# sourceMappingURL=SettingRow.js.map
|
package/dist/SettingRow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingRow.js","sourceRoot":"","sources":["../src/SettingRow.tsx"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"SettingRow.js","sourceRoot":"","sources":["../src/SettingRow.tsx"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,IAAI,EACJ,OAAO,EACP,SAAS,EACT,QAAQ,GAsBT;IACC,OAAO,CACL,eAAK,SAAS,EAAC,kBAAkB,aAC/B,eAAK,SAAS,EAAC,uBAAuB,aACpC,cAAK,SAAS,EAAC,wBAAwB,YAAE,KAAK,GAAO,EACpD,IAAI,IAAI,IAAI,IAAI,cAAK,SAAS,EAAC,uBAAuB,YAAE,IAAI,GAAO,IAChE,EACN,cAAK,SAAS,EAAC,0BAA0B,YAAE,QAAQ,GAAO,EACzD,OAAO,CAAC,SAAS,CAAC,IAAI,CACrB,mBACE,SAAS,EAAC,4BAA4B,EACtC,QAAQ,EAAE,OAAO,KAAK,KAAK,YAE1B,SAAS,GACD,CACZ,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -34,8 +34,9 @@ export interface ExtensionStorage {
|
|
|
34
34
|
subscribe(listener: () => void): Disposable;
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
|
-
* The
|
|
38
|
-
* {@link ExtensionContext.storage}
|
|
37
|
+
* The persisted-storage scopes available to an extension, exposed as
|
|
38
|
+
* {@link ExtensionContext.storage}: two key/value bags for settings-sized
|
|
39
|
+
* state, and the two matching **directories** for real data files.
|
|
39
40
|
*
|
|
40
41
|
* @category Consumer Services
|
|
41
42
|
* @public
|
|
@@ -52,5 +53,55 @@ export interface ExtensionStorageScopes {
|
|
|
52
53
|
* toggles). The bag is swapped when the active workspace changes.
|
|
53
54
|
*/
|
|
54
55
|
readonly workspace: ExtensionStorage;
|
|
56
|
+
/**
|
|
57
|
+
* An absolute path to a **directory of your own**, shared across every
|
|
58
|
+
* workspace — the filesystem counterpart to {@link ExtensionStorageScopes.global}.
|
|
59
|
+
* Use it for real data files (a `.jsonl` log, a cache, an export) rather than
|
|
60
|
+
* inventing a path under the user's home directory.
|
|
61
|
+
*
|
|
62
|
+
* The directory is created on first call and lives under Silo's user-config
|
|
63
|
+
* root, namespaced by your extension id:
|
|
64
|
+
* `~/.config/silo/extension-storage/<your-id>/global`. The path is stable
|
|
65
|
+
* across calls, activations, and restarts.
|
|
66
|
+
*
|
|
67
|
+
* **No filesystem permission is needed inside it.** Paths beneath this
|
|
68
|
+
* directory are readable and writable through {@link ExtensionContext.files}
|
|
69
|
+
* without declaring `fs:read` or `fs:write` — your own storage is inside your
|
|
70
|
+
* sandbox, the same way the open workspace folder is. The lift stops at
|
|
71
|
+
* `ctx.files`: running a process with a working directory in here still needs
|
|
72
|
+
* the `process` permission (passing the path to a command as an *argument*
|
|
73
|
+
* needs nothing extra).
|
|
74
|
+
*
|
|
75
|
+
* Relative paths passed to `ctx.files` still resolve against the **workspace**,
|
|
76
|
+
* not this directory — always join onto the absolute path you get back.
|
|
77
|
+
*
|
|
78
|
+
* ```ts
|
|
79
|
+
* const dir = await ctx.storage.globalDir();
|
|
80
|
+
* await ctx.files.writeText(`${dir}/tasks.jsonl`, body);
|
|
81
|
+
* ```
|
|
82
|
+
*
|
|
83
|
+
* Uninstalling your extension does **not** delete this directory unless the
|
|
84
|
+
* user opts in; the data survives a reinstall.
|
|
85
|
+
*/
|
|
86
|
+
globalDir(): Promise<string>;
|
|
87
|
+
/**
|
|
88
|
+
* An absolute path to a directory of your own scoped to the **active
|
|
89
|
+
* workspace** — the filesystem counterpart to
|
|
90
|
+
* {@link ExtensionStorageScopes.workspace}. Created on first call, at
|
|
91
|
+
* `~/.config/silo/extension-storage/<your-id>/workspaces/<workspaceId>`.
|
|
92
|
+
*
|
|
93
|
+
* Everything {@link ExtensionStorageScopes.globalDir} says about permissions
|
|
94
|
+
* and relative paths applies here too. Call it again after the active
|
|
95
|
+
* workspace changes — the path changes with it, so don't cache it across a
|
|
96
|
+
* workspace switch.
|
|
97
|
+
*
|
|
98
|
+
* The directory follows the workspace's **identity**, not its folder path:
|
|
99
|
+
* deleting a workspace and re-adding the same folder gives you a new, empty
|
|
100
|
+
* directory (the same rule {@link ExtensionStorageScopes.workspace} follows).
|
|
101
|
+
* Deleting a workspace leaves the directory on disk.
|
|
102
|
+
*
|
|
103
|
+
* Rejects with `NoWorkspaceError` when no workspace is open.
|
|
104
|
+
*/
|
|
105
|
+
workspaceDir(): Promise<string>;
|
|
55
106
|
}
|
|
56
107
|
//# sourceMappingURL=extension-storage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-storage.d.ts","sourceRoot":"","sources":["../src/extension-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IACnC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;IACpC,kDAAkD;IAClD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,gDAAgD;IAChD,IAAI,IAAI,MAAM,EAAE,CAAC;IACjB;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC;CAC7C;AAED
|
|
1
|
+
{"version":3,"file":"extension-storage.d.ts","sourceRoot":"","sources":["../src/extension-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IACnC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;IACpC,kDAAkD;IAClD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACvC,gDAAgD;IAChD,IAAI,IAAI,MAAM,EAAE,CAAC;IACjB;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ export type { ToolbarSurface, ToolbarItemContext, ToolbarItemFields, ToolbarComm
|
|
|
33
33
|
export type { FileService, FileMeta, FileChangeKind, FileChangeEvent, } from "./file-service.js";
|
|
34
34
|
export type { SearchService, SearchOptions, SearchMatch, SearchFileResult, SearchResponse, } from "./search-service.js";
|
|
35
35
|
export type { Permission } from "./permissions.js";
|
|
36
|
-
export { PathDeniedError } from "./permissions.js";
|
|
36
|
+
export { PathDeniedError, NoWorkspaceError } from "./permissions.js";
|
|
37
37
|
export type { ThemeService, ThemeState, ThemePreset, ResolvedTheme, ThemeBase, ThemeVars, CustomTheme, ThemeExport, } from "./theme-service.js";
|
|
38
38
|
export type { ExtensionStorage, ExtensionStorageScopes, } from "./extension-storage.js";
|
|
39
39
|
export type { DndService, DndItem, DndMime, DragInit, DndMode, DropContext, DropTargetHandlers, } from "./dnd-service.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,YAAY,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,MAAM,EACN,eAAe,EACf,QAAQ,EACR,OAAO,EACP,MAAM,EACN,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,eAAe,GAChB,MAAM,SAAS,CAAC;AAKjB,YAAY,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,aAAa,GACd,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,YAAY,GACb,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChF,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,6BAA6B,EAC7B,QAAQ,GACT,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,8BAA8B,EAC9B,2BAA2B,EAC3B,mBAAmB,EACnB,4BAA4B,EAC5B,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,WAAW,EACX,QAAQ,EACR,cAAc,EACd,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,cAAc,GACf,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
export { activityFromAgent } from "./activity.js";
|
|
19
19
|
export { ActivityGlyph } from "./ActivityGlyph.js";
|
|
20
|
-
export { PathDeniedError } from "./permissions.js";
|
|
20
|
+
export { PathDeniedError, NoWorkspaceError } from "./permissions.js";
|
|
21
21
|
export { DND_MIME } from "./dnd-service.js";
|
|
22
22
|
// Server-side HTTP client — bypasses CORS, readable response headers.
|
|
23
23
|
export { NetworkError } from "./network-service.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAsHH,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAsHH,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAiChD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AA6BlE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAyBzC,sEAAsE;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAkCjD,8EAA8E;AAC9E,8EAA8E;AAC9E,6DAA6D;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,yEAAyE;AACzE,iFAAiF;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,4EAA4E;AAC5E,qDAAqD;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,4DAA4D;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,wEAAwE;AACxE,iFAAiF;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,8EAA8E;AAC9E,4EAA4E;AAC5E,8EAA8E;AAC9E,8EAA8E;AAC9E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAUvE,6EAA6E;AAC7E,wEAAwE;AACxE,+CAA+C;AAC/C,OAAO,EACL,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC"}
|
package/dist/permissions.d.ts
CHANGED
|
@@ -43,4 +43,28 @@ export declare class PathDeniedError extends Error {
|
|
|
43
43
|
readonly path: string;
|
|
44
44
|
constructor(path: string, message?: string);
|
|
45
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Thrown when an API that needs the **active workspace** is called while no
|
|
48
|
+
* workspace is open — today, {@link ExtensionStorageScopes.workspaceDir}.
|
|
49
|
+
*
|
|
50
|
+
* It is deliberately not a {@link PathDeniedError}: nothing was denied, there
|
|
51
|
+
* is simply nothing to scope to yet. Catch it to fall back to
|
|
52
|
+
* {@link ExtensionStorageScopes.globalDir | globalDir} or to defer the work
|
|
53
|
+
* until a workspace opens:
|
|
54
|
+
*
|
|
55
|
+
* ```ts
|
|
56
|
+
* try {
|
|
57
|
+
* const dir = await ctx.storage.workspaceDir();
|
|
58
|
+
* } catch (err) {
|
|
59
|
+
* if (err instanceof NoWorkspaceError) return; // nothing to persist yet
|
|
60
|
+
* throw err;
|
|
61
|
+
* }
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* @category Core Types
|
|
65
|
+
* @public
|
|
66
|
+
*/
|
|
67
|
+
export declare class NoWorkspaceError extends Error {
|
|
68
|
+
constructor(message?: string);
|
|
69
|
+
}
|
|
46
70
|
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,UAAU,GACV,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAEd;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAS3C"}
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,UAAU,GACV,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAEd;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAS3C;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,CAAC,EAAE,MAAM;CAO7B"}
|
package/dist/permissions.js
CHANGED
|
@@ -37,4 +37,34 @@ export class PathDeniedError extends Error {
|
|
|
37
37
|
Object.setPrototypeOf(this, PathDeniedError.prototype);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Thrown when an API that needs the **active workspace** is called while no
|
|
42
|
+
* workspace is open — today, {@link ExtensionStorageScopes.workspaceDir}.
|
|
43
|
+
*
|
|
44
|
+
* It is deliberately not a {@link PathDeniedError}: nothing was denied, there
|
|
45
|
+
* is simply nothing to scope to yet. Catch it to fall back to
|
|
46
|
+
* {@link ExtensionStorageScopes.globalDir | globalDir} or to defer the work
|
|
47
|
+
* until a workspace opens:
|
|
48
|
+
*
|
|
49
|
+
* ```ts
|
|
50
|
+
* try {
|
|
51
|
+
* const dir = await ctx.storage.workspaceDir();
|
|
52
|
+
* } catch (err) {
|
|
53
|
+
* if (err instanceof NoWorkspaceError) return; // nothing to persist yet
|
|
54
|
+
* throw err;
|
|
55
|
+
* }
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* @category Core Types
|
|
59
|
+
* @public
|
|
60
|
+
*/
|
|
61
|
+
export class NoWorkspaceError extends Error {
|
|
62
|
+
constructor(message) {
|
|
63
|
+
super(message ?? "No workspace is open");
|
|
64
|
+
this.name = "NoWorkspaceError";
|
|
65
|
+
// Same prototype-chain restoration as PathDeniedError — `instanceof` has to
|
|
66
|
+
// survive the down-leveled build and the host↔extension boundary.
|
|
67
|
+
Object.setPrototypeOf(this, NoWorkspaceError.prototype);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
40
70
|
//# sourceMappingURL=permissions.js.map
|
package/dist/permissions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,6EAA6E;AAC7E,8EAA8E;AAC9E,qEAAqE;AA+BrE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAIxC,YAAY,IAAY,EAAE,OAAgB;QACxC,KAAK,CAAC,OAAO,IAAI,kCAAkC,IAAI,EAAE,CAAC,CAAC;QAJ7D,8DAA8D;QACrD;;;;;WAAa;QAIpB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,4EAA4E;QAC5E,4EAA4E;QAC5E,yCAAyC;QACzC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,6EAA6E;AAC7E,8EAA8E;AAC9E,qEAAqE;AA+BrE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAIxC,YAAY,IAAY,EAAE,OAAgB;QACxC,KAAK,CAAC,OAAO,IAAI,kCAAkC,IAAI,EAAE,CAAC,CAAC;QAJ7D,8DAA8D;QACrD;;;;;WAAa;QAIpB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,4EAA4E;QAC5E,4EAA4E;QAC5E,yCAAyC;QACzC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,IAAI,sBAAsB,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,4EAA4E;QAC5E,kEAAkE;QAClE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;CACF"}
|
package/dist/types.d.ts
CHANGED
|
@@ -635,7 +635,10 @@ export interface StatusItem {
|
|
|
635
635
|
export interface SettingsPage {
|
|
636
636
|
/** Unique id for this settings page. */
|
|
637
637
|
id: string;
|
|
638
|
-
/**
|
|
638
|
+
/**
|
|
639
|
+
* Label shown in the Settings left rail **and** as the host-owned page
|
|
640
|
+
* title in the pane. Do not render your own `<h2>` — the host draws this.
|
|
641
|
+
*/
|
|
639
642
|
title: string;
|
|
640
643
|
/**
|
|
641
644
|
* Optional grouping key for the left rail (groups sorted lexically, separated
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE/E;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,yCAAyC;IACzC,KAAK,IAAI,IAAI,CAAC;IACd,yEAAyE;IACzE,SAAS,IAAI,IAAI,CAAC;IAClB,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,iBAAiB,CACf,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,GACxD,UAAU,CAAC;IACd;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;;;OAKG;IACH,qBAAqB,CACnB,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,GACzD,UAAU,CAAC;IACd;;;;OAIG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxE,oEAAoE;IACpE,GAAG,EAAE,YAAY,CAAC;IAClB,mEAAmE;IACnE,MAAM,EAAE,CAAC,CAAC;CACX;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,kEAAkE;IAClE,OAAO,EAAE,YAAY,CAAC;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,MAAM;IACrB,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC;IACxC,qDAAqD;IACrD,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC5C;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,QAAQ;IACvB,4CAA4C;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,sEAAsE;IACtE,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,OAAO;IACtB,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAC;IACX,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElE;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC;CACtC;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,GACnB,eAAe,GACf,YAAY,GACZ,cAAc,GACd,eAAe,GACf,WAAW,CAAC;AAEhB;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,WAAW;IAC1B,eAAe,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,YAAY,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5E,cAAc,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D;;;;;;OAMG;IACH,eAAe,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5E,SAAS,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IAC1E,2CAA2C;IAC3C,OAAO,EAAE,CAAC,CAAC;IACX,wGAAwG;IACxG,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+FAA+F;IAC/F,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;IAC7D;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;CACjE;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,UAAU;IACzB,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC;CACtC;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,+EAA+E;IAC/E,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;;;OAOG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,4CAA4C;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,qCAAqC;IACrC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAC/C,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,aAAa;IAC5B,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,wEAAwE;IACxE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACnD;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvE,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,oFAAoF;IACpF,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD;;;OAGG;IACH,WAAW,CAAC,EAAE;QACZ,wDAAwD;QACxD,KAAK,EAAE,MAAM,CAAC;QACd,uDAAuD;QACvD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB;;;WAGG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,CAAC;CACH;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,qDAAqD;IACrD,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC;CAChC;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC;IACrC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,6EAA6E;IAC7E,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IAC3C,+DAA+D;IAC/D,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7C,8DAA8D;IAC9D,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAAC;IAC1C,2EAA2E;IAC3E,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,UAAU,CAAC;IACzD;;;;OAIG;IACH,uBAAuB,CAAC,CAAC,SAAS,WAAW,EAC3C,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAC/B,UAAU,CAAC;IACd;;;;;;;OAOG;IACH,mBAAmB,CAAC,CAAC,SAAS,cAAc,EAC1C,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAC/B,UAAU,CAAC;IACd;;;;OAIG;IACH,sBAAsB,IAAI,IAAI,CAAC;IAC/B,oEAAoE;IACpE,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,CAAC;IACpD,gEAAgE;IAChE,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC;IAChD;;;;OAIG;IACH,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU,CAAC;IACvD;;;;OAIG;IACH,qBAAqB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9D,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GACrB,UAAU,CAAC;IACd,2DAA2D;IAC3D,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC;IACjD,uEAAuE;IACvE,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,CAAC;IACrD;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU,CAAC;IACrD;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACxE;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,GAAG,GAAG,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;CAC3E;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe,CAAC,GAAG,GAAG,OAAO;IAC5C,mCAAmC;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB;gDAC4C;IAC5C,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,CAAC;CAC/B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,SAAS,CAAC,GAAG,GAAG,OAAO;IACtC;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,GAAG,GAAG,IAAI,CAAC;IAC5C,gEAAgE;IAChE,UAAU,CAAC,IAAI,IAAI,CAAC;CACrB"}
|
package/package.json
CHANGED
package/src/SettingRow.tsx
CHANGED
|
@@ -22,16 +22,64 @@ import type { ReactNode } from "react";
|
|
|
22
22
|
* </SettingRow>
|
|
23
23
|
* ```
|
|
24
24
|
*
|
|
25
|
+
* A row can also nest sub-settings that only make sense while its own
|
|
26
|
+
* setting is on, via `enabled`/`dependent`:
|
|
27
|
+
*
|
|
28
|
+
* ```tsx
|
|
29
|
+
* <SettingRow
|
|
30
|
+
* label="Collapse older agents"
|
|
31
|
+
* hint="Agents drop off into a collapsed section once older than the cutoff."
|
|
32
|
+
* enabled={staleDoneEnabled}
|
|
33
|
+
* dependent={
|
|
34
|
+
* <CheckboxRow
|
|
35
|
+
* label="Auto-expand on hover"
|
|
36
|
+
* checked={autoExpand}
|
|
37
|
+
* onChange={setAutoExpand}
|
|
38
|
+
* />
|
|
39
|
+
* }
|
|
40
|
+
* >
|
|
41
|
+
* <Switch
|
|
42
|
+
* checked={staleDoneEnabled}
|
|
43
|
+
* onChange={setStaleDoneEnabled}
|
|
44
|
+
* aria-label="Collapse older agents"
|
|
45
|
+
* />
|
|
46
|
+
* </SettingRow>
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* `dependent` renders inside a native `<fieldset>`, so when `enabled` is
|
|
50
|
+
* `false` every focusable descendant is disabled automatically and the whole
|
|
51
|
+
* block dims — no need to thread `disabled` into each child by hand. `enabled`
|
|
52
|
+
* is a plain boolean unrelated to whatever `children` renders (a `Switch`, a
|
|
53
|
+
* `Select`, or nothing at all) — nothing requires the row to have a toggle.
|
|
54
|
+
*
|
|
25
55
|
* @category Consumer Services
|
|
26
56
|
* @public
|
|
27
57
|
*/
|
|
28
58
|
export function SettingRow({
|
|
29
59
|
label,
|
|
30
60
|
hint,
|
|
61
|
+
enabled,
|
|
62
|
+
dependent,
|
|
31
63
|
children,
|
|
32
64
|
}: {
|
|
33
65
|
label: string;
|
|
34
66
|
hint?: string;
|
|
67
|
+
/**
|
|
68
|
+
* Gates `dependent` — a plain boolean, unrelated to whatever control
|
|
69
|
+
* `children` renders. Omit (or leave `true`) to leave `dependent` always
|
|
70
|
+
* enabled.
|
|
71
|
+
*/
|
|
72
|
+
enabled?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Extra content rendered below the label+hint, in the same left column but
|
|
75
|
+
* its own row — sub-settings that only make sense while this row's own
|
|
76
|
+
* setting is on. Kept out of `children`'s vertical centering (it sits
|
|
77
|
+
* below, not inside, the label+hint block `children` centers against).
|
|
78
|
+
* Rendered inside a native `<fieldset>`: when `enabled` is `false`, every
|
|
79
|
+
* focusable descendant is disabled automatically and the whole block dims —
|
|
80
|
+
* no need to thread `disabled` into each child by hand.
|
|
81
|
+
*/
|
|
82
|
+
dependent?: ReactNode;
|
|
35
83
|
/** The control — `Switch`, `Select`, `Input`, etc. */
|
|
36
84
|
children?: ReactNode;
|
|
37
85
|
}) {
|
|
@@ -42,6 +90,14 @@ export function SettingRow({
|
|
|
42
90
|
{hint != null && <div className="silo-setting-row-hint">{hint}</div>}
|
|
43
91
|
</div>
|
|
44
92
|
<div className="silo-setting-row-control">{children}</div>
|
|
93
|
+
{Boolean(dependent) && (
|
|
94
|
+
<fieldset
|
|
95
|
+
className="silo-setting-row-dependent"
|
|
96
|
+
disabled={enabled === false}
|
|
97
|
+
>
|
|
98
|
+
{dependent}
|
|
99
|
+
</fieldset>
|
|
100
|
+
)}
|
|
45
101
|
</div>
|
|
46
102
|
);
|
|
47
103
|
}
|
package/src/extension-storage.ts
CHANGED
|
@@ -36,8 +36,9 @@ export interface ExtensionStorage {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
|
-
* The
|
|
40
|
-
* {@link ExtensionContext.storage}
|
|
39
|
+
* The persisted-storage scopes available to an extension, exposed as
|
|
40
|
+
* {@link ExtensionContext.storage}: two key/value bags for settings-sized
|
|
41
|
+
* state, and the two matching **directories** for real data files.
|
|
41
42
|
*
|
|
42
43
|
* @category Consumer Services
|
|
43
44
|
* @public
|
|
@@ -54,4 +55,54 @@ export interface ExtensionStorageScopes {
|
|
|
54
55
|
* toggles). The bag is swapped when the active workspace changes.
|
|
55
56
|
*/
|
|
56
57
|
readonly workspace: ExtensionStorage;
|
|
58
|
+
/**
|
|
59
|
+
* An absolute path to a **directory of your own**, shared across every
|
|
60
|
+
* workspace — the filesystem counterpart to {@link ExtensionStorageScopes.global}.
|
|
61
|
+
* Use it for real data files (a `.jsonl` log, a cache, an export) rather than
|
|
62
|
+
* inventing a path under the user's home directory.
|
|
63
|
+
*
|
|
64
|
+
* The directory is created on first call and lives under Silo's user-config
|
|
65
|
+
* root, namespaced by your extension id:
|
|
66
|
+
* `~/.config/silo/extension-storage/<your-id>/global`. The path is stable
|
|
67
|
+
* across calls, activations, and restarts.
|
|
68
|
+
*
|
|
69
|
+
* **No filesystem permission is needed inside it.** Paths beneath this
|
|
70
|
+
* directory are readable and writable through {@link ExtensionContext.files}
|
|
71
|
+
* without declaring `fs:read` or `fs:write` — your own storage is inside your
|
|
72
|
+
* sandbox, the same way the open workspace folder is. The lift stops at
|
|
73
|
+
* `ctx.files`: running a process with a working directory in here still needs
|
|
74
|
+
* the `process` permission (passing the path to a command as an *argument*
|
|
75
|
+
* needs nothing extra).
|
|
76
|
+
*
|
|
77
|
+
* Relative paths passed to `ctx.files` still resolve against the **workspace**,
|
|
78
|
+
* not this directory — always join onto the absolute path you get back.
|
|
79
|
+
*
|
|
80
|
+
* ```ts
|
|
81
|
+
* const dir = await ctx.storage.globalDir();
|
|
82
|
+
* await ctx.files.writeText(`${dir}/tasks.jsonl`, body);
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* Uninstalling your extension does **not** delete this directory unless the
|
|
86
|
+
* user opts in; the data survives a reinstall.
|
|
87
|
+
*/
|
|
88
|
+
globalDir(): Promise<string>;
|
|
89
|
+
/**
|
|
90
|
+
* An absolute path to a directory of your own scoped to the **active
|
|
91
|
+
* workspace** — the filesystem counterpart to
|
|
92
|
+
* {@link ExtensionStorageScopes.workspace}. Created on first call, at
|
|
93
|
+
* `~/.config/silo/extension-storage/<your-id>/workspaces/<workspaceId>`.
|
|
94
|
+
*
|
|
95
|
+
* Everything {@link ExtensionStorageScopes.globalDir} says about permissions
|
|
96
|
+
* and relative paths applies here too. Call it again after the active
|
|
97
|
+
* workspace changes — the path changes with it, so don't cache it across a
|
|
98
|
+
* workspace switch.
|
|
99
|
+
*
|
|
100
|
+
* The directory follows the workspace's **identity**, not its folder path:
|
|
101
|
+
* deleting a workspace and re-adding the same folder gives you a new, empty
|
|
102
|
+
* directory (the same rule {@link ExtensionStorageScopes.workspace} follows).
|
|
103
|
+
* Deleting a workspace leaves the directory on disk.
|
|
104
|
+
*
|
|
105
|
+
* Rejects with `NoWorkspaceError` when no workspace is open.
|
|
106
|
+
*/
|
|
107
|
+
workspaceDir(): Promise<string>;
|
|
57
108
|
}
|
package/src/index.ts
CHANGED
|
@@ -163,9 +163,10 @@ export type {
|
|
|
163
163
|
} from "./search-service";
|
|
164
164
|
// The permission surface: the capability vocabulary an extension declares, and
|
|
165
165
|
// the error the host throws when an extension reaches outside the workspace
|
|
166
|
-
// without the matching grant. `PathDeniedError`
|
|
166
|
+
// without the matching grant. `PathDeniedError` and `NoWorkspaceError` are
|
|
167
|
+
// classes (runtime values).
|
|
167
168
|
export type { Permission } from "./permissions";
|
|
168
|
-
export { PathDeniedError } from "./permissions";
|
|
169
|
+
export { PathDeniedError, NoWorkspaceError } from "./permissions";
|
|
169
170
|
// The theme domain: the consumer service + its state/resolve shapes, the
|
|
170
171
|
// `ThemePreset` contribution type (registered via ctx.registerThemePreset), and
|
|
171
172
|
// the underlying theme types (re-exported from ./domain-types via theme-service).
|
package/src/permissions.ts
CHANGED
|
@@ -63,3 +63,34 @@ export class PathDeniedError extends Error {
|
|
|
63
63
|
Object.setPrototypeOf(this, PathDeniedError.prototype);
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Thrown when an API that needs the **active workspace** is called while no
|
|
69
|
+
* workspace is open — today, {@link ExtensionStorageScopes.workspaceDir}.
|
|
70
|
+
*
|
|
71
|
+
* It is deliberately not a {@link PathDeniedError}: nothing was denied, there
|
|
72
|
+
* is simply nothing to scope to yet. Catch it to fall back to
|
|
73
|
+
* {@link ExtensionStorageScopes.globalDir | globalDir} or to defer the work
|
|
74
|
+
* until a workspace opens:
|
|
75
|
+
*
|
|
76
|
+
* ```ts
|
|
77
|
+
* try {
|
|
78
|
+
* const dir = await ctx.storage.workspaceDir();
|
|
79
|
+
* } catch (err) {
|
|
80
|
+
* if (err instanceof NoWorkspaceError) return; // nothing to persist yet
|
|
81
|
+
* throw err;
|
|
82
|
+
* }
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* @category Core Types
|
|
86
|
+
* @public
|
|
87
|
+
*/
|
|
88
|
+
export class NoWorkspaceError extends Error {
|
|
89
|
+
constructor(message?: string) {
|
|
90
|
+
super(message ?? "No workspace is open");
|
|
91
|
+
this.name = "NoWorkspaceError";
|
|
92
|
+
// Same prototype-chain restoration as PathDeniedError — `instanceof` has to
|
|
93
|
+
// survive the down-leveled build and the host↔extension boundary.
|
|
94
|
+
Object.setPrototypeOf(this, NoWorkspaceError.prototype);
|
|
95
|
+
}
|
|
96
|
+
}
|
package/src/types.ts
CHANGED
|
@@ -650,7 +650,10 @@ export interface StatusItem {
|
|
|
650
650
|
export interface SettingsPage {
|
|
651
651
|
/** Unique id for this settings page. */
|
|
652
652
|
id: string;
|
|
653
|
-
/**
|
|
653
|
+
/**
|
|
654
|
+
* Label shown in the Settings left rail **and** as the host-owned page
|
|
655
|
+
* title in the pane. Do not render your own `<h2>` — the host draws this.
|
|
656
|
+
*/
|
|
654
657
|
title: string;
|
|
655
658
|
/**
|
|
656
659
|
* Optional grouping key for the left rail (groups sorted lexically, separated
|