@silo-code/sdk 0.32.0 → 0.34.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/Badge.d.ts +11 -3
- package/dist/Badge.d.ts.map +1 -1
- package/dist/Badge.js +8 -2
- package/dist/Badge.js.map +1 -1
- package/dist/badge-classes.d.ts +10 -2
- package/dist/badge-classes.d.ts.map +1 -1
- package/dist/badge-classes.js +6 -5
- package/dist/badge-classes.js.map +1 -1
- package/dist/domain-types.d.ts +6 -0
- package/dist/domain-types.d.ts.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/tab-adornment.d.ts +49 -0
- package/dist/tab-adornment.d.ts.map +1 -1
- package/dist/terminal-service.d.ts +24 -0
- package/dist/terminal-service.d.ts.map +1 -1
- package/dist/toolbar-items.d.ts +12 -3
- package/dist/toolbar-items.d.ts.map +1 -1
- package/dist/types.d.ts +69 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/workspace-service.d.ts +53 -0
- package/dist/workspace-service.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Badge.tsx +12 -3
- package/src/badge-classes.test.ts +21 -0
- package/src/badge-classes.ts +14 -3
- package/src/domain-types.ts +7 -0
- package/src/index.ts +6 -1
- package/src/tab-adornment.ts +53 -0
- package/src/terminal-service.ts +25 -0
- package/src/toolbar-items.ts +10 -3
- package/src/types.ts +71 -2
- package/src/workspace-service.ts +55 -0
package/dist/Badge.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { HTMLAttributes, ReactNode } from "react";
|
|
2
|
-
import { type BadgeTone } from "./badge-classes.js";
|
|
3
|
-
export type { BadgeTone };
|
|
2
|
+
import { type BadgeSize, type BadgeTone } from "./badge-classes.js";
|
|
3
|
+
export type { BadgeSize, BadgeTone };
|
|
4
4
|
/**
|
|
5
5
|
* A small pill for status or identity — on a {@link ListRow}'s trailing
|
|
6
6
|
* slot, in a {@link SettingRow}'s control slot, next to a title. An
|
|
@@ -10,6 +10,11 @@ export type { BadgeTone };
|
|
|
10
10
|
* Styled purely via host-provided `.silo-badge*` classes — no stylesheet
|
|
11
11
|
* import is needed in the extension.
|
|
12
12
|
*
|
|
13
|
+
* Two sizes: the default `"md"` text chip, and `"sm"` — tighter padding at a
|
|
14
|
+
* slightly smaller, em-relative size, for counters sitting beside a label
|
|
15
|
+
* (a section's row count, a workspace's extra-folder count). `"sm"` scales
|
|
16
|
+
* with the surrounding text, so it tracks a side column's own font size.
|
|
17
|
+
*
|
|
13
18
|
* @example
|
|
14
19
|
* ```tsx
|
|
15
20
|
* <Badge tone="ok">Installed</Badge>
|
|
@@ -18,13 +23,16 @@ export type { BadgeTone };
|
|
|
18
23
|
* <Badge>primary</Badge>
|
|
19
24
|
* <Badge tone="outline">Silo</Badge>
|
|
20
25
|
* <Badge color="#e06c75">Frontend</Badge>
|
|
26
|
+
* <Badge size="sm">{rows.length}</Badge>
|
|
21
27
|
* ```
|
|
22
28
|
*
|
|
23
29
|
* @category Consumer Services
|
|
24
30
|
* @public
|
|
25
31
|
*/
|
|
26
|
-
export declare function Badge({ tone, color, className, style, children, ...rest }: {
|
|
32
|
+
export declare function Badge({ tone, size, color, className, style, children, ...rest }: {
|
|
27
33
|
tone?: BadgeTone;
|
|
34
|
+
/** Chip geometry — `"sm"` for counters, `"md"` (default) for text. */
|
|
35
|
+
size?: BadgeSize;
|
|
28
36
|
/** Arbitrary CSS color — overrides `tone` for identity colors. */
|
|
29
37
|
color?: string;
|
|
30
38
|
children?: ReactNode;
|
package/dist/Badge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../src/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../src/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE7E,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,KAAK,CAAC,EACpB,IAAgB,EAChB,IAAW,EACX,KAAK,EACL,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,IAAI,EACR,EAAE;IACD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,sEAAsE;IACtE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,+BAe9D"}
|
package/dist/Badge.js
CHANGED
|
@@ -9,6 +9,11 @@ import { badgeClass } from "./badge-classes.js";
|
|
|
9
9
|
* Styled purely via host-provided `.silo-badge*` classes — no stylesheet
|
|
10
10
|
* import is needed in the extension.
|
|
11
11
|
*
|
|
12
|
+
* Two sizes: the default `"md"` text chip, and `"sm"` — tighter padding at a
|
|
13
|
+
* slightly smaller, em-relative size, for counters sitting beside a label
|
|
14
|
+
* (a section's row count, a workspace's extra-folder count). `"sm"` scales
|
|
15
|
+
* with the surrounding text, so it tracks a side column's own font size.
|
|
16
|
+
*
|
|
12
17
|
* @example
|
|
13
18
|
* ```tsx
|
|
14
19
|
* <Badge tone="ok">Installed</Badge>
|
|
@@ -17,13 +22,14 @@ import { badgeClass } from "./badge-classes.js";
|
|
|
17
22
|
* <Badge>primary</Badge>
|
|
18
23
|
* <Badge tone="outline">Silo</Badge>
|
|
19
24
|
* <Badge color="#e06c75">Frontend</Badge>
|
|
25
|
+
* <Badge size="sm">{rows.length}</Badge>
|
|
20
26
|
* ```
|
|
21
27
|
*
|
|
22
28
|
* @category Consumer Services
|
|
23
29
|
* @public
|
|
24
30
|
*/
|
|
25
|
-
export function Badge({ tone = "neutral", color, className, style, children, ...rest }) {
|
|
26
|
-
const classes = badgeClass(tone, color);
|
|
31
|
+
export function Badge({ tone = "neutral", size = "md", color, className, style, children, ...rest }) {
|
|
32
|
+
const classes = badgeClass(tone, color, size);
|
|
27
33
|
const mergedStyle = color != null
|
|
28
34
|
? { ...style, ["--badge-color"]: color }
|
|
29
35
|
: style;
|
package/dist/Badge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.js","sourceRoot":"","sources":["../src/Badge.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"Badge.js","sourceRoot":"","sources":["../src/Badge.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAkC,MAAM,iBAAiB,CAAC;AAI7E;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,KAAK,CAAC,EACpB,IAAI,GAAG,SAAS,EAChB,IAAI,GAAG,IAAI,EACX,KAAK,EACL,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,IAAI,EAQsD;IAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9C,MAAM,WAAW,GACf,KAAK,IAAI,IAAI;QACX,CAAC,CAAE,EAAE,GAAG,KAAK,EAAE,CAAC,eAAyB,CAAC,EAAE,KAAK,EAAoB;QACrE,CAAC,CAAC,KAAK,CAAC;IACZ,OAAO,CACL,eACE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,EAC1D,KAAK,EAAE,WAAW,KACd,IAAI,YAEP,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC"}
|
package/dist/badge-classes.d.ts
CHANGED
|
@@ -5,11 +5,19 @@
|
|
|
5
5
|
* @internal
|
|
6
6
|
*/
|
|
7
7
|
export type BadgeTone = "neutral" | "accent" | "ok" | "warn" | "err" | "outline";
|
|
8
|
+
/**
|
|
9
|
+
* Size axis for {@link Badge}. `"md"` is the default text chip; `"sm"` is the
|
|
10
|
+
* tighter counter chip.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export type BadgeSize = "sm" | "md";
|
|
8
15
|
/**
|
|
9
16
|
* Resolve the host `.silo-badge*` class string. An arbitrary `color` wins over
|
|
10
|
-
* `tone` and selects `.silo-badge-custom` (fed via `--badge-color`).
|
|
17
|
+
* `tone` and selects `.silo-badge-custom` (fed via `--badge-color`). The
|
|
18
|
+
* default `"md"` size adds no class, so existing markup is unchanged.
|
|
11
19
|
*
|
|
12
20
|
* @internal
|
|
13
21
|
*/
|
|
14
|
-
export declare function badgeClass(tone?: BadgeTone, color?: string): string;
|
|
22
|
+
export declare function badgeClass(tone?: BadgeTone, color?: string, size?: BadgeSize): string;
|
|
15
23
|
//# sourceMappingURL=badge-classes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge-classes.d.ts","sourceRoot":"","sources":["../src/badge-classes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,QAAQ,GACR,IAAI,GACJ,MAAM,GACN,KAAK,GACL,SAAS,CAAC;AAEd;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,IAAI,GAAE,SAAqB,EAC3B,KAAK,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"badge-classes.d.ts","sourceRoot":"","sources":["../src/badge-classes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,QAAQ,GACR,IAAI,GACJ,MAAM,GACN,KAAK,GACL,SAAS,CAAC;AAEd;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;AAEpC;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,IAAI,GAAE,SAAqB,EAC3B,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,GAAE,SAAgB,GACrB,MAAM,CAIR"}
|
package/dist/badge-classes.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Resolve the host `.silo-badge*` class string. An arbitrary `color` wins over
|
|
3
|
-
* `tone` and selects `.silo-badge-custom` (fed via `--badge-color`).
|
|
3
|
+
* `tone` and selects `.silo-badge-custom` (fed via `--badge-color`). The
|
|
4
|
+
* default `"md"` size adds no class, so existing markup is unchanged.
|
|
4
5
|
*
|
|
5
6
|
* @internal
|
|
6
7
|
*/
|
|
7
|
-
export function badgeClass(tone = "neutral", color) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
return `silo-badge
|
|
8
|
+
export function badgeClass(tone = "neutral", color, size = "md") {
|
|
9
|
+
const toneClass = color != null ? "silo-badge-custom" : `silo-badge-${tone}`;
|
|
10
|
+
const sizeClass = size === "sm" ? " silo-badge-sm" : "";
|
|
11
|
+
return `silo-badge ${toneClass}${sizeClass}`;
|
|
11
12
|
}
|
|
12
13
|
//# sourceMappingURL=badge-classes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge-classes.js","sourceRoot":"","sources":["../src/badge-classes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"badge-classes.js","sourceRoot":"","sources":["../src/badge-classes.ts"],"names":[],"mappings":"AAsBA;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CACxB,OAAkB,SAAS,EAC3B,KAAc,EACd,OAAkB,IAAI;IAEtB,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC;IAC7E,MAAM,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,OAAO,cAAc,SAAS,GAAG,SAAS,EAAE,CAAC;AAC/C,CAAC"}
|
package/dist/domain-types.d.ts
CHANGED
|
@@ -198,6 +198,12 @@ export interface ThemeVars {
|
|
|
198
198
|
"--silo-notify-bg": string;
|
|
199
199
|
"--silo-notify-text": string;
|
|
200
200
|
"--silo-notify-text-hi": string;
|
|
201
|
+
"--silo-list-radius": string;
|
|
202
|
+
"--silo-list-inset": string;
|
|
203
|
+
"--silo-list-hover-bg": string;
|
|
204
|
+
"--silo-list-active-bg": string;
|
|
205
|
+
/** Selected-row outline — use a bordered selection instead of (or with) a fill. */
|
|
206
|
+
"--silo-list-active-outline": string;
|
|
201
207
|
}
|
|
202
208
|
/**
|
|
203
209
|
* A persisted custom theme.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-types.d.ts","sourceRoot":"","sources":["../src/domain-types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"domain-types.d.ts","sourceRoot":"","sources":["../src/domain-types.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* @packageDocumentation
|
|
17
17
|
*/
|
|
18
|
-
export type { Disposable, DockPanelApi, DockPanelProps, EditorProps, EditorCapabilities, Editor, NewFileTemplate, FileType, Command, MenuId, MenuItemContribution, MenuSurface, MenuContext, ContextMenuContribution, Keybinding, SidePanelProps, SidePanel, DockPanelKind, StatusItem, SettingsPage, ExtensionContext, Extension, ExtensionManifest, ExtensionHandle, } from "./types.js";
|
|
18
|
+
export type { Disposable, DockPanelApi, DockPanelProps, EditorProps, EditorCapabilities, Editor, NewFileTemplate, FileType, Command, MenuId, MenuItemContribution, MenuSurface, MenuContext, ContextMenuContribution, Keybinding, SidePanelProps, SidePanel, NavigatorView, NavigatorViewProps, DockPanelKind, StatusItem, SettingsPage, ExtensionContext, Extension, ExtensionManifest, ExtensionHandle, } from "./types.js";
|
|
19
19
|
export type { Workspace, EditorMode, EditorRecord, SidePanelSlot, } from "./domain-types.js";
|
|
20
20
|
export type { WorkspaceService, WorkspaceState, CreateWorkspaceInput, WorkspaceStatusRow, WorkspaceStatusProvider, WorkspaceSectionProps, WorkspaceSectionProvider, WorkspaceBadge, WorkspaceBadgeProvider, WorkspacePropertyPage, WorkspacePropertyPageProps, } from "./workspace-service.js";
|
|
21
21
|
export type { EditorService, EditorSaveHandlers, OpenFileOptions, EditorViewInfo, OpenDiffSpec, DiffContent, DiffContentRequest, DiffContentProvider, ActiveEditorInfo, EditorsState, EditorSaveEvent, } from "./editor-service.js";
|
|
@@ -24,7 +24,7 @@ export type { ProcessService, ProcessSession, ProcessSpawnOptions, ProcessExecOp
|
|
|
24
24
|
export type { ProcessesService, ProcessInfo, ProcessStats, ProcessTreeNode, } from "./processes-service.js";
|
|
25
25
|
export type { AgentsService, AgentInfo, AgentActivity } from "./agents-service.js";
|
|
26
26
|
export type { TerminalService, CreateTerminalInput, TerminalKind, TerminalRecord, TerminalTabDecoration, TerminalTabDecorationProvider, OscEvent, } from "./terminal-service.js";
|
|
27
|
-
export type { TabAdornmentColor, TabIconAdornment, TabIndicatorAdornment, TabIndicatorFlash, TabActivityAdornment, TabActivityFlash, TabIconContribution, TabIndicatorContribution, TabActivityContribution, TabIconBinder, TabIndicatorBinder, TabActivityBinder, TabAdornmentMethods, } from "./tab-adornment.js";
|
|
27
|
+
export type { TabAdornmentColor, TabIconAdornment, TabHighlightAdornment, TabIndicatorAdornment, TabIndicatorFlash, TabActivityAdornment, TabActivityFlash, TabIconContribution, TabHighlightContribution, TabIndicatorContribution, TabActivityContribution, TabIconBinder, TabHighlightBinder, TabIndicatorBinder, TabActivityBinder, TabAdornmentMethods, } from "./tab-adornment.js";
|
|
28
28
|
export type { Activity, ActivitySize } from "./activity.js";
|
|
29
29
|
export { activityFromAgent } from "./activity.js";
|
|
30
30
|
export { ActivityGlyph } from "./ActivityGlyph.js";
|
|
@@ -70,7 +70,7 @@ export { List, ListRow } from "./List.js";
|
|
|
70
70
|
export type { ListRowProps, ListRowTruncate } from "./List.js";
|
|
71
71
|
export { AddRow } from "./AddRow.js";
|
|
72
72
|
export { Badge } from "./Badge.js";
|
|
73
|
-
export type { BadgeTone } from "./Badge.js";
|
|
73
|
+
export type { BadgeSize, BadgeTone } from "./Badge.js";
|
|
74
74
|
export { EmptyState } from "./EmptyState.js";
|
|
75
75
|
export type { EmptyStateTone } from "./EmptyState.js";
|
|
76
76
|
export { Callout } from "./Callout.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAqHH,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAgChD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA6BhD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAoBzC,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,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/tab-adornment.d.ts
CHANGED
|
@@ -24,6 +24,24 @@ export interface TabIconAdornment {
|
|
|
24
24
|
/** Leading glyph / logo rendered before the tab title. */
|
|
25
25
|
icon: ReactNode;
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Soft tinted highlight across the entire CenterDock tab (icon, title, and
|
|
29
|
+
* every other adornment) — not just the label. Contributing one (via `set`
|
|
30
|
+
* or a `bind` that returns non-`null`) is itself the on/off signal; there's
|
|
31
|
+
* no separate boolean. At most one applies per tab — if multiple extensions
|
|
32
|
+
* contribute one for the same target, the first found wins.
|
|
33
|
+
*
|
|
34
|
+
* Set via {@link EditorService.setHighlight} / {@link TerminalService.setHighlight}.
|
|
35
|
+
*
|
|
36
|
+
* @category Consumer Services
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
export interface TabHighlightAdornment {
|
|
40
|
+
/** Extension-owned key; clear target. */
|
|
41
|
+
id: string;
|
|
42
|
+
/** Semantic color for the highlight fill. Defaults to `"accent"`. */
|
|
43
|
+
color?: TabAdornmentColor;
|
|
44
|
+
}
|
|
27
45
|
/**
|
|
28
46
|
* Trailing status adornment on a CenterDock tab — static Phosphor glyph.
|
|
29
47
|
* For busy/ready/warn/error chrome use {@link TabActivityAdornment} instead
|
|
@@ -104,6 +122,13 @@ export type TabActivityFlash = TabActivityContribution & {
|
|
|
104
122
|
* @public
|
|
105
123
|
*/
|
|
106
124
|
export type TabIconContribution = Omit<TabIconAdornment, "id">;
|
|
125
|
+
/**
|
|
126
|
+
* Fields contributed by a {@link TabHighlightBinder.provide} call.
|
|
127
|
+
*
|
|
128
|
+
* @category Consumer Services
|
|
129
|
+
* @public
|
|
130
|
+
*/
|
|
131
|
+
export type TabHighlightContribution = Omit<TabHighlightAdornment, "id">;
|
|
107
132
|
/**
|
|
108
133
|
* Fields contributed by a {@link TabIndicatorBinder.provide} call.
|
|
109
134
|
*
|
|
@@ -134,6 +159,22 @@ export interface TabIconBinder {
|
|
|
134
159
|
*/
|
|
135
160
|
provide(targetId: string): TabIconContribution | null;
|
|
136
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* Keep a whole-tab highlight projection in sync for every editor/terminal
|
|
164
|
+
* tab.
|
|
165
|
+
*
|
|
166
|
+
* @category Consumer Services
|
|
167
|
+
* @public
|
|
168
|
+
*/
|
|
169
|
+
export interface TabHighlightBinder {
|
|
170
|
+
/** Extension-owned key — conventionally `"<extension-id>.tab-highlight"`. */
|
|
171
|
+
id: string;
|
|
172
|
+
/**
|
|
173
|
+
* Called synchronously per tab during render. Return `null` to contribute
|
|
174
|
+
* no highlight for this target id.
|
|
175
|
+
*/
|
|
176
|
+
provide(targetId: string): TabHighlightContribution | null;
|
|
177
|
+
}
|
|
137
178
|
/**
|
|
138
179
|
* Keep a trailing-indicator projection in sync for every editor/terminal tab.
|
|
139
180
|
*
|
|
@@ -172,6 +213,9 @@ export interface TabAdornmentMethods {
|
|
|
172
213
|
setIcon(targetId: string, adornment: TabIconAdornment): void;
|
|
173
214
|
clearIcon(targetId: string, adornmentId: string): void;
|
|
174
215
|
bindIcon(binder: TabIconBinder): Disposable;
|
|
216
|
+
setHighlight(targetId: string, adornment: TabHighlightAdornment): void;
|
|
217
|
+
clearHighlight(targetId: string, adornmentId: string): void;
|
|
218
|
+
bindHighlight(binder: TabHighlightBinder): Disposable;
|
|
175
219
|
setIndicator(targetId: string, adornment: TabIndicatorAdornment): void;
|
|
176
220
|
clearIndicator(targetId: string, adornmentId: string): void;
|
|
177
221
|
flashIndicator(targetId: string, flash: TabIndicatorFlash): void;
|
|
@@ -182,6 +226,11 @@ export interface TabAdornmentMethods {
|
|
|
182
226
|
bindActivity(binder: TabActivityBinder): Disposable;
|
|
183
227
|
/** All leading icons for `targetId`, in set/bind order. */
|
|
184
228
|
getIcons(targetId: string): TabIconAdornment[];
|
|
229
|
+
/**
|
|
230
|
+
* The whole-tab highlight for `targetId`, or `null` if none. At most one
|
|
231
|
+
* applies — first found across `set`/`bind` order.
|
|
232
|
+
*/
|
|
233
|
+
getHighlight(targetId: string): TabHighlightAdornment | null;
|
|
185
234
|
/** All trailing indicators for `targetId`, in set/bind/flash order. */
|
|
186
235
|
getIndicators(targetId: string): TabIndicatorAdornment[];
|
|
187
236
|
/** All trailing activities for `targetId`, in set/bind/flash order. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-adornment.d.ts","sourceRoot":"","sources":["../src/tab-adornment.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tab-adornment.d.ts","sourceRoot":"","sources":["../src/tab-adornment.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Disposable } from "./types.js";
|
|
2
|
+
import type { MenuEntry } from "./ui-service.js";
|
|
2
3
|
import type { TerminalKind, TerminalRecord } from "./domain-types.js";
|
|
3
4
|
import type { TabAdornmentMethods, TabIndicatorContribution } from "./tab-adornment.js";
|
|
4
5
|
/**
|
|
@@ -130,6 +131,29 @@ export interface TerminalService extends TabAdornmentMethods {
|
|
|
130
131
|
* Switch to the workspace containing this terminal and activate its tab in
|
|
131
132
|
* the center dock. No-ops if the terminal id is unknown.
|
|
132
133
|
*/
|
|
134
|
+
/**
|
|
135
|
+
* The rows of this terminal's tab context menu — **Rename…**, then whatever
|
|
136
|
+
* extensions contributed on the `"terminal/tab"`
|
|
137
|
+
* {@link MenuSurface | surface}.
|
|
138
|
+
*
|
|
139
|
+
* Use it when your own UI lists terminals (an agent list, a session picker)
|
|
140
|
+
* so right-clicking a row offers the same actions as right-clicking the tab,
|
|
141
|
+
* contributions included, instead of a menu that drifts from it. Returns an
|
|
142
|
+
* empty array for a terminal no workspace owns.
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* ```ts
|
|
146
|
+
* ctx.ui.showMenu({
|
|
147
|
+
* items: [
|
|
148
|
+
* { label: "Mark as seen", run: () => ctx.agents.acknowledge(id) },
|
|
149
|
+
* { type: "separator" },
|
|
150
|
+
* ...ctx.terminals.getTabMenuItems(id),
|
|
151
|
+
* ],
|
|
152
|
+
* at: { x: e.clientX, y: e.clientY },
|
|
153
|
+
* });
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
getTabMenuItems(terminalId: string): MenuEntry[];
|
|
133
157
|
focus(terminalId: string): void;
|
|
134
158
|
/**
|
|
135
159
|
* @deprecated Prefer {@link TerminalService.bindIndicator}. Thin shim that
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-service.d.ts","sourceRoot":"","sources":["../src/terminal-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,QAAQ;IACvB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,WAAW,6BAA6B;IAC5C,oEAAoE;IACpE,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAAC;CAC3D;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,kEAAkE;IAClE,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,mBAAmB,GAAG,cAAc,GAAG,SAAS,CAAC;IAChE;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1C;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAEvE;;;;OAIG;IACH,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;;;;OAKG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/C;;;OAGG;IACH,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;;OAGG;IACH,qBAAqB,CAAC,QAAQ,EAAE,6BAA6B,GAAG,UAAU,CAAC;IAE3E;;;OAGG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAAC;IAEnE;;OAEG;IACH,wBAAwB,IAAI,IAAI,CAAC;IAEjC;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC;IAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,YAAY,CACV,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GACjC,UAAU,CAAC;IAEd;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC9B,UAAU,CAAC;IAEd;;;;;;OAMG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI,CAAC;IAE3B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,UAAU,CAAC;CAC5E"}
|
|
1
|
+
{"version":3,"file":"terminal-service.d.ts","sourceRoot":"","sources":["../src/terminal-service.ts"],"names":[],"mappings":"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"}
|
package/dist/toolbar-items.d.ts
CHANGED
|
@@ -2,13 +2,19 @@ import type { ContextKeys } from "./context-keys.js";
|
|
|
2
2
|
import type { PhosphorIconName } from "./phosphor-icon.js";
|
|
3
3
|
import type { MenuEntry } from "./ui-service.js";
|
|
4
4
|
/**
|
|
5
|
-
* Built-in
|
|
6
|
-
*
|
|
5
|
+
* Built-in surfaces that accept {@link ToolbarItemContribution}s. One surface
|
|
6
|
+
* per registration.
|
|
7
|
+
*
|
|
8
|
+
* `"editor"` and `"terminal"` are CenterDock breadcrumb toolbars; `"navigator"`
|
|
9
|
+
* is the header of the Navigator side panel, where contributions become that
|
|
10
|
+
* panel's action buttons. A navigator item's `when` receives the active
|
|
11
|
+
* {@link NavigatorView | view}'s id, so an action can be scoped to one view or
|
|
12
|
+
* left unscoped to appear across all of them.
|
|
7
13
|
*
|
|
8
14
|
* @category Registration
|
|
9
15
|
* @public
|
|
10
16
|
*/
|
|
11
|
-
export type ToolbarSurface = "editor" | "terminal";
|
|
17
|
+
export type ToolbarSurface = "editor" | "terminal" | "navigator";
|
|
12
18
|
/**
|
|
13
19
|
* The typed target each {@link ToolbarSurface} passes to an invoked command
|
|
14
20
|
* and to `when` / `checked` / {@link ToolbarMenuItemContribution.menu} builders.
|
|
@@ -23,6 +29,9 @@ export interface ToolbarItemContext {
|
|
|
23
29
|
terminal: {
|
|
24
30
|
terminalId: string;
|
|
25
31
|
};
|
|
32
|
+
navigator: {
|
|
33
|
+
viewId: string;
|
|
34
|
+
};
|
|
26
35
|
}
|
|
27
36
|
/**
|
|
28
37
|
* Shared fields for interactive toolbar contributions. Render chrome is driven
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar-items.d.ts","sourceRoot":"","sources":["../src/toolbar-items.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C
|
|
1
|
+
{"version":3,"file":"toolbar-items.d.ts","sourceRoot":"","sources":["../src/toolbar-items.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -465,6 +465,66 @@ export interface SidePanel {
|
|
|
465
465
|
*/
|
|
466
466
|
lazyMount?: boolean;
|
|
467
467
|
}
|
|
468
|
+
/**
|
|
469
|
+
* Props passed to a {@link NavigatorView} component.
|
|
470
|
+
*
|
|
471
|
+
* @category Registration
|
|
472
|
+
* @public
|
|
473
|
+
*/
|
|
474
|
+
export interface NavigatorViewProps {
|
|
475
|
+
/**
|
|
476
|
+
* Whether this view is the one currently on screen. A view mounts the first
|
|
477
|
+
* time it is selected and then stays mounted — hidden, not unmounted — so it
|
|
478
|
+
* keeps its scroll position and local state. Use this to throttle work while
|
|
479
|
+
* the view is off screen.
|
|
480
|
+
*/
|
|
481
|
+
active: boolean;
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* A view in the **Navigator** — the side panel you navigate the app from. The
|
|
485
|
+
* Navigator is a container: each registered view is one projection of "where
|
|
486
|
+
* can I go", and the user switches between them from the selector in its
|
|
487
|
+
* header. The built-in **Workspaces** view (the workspace list) is itself
|
|
488
|
+
* registered this way, through this same API.
|
|
489
|
+
*
|
|
490
|
+
* Reach for a view rather than {@link ExtensionContext.registerSidePanel} when
|
|
491
|
+
* what you'd be adding is *another way to navigate the app*. Two navigators
|
|
492
|
+
* side by side leave the user with no rule for which one to trust; a view keeps
|
|
493
|
+
* one place to navigate from and changes only how it is projected.
|
|
494
|
+
*
|
|
495
|
+
* A view owns the whole panel body. Header **actions** are contributed
|
|
496
|
+
* separately, as toolbar items on the `"navigator"`
|
|
497
|
+
* {@link ToolbarSurface} — that way an action can be scoped to one view (via
|
|
498
|
+
* `when`) or shown across all of them, and it gets the host's button and
|
|
499
|
+
* dropdown chrome for free.
|
|
500
|
+
*
|
|
501
|
+
* @example
|
|
502
|
+
* ```tsx
|
|
503
|
+
* ctx.registerNavigatorView({
|
|
504
|
+
* id: "my-ext.by-status",
|
|
505
|
+
* title: "Agents by status",
|
|
506
|
+
* component: ({ active }) => <AgentList paused={!active} />,
|
|
507
|
+
* });
|
|
508
|
+
* ```
|
|
509
|
+
*
|
|
510
|
+
* @category Registration
|
|
511
|
+
* @public
|
|
512
|
+
*/
|
|
513
|
+
export interface NavigatorView {
|
|
514
|
+
/** Unique id, conventionally `"<extension-id>.<view-name>"`. */
|
|
515
|
+
id: string;
|
|
516
|
+
/** Name shown in the Navigator's header and its view menu. */
|
|
517
|
+
title: string;
|
|
518
|
+
/** Optional icon rendered to the left of the title in the view menu. */
|
|
519
|
+
icon?: React.ReactNode;
|
|
520
|
+
/** The React component rendered as the whole panel body when active. */
|
|
521
|
+
component: React.ComponentType<NavigatorViewProps>;
|
|
522
|
+
/**
|
|
523
|
+
* Sort order among views. Lower values appear first in the view menu.
|
|
524
|
+
* Defaults to `0`; the built-in Workspaces view registers at `0`.
|
|
525
|
+
*/
|
|
526
|
+
order?: number;
|
|
527
|
+
}
|
|
468
528
|
/**
|
|
469
529
|
* Registers a kind of dock panel (a tab that can live in the center dock area,
|
|
470
530
|
* e.g. the terminal). Workspaces open panels of registered kinds by id. The
|
|
@@ -625,14 +685,21 @@ export interface ExtensionContext {
|
|
|
625
685
|
*/
|
|
626
686
|
registerToolbarItem<S extends ToolbarSurface>(item: ToolbarItemContribution<S>): Disposable;
|
|
627
687
|
/**
|
|
628
|
-
* Signal that toolbar-item `when` / `checked` data changed. Causes
|
|
629
|
-
*
|
|
688
|
+
* Signal that toolbar-item `when` / `checked` data changed. Causes every
|
|
689
|
+
* toolbar surface — editor, terminal, and the Navigator header — to re-query
|
|
690
|
+
* contributions and re-render.
|
|
630
691
|
*/
|
|
631
692
|
invalidateToolbarItems(): void;
|
|
632
693
|
/** Register a {@link Keybinding} (bind a shortcut to a command). */
|
|
633
694
|
registerKeybinding(binding: Keybinding): Disposable;
|
|
634
695
|
/** Register a {@link SidePanel} (a left/right column panel). */
|
|
635
696
|
registerSidePanel(panel: SidePanel): Disposable;
|
|
697
|
+
/**
|
|
698
|
+
* Register a {@link NavigatorView} — a projection the user can switch the
|
|
699
|
+
* Navigator panel to. Prefer this over a second side panel when your surface
|
|
700
|
+
* is another way to navigate the app.
|
|
701
|
+
*/
|
|
702
|
+
registerNavigatorView(view: NavigatorView): Disposable;
|
|
636
703
|
/**
|
|
637
704
|
* Register a {@link DockPanelKind} (a center-dock tab kind). The params
|
|
638
705
|
* generic `T` is inferred from the component's {@link DockPanelProps}
|
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":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Disposable } from "./types.js";
|
|
2
|
+
import type { MenuEntry } from "./ui-service.js";
|
|
2
3
|
import type { Workspace } from "./domain-types.js";
|
|
3
4
|
import type { Activity } from "./activity.js";
|
|
4
5
|
export type { Workspace, TerminalRecord } from "./domain-types.js";
|
|
@@ -370,6 +371,58 @@ export interface WorkspaceService {
|
|
|
370
371
|
* ```
|
|
371
372
|
*/
|
|
372
373
|
registerPropertyPage(page: WorkspacePropertyPage): Disposable;
|
|
374
|
+
/**
|
|
375
|
+
* The rows of the **Open Workspace** menu — the same menu the Navigator's
|
|
376
|
+
* `+` button opens: any saved groups, then closed workspaces to reopen (a
|
|
377
|
+
* missing folder is flagged), a separator, then "New workspace…" and
|
|
378
|
+
* "New Group…".
|
|
379
|
+
*
|
|
380
|
+
* Use it to offer workspace switching from your own UI without rebuilding
|
|
381
|
+
* the list — the returned {@link MenuEntry | entries} drop straight into
|
|
382
|
+
* {@link UiService.showMenu}, including as a `submenu` of one of your own
|
|
383
|
+
* rows. Async because the closed-workspace rows check whether each folder
|
|
384
|
+
* still exists on disk.
|
|
385
|
+
*
|
|
386
|
+
* @example
|
|
387
|
+
* ```ts
|
|
388
|
+
* ctx.ui.showMenu({
|
|
389
|
+
* items: [
|
|
390
|
+
* { label: "Refresh", run: refresh },
|
|
391
|
+
* { type: "separator" },
|
|
392
|
+
* { label: "Workspace", submenu: await ctx.workspaces.getOpenWorkspaceMenuItems() },
|
|
393
|
+
* ],
|
|
394
|
+
* anchor,
|
|
395
|
+
* });
|
|
396
|
+
* ```
|
|
397
|
+
*/
|
|
398
|
+
getOpenWorkspaceMenuItems(): Promise<MenuEntry[]>;
|
|
399
|
+
/**
|
|
400
|
+
* The rows of one workspace's context menu — **Properties…**, **Close**, then
|
|
401
|
+
* whatever extensions contributed on the `"workspace"`
|
|
402
|
+
* {@link MenuSurface | surface}.
|
|
403
|
+
*
|
|
404
|
+
* Use it when your own UI names a workspace without *being* the workspace
|
|
405
|
+
* list — an agent row showing which workspace its terminal lives in, a
|
|
406
|
+
* search result grouped by workspace — so the same actions are one
|
|
407
|
+
* right-click away there too. Returns an empty array for an unknown id.
|
|
408
|
+
*
|
|
409
|
+
* Group membership actions (Move to Group, Remove from Group) are **not**
|
|
410
|
+
* included: group state is host-internal (ADR 0023), so the Workspaces view
|
|
411
|
+
* appends those itself.
|
|
412
|
+
*
|
|
413
|
+
* @example
|
|
414
|
+
* ```ts
|
|
415
|
+
* ctx.ui.showMenu({
|
|
416
|
+
* items: [
|
|
417
|
+
* { label: "Mark as seen", run: acknowledge },
|
|
418
|
+
* { type: "separator" },
|
|
419
|
+
* { label: ws.name, submenu: ctx.workspaces.getWorkspaceMenuItems(ws.id) },
|
|
420
|
+
* ],
|
|
421
|
+
* at: { x: e.clientX, y: e.clientY },
|
|
422
|
+
* });
|
|
423
|
+
* ```
|
|
424
|
+
*/
|
|
425
|
+
getWorkspaceMenuItems(workspaceId: string): MenuEntry[];
|
|
373
426
|
/**
|
|
374
427
|
* Imperatively adorn a workspace name with a badge. `badge.id` is the
|
|
375
428
|
* adornment key for {@link WorkspaceService.clearBadge}.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-service.d.ts","sourceRoot":"","sources":["../src/workspace-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace-service.d.ts","sourceRoot":"","sources":["../src/workspace-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Badge.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CSSProperties, HTMLAttributes, ReactNode } from "react";
|
|
2
|
-
import { badgeClass, type BadgeTone } from "./badge-classes";
|
|
2
|
+
import { badgeClass, type BadgeSize, type BadgeTone } from "./badge-classes";
|
|
3
3
|
|
|
4
|
-
export type { BadgeTone };
|
|
4
|
+
export type { BadgeSize, BadgeTone };
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* A small pill for status or identity — on a {@link ListRow}'s trailing
|
|
@@ -12,6 +12,11 @@ export type { BadgeTone };
|
|
|
12
12
|
* Styled purely via host-provided `.silo-badge*` classes — no stylesheet
|
|
13
13
|
* import is needed in the extension.
|
|
14
14
|
*
|
|
15
|
+
* Two sizes: the default `"md"` text chip, and `"sm"` — tighter padding at a
|
|
16
|
+
* slightly smaller, em-relative size, for counters sitting beside a label
|
|
17
|
+
* (a section's row count, a workspace's extra-folder count). `"sm"` scales
|
|
18
|
+
* with the surrounding text, so it tracks a side column's own font size.
|
|
19
|
+
*
|
|
15
20
|
* @example
|
|
16
21
|
* ```tsx
|
|
17
22
|
* <Badge tone="ok">Installed</Badge>
|
|
@@ -20,6 +25,7 @@ export type { BadgeTone };
|
|
|
20
25
|
* <Badge>primary</Badge>
|
|
21
26
|
* <Badge tone="outline">Silo</Badge>
|
|
22
27
|
* <Badge color="#e06c75">Frontend</Badge>
|
|
28
|
+
* <Badge size="sm">{rows.length}</Badge>
|
|
23
29
|
* ```
|
|
24
30
|
*
|
|
25
31
|
* @category Consumer Services
|
|
@@ -27,6 +33,7 @@ export type { BadgeTone };
|
|
|
27
33
|
*/
|
|
28
34
|
export function Badge({
|
|
29
35
|
tone = "neutral",
|
|
36
|
+
size = "md",
|
|
30
37
|
color,
|
|
31
38
|
className,
|
|
32
39
|
style,
|
|
@@ -34,11 +41,13 @@ export function Badge({
|
|
|
34
41
|
...rest
|
|
35
42
|
}: {
|
|
36
43
|
tone?: BadgeTone;
|
|
44
|
+
/** Chip geometry — `"sm"` for counters, `"md"` (default) for text. */
|
|
45
|
+
size?: BadgeSize;
|
|
37
46
|
/** Arbitrary CSS color — overrides `tone` for identity colors. */
|
|
38
47
|
color?: string;
|
|
39
48
|
children?: ReactNode;
|
|
40
49
|
} & Omit<HTMLAttributes<HTMLSpanElement>, "children" | "color">) {
|
|
41
|
-
const classes = badgeClass(tone, color);
|
|
50
|
+
const classes = badgeClass(tone, color, size);
|
|
42
51
|
const mergedStyle: CSSProperties | undefined =
|
|
43
52
|
color != null
|
|
44
53
|
? ({ ...style, ["--badge-color" as string]: color } as CSSProperties)
|
|
@@ -17,4 +17,25 @@ describe("badgeClass", () => {
|
|
|
17
17
|
it("uses silo-badge-custom when color is set (overrides tone)", () => {
|
|
18
18
|
expect(badgeClass("ok", "#e06c75")).toBe("silo-badge silo-badge-custom");
|
|
19
19
|
});
|
|
20
|
+
|
|
21
|
+
it("adds no size class for the default md", () => {
|
|
22
|
+
expect(badgeClass("neutral", undefined, "md")).toBe(
|
|
23
|
+
"silo-badge silo-badge-neutral",
|
|
24
|
+
);
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it("appends the sm size class after the tone", () => {
|
|
28
|
+
expect(badgeClass("neutral", undefined, "sm")).toBe(
|
|
29
|
+
"silo-badge silo-badge-neutral silo-badge-sm",
|
|
30
|
+
);
|
|
31
|
+
expect(badgeClass("ok", undefined, "sm")).toBe(
|
|
32
|
+
"silo-badge silo-badge-ok silo-badge-sm",
|
|
33
|
+
);
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
it("combines a custom color with sm", () => {
|
|
37
|
+
expect(badgeClass("ok", "#e06c75", "sm")).toBe(
|
|
38
|
+
"silo-badge silo-badge-custom silo-badge-sm",
|
|
39
|
+
);
|
|
40
|
+
});
|
|
20
41
|
});
|
package/src/badge-classes.ts
CHANGED
|
@@ -12,16 +12,27 @@ export type BadgeTone =
|
|
|
12
12
|
| "err"
|
|
13
13
|
| "outline";
|
|
14
14
|
|
|
15
|
+
/**
|
|
16
|
+
* Size axis for {@link Badge}. `"md"` is the default text chip; `"sm"` is the
|
|
17
|
+
* tighter counter chip.
|
|
18
|
+
*
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export type BadgeSize = "sm" | "md";
|
|
22
|
+
|
|
15
23
|
/**
|
|
16
24
|
* Resolve the host `.silo-badge*` class string. An arbitrary `color` wins over
|
|
17
|
-
* `tone` and selects `.silo-badge-custom` (fed via `--badge-color`).
|
|
25
|
+
* `tone` and selects `.silo-badge-custom` (fed via `--badge-color`). The
|
|
26
|
+
* default `"md"` size adds no class, so existing markup is unchanged.
|
|
18
27
|
*
|
|
19
28
|
* @internal
|
|
20
29
|
*/
|
|
21
30
|
export function badgeClass(
|
|
22
31
|
tone: BadgeTone = "neutral",
|
|
23
32
|
color?: string,
|
|
33
|
+
size: BadgeSize = "md",
|
|
24
34
|
): string {
|
|
25
|
-
|
|
26
|
-
|
|
35
|
+
const toneClass = color != null ? "silo-badge-custom" : `silo-badge-${tone}`;
|
|
36
|
+
const sizeClass = size === "sm" ? " silo-badge-sm" : "";
|
|
37
|
+
return `silo-badge ${toneClass}${sizeClass}`;
|
|
27
38
|
}
|
package/src/domain-types.ts
CHANGED
|
@@ -216,6 +216,13 @@ export interface ThemeVars {
|
|
|
216
216
|
"--silo-notify-bg": string;
|
|
217
217
|
"--silo-notify-text": string;
|
|
218
218
|
"--silo-notify-text-hi": string;
|
|
219
|
+
// ── Design tokens — list row treatment (hover/selection surfaces) ──
|
|
220
|
+
"--silo-list-radius": string;
|
|
221
|
+
"--silo-list-inset": string;
|
|
222
|
+
"--silo-list-hover-bg": string;
|
|
223
|
+
"--silo-list-active-bg": string;
|
|
224
|
+
/** Selected-row outline — use a bordered selection instead of (or with) a fill. */
|
|
225
|
+
"--silo-list-active-outline": string;
|
|
219
226
|
}
|
|
220
227
|
|
|
221
228
|
/**
|
package/src/index.ts
CHANGED
|
@@ -35,6 +35,8 @@ export type {
|
|
|
35
35
|
Keybinding,
|
|
36
36
|
SidePanelProps,
|
|
37
37
|
SidePanel,
|
|
38
|
+
NavigatorView,
|
|
39
|
+
NavigatorViewProps,
|
|
38
40
|
DockPanelKind,
|
|
39
41
|
StatusItem,
|
|
40
42
|
SettingsPage,
|
|
@@ -113,14 +115,17 @@ export type {
|
|
|
113
115
|
export type {
|
|
114
116
|
TabAdornmentColor,
|
|
115
117
|
TabIconAdornment,
|
|
118
|
+
TabHighlightAdornment,
|
|
116
119
|
TabIndicatorAdornment,
|
|
117
120
|
TabIndicatorFlash,
|
|
118
121
|
TabActivityAdornment,
|
|
119
122
|
TabActivityFlash,
|
|
120
123
|
TabIconContribution,
|
|
124
|
+
TabHighlightContribution,
|
|
121
125
|
TabIndicatorContribution,
|
|
122
126
|
TabActivityContribution,
|
|
123
127
|
TabIconBinder,
|
|
128
|
+
TabHighlightBinder,
|
|
124
129
|
TabIndicatorBinder,
|
|
125
130
|
TabActivityBinder,
|
|
126
131
|
TabAdornmentMethods,
|
|
@@ -278,7 +283,7 @@ export { List, ListRow } from "./List";
|
|
|
278
283
|
export type { ListRowProps, ListRowTruncate } from "./List";
|
|
279
284
|
export { AddRow } from "./AddRow";
|
|
280
285
|
export { Badge } from "./Badge";
|
|
281
|
-
export type { BadgeTone } from "./Badge";
|
|
286
|
+
export type { BadgeSize, BadgeTone } from "./Badge";
|
|
282
287
|
export { EmptyState } from "./EmptyState";
|
|
283
288
|
export type { EmptyStateTone } from "./EmptyState";
|
|
284
289
|
export { Callout } from "./Callout";
|
package/src/tab-adornment.ts
CHANGED
|
@@ -27,6 +27,25 @@ export interface TabIconAdornment {
|
|
|
27
27
|
icon: ReactNode;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
+
/**
|
|
31
|
+
* Soft tinted highlight across the entire CenterDock tab (icon, title, and
|
|
32
|
+
* every other adornment) — not just the label. Contributing one (via `set`
|
|
33
|
+
* or a `bind` that returns non-`null`) is itself the on/off signal; there's
|
|
34
|
+
* no separate boolean. At most one applies per tab — if multiple extensions
|
|
35
|
+
* contribute one for the same target, the first found wins.
|
|
36
|
+
*
|
|
37
|
+
* Set via {@link EditorService.setHighlight} / {@link TerminalService.setHighlight}.
|
|
38
|
+
*
|
|
39
|
+
* @category Consumer Services
|
|
40
|
+
* @public
|
|
41
|
+
*/
|
|
42
|
+
export interface TabHighlightAdornment {
|
|
43
|
+
/** Extension-owned key; clear target. */
|
|
44
|
+
id: string;
|
|
45
|
+
/** Semantic color for the highlight fill. Defaults to `"accent"`. */
|
|
46
|
+
color?: TabAdornmentColor;
|
|
47
|
+
}
|
|
48
|
+
|
|
30
49
|
/**
|
|
31
50
|
* Trailing status adornment on a CenterDock tab — static Phosphor glyph.
|
|
32
51
|
* For busy/ready/warn/error chrome use {@link TabActivityAdornment} instead
|
|
@@ -112,6 +131,14 @@ export type TabActivityFlash = TabActivityContribution & {
|
|
|
112
131
|
*/
|
|
113
132
|
export type TabIconContribution = Omit<TabIconAdornment, "id">;
|
|
114
133
|
|
|
134
|
+
/**
|
|
135
|
+
* Fields contributed by a {@link TabHighlightBinder.provide} call.
|
|
136
|
+
*
|
|
137
|
+
* @category Consumer Services
|
|
138
|
+
* @public
|
|
139
|
+
*/
|
|
140
|
+
export type TabHighlightContribution = Omit<TabHighlightAdornment, "id">;
|
|
141
|
+
|
|
115
142
|
/**
|
|
116
143
|
* Fields contributed by a {@link TabIndicatorBinder.provide} call.
|
|
117
144
|
*
|
|
@@ -145,6 +172,23 @@ export interface TabIconBinder {
|
|
|
145
172
|
provide(targetId: string): TabIconContribution | null;
|
|
146
173
|
}
|
|
147
174
|
|
|
175
|
+
/**
|
|
176
|
+
* Keep a whole-tab highlight projection in sync for every editor/terminal
|
|
177
|
+
* tab.
|
|
178
|
+
*
|
|
179
|
+
* @category Consumer Services
|
|
180
|
+
* @public
|
|
181
|
+
*/
|
|
182
|
+
export interface TabHighlightBinder {
|
|
183
|
+
/** Extension-owned key — conventionally `"<extension-id>.tab-highlight"`. */
|
|
184
|
+
id: string;
|
|
185
|
+
/**
|
|
186
|
+
* Called synchronously per tab during render. Return `null` to contribute
|
|
187
|
+
* no highlight for this target id.
|
|
188
|
+
*/
|
|
189
|
+
provide(targetId: string): TabHighlightContribution | null;
|
|
190
|
+
}
|
|
191
|
+
|
|
148
192
|
/**
|
|
149
193
|
* Keep a trailing-indicator projection in sync for every editor/terminal tab.
|
|
150
194
|
*
|
|
@@ -186,6 +230,10 @@ export interface TabAdornmentMethods {
|
|
|
186
230
|
clearIcon(targetId: string, adornmentId: string): void;
|
|
187
231
|
bindIcon(binder: TabIconBinder): Disposable;
|
|
188
232
|
|
|
233
|
+
setHighlight(targetId: string, adornment: TabHighlightAdornment): void;
|
|
234
|
+
clearHighlight(targetId: string, adornmentId: string): void;
|
|
235
|
+
bindHighlight(binder: TabHighlightBinder): Disposable;
|
|
236
|
+
|
|
189
237
|
setIndicator(targetId: string, adornment: TabIndicatorAdornment): void;
|
|
190
238
|
clearIndicator(targetId: string, adornmentId: string): void;
|
|
191
239
|
flashIndicator(targetId: string, flash: TabIndicatorFlash): void;
|
|
@@ -198,6 +246,11 @@ export interface TabAdornmentMethods {
|
|
|
198
246
|
|
|
199
247
|
/** All leading icons for `targetId`, in set/bind order. */
|
|
200
248
|
getIcons(targetId: string): TabIconAdornment[];
|
|
249
|
+
/**
|
|
250
|
+
* The whole-tab highlight for `targetId`, or `null` if none. At most one
|
|
251
|
+
* applies — first found across `set`/`bind` order.
|
|
252
|
+
*/
|
|
253
|
+
getHighlight(targetId: string): TabHighlightAdornment | null;
|
|
201
254
|
/** All trailing indicators for `targetId`, in set/bind/flash order. */
|
|
202
255
|
getIndicators(targetId: string): TabIndicatorAdornment[];
|
|
203
256
|
/** All trailing activities for `targetId`, in set/bind/flash order. */
|
package/src/terminal-service.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Disposable } from "./types";
|
|
2
|
+
import type { MenuEntry } from "./ui-service";
|
|
2
3
|
import type { TerminalKind, TerminalRecord } from "./domain-types";
|
|
3
4
|
import type {
|
|
4
5
|
TabAdornmentMethods,
|
|
@@ -144,6 +145,30 @@ export interface TerminalService extends TabAdornmentMethods {
|
|
|
144
145
|
* Switch to the workspace containing this terminal and activate its tab in
|
|
145
146
|
* the center dock. No-ops if the terminal id is unknown.
|
|
146
147
|
*/
|
|
148
|
+
/**
|
|
149
|
+
* The rows of this terminal's tab context menu — **Rename…**, then whatever
|
|
150
|
+
* extensions contributed on the `"terminal/tab"`
|
|
151
|
+
* {@link MenuSurface | surface}.
|
|
152
|
+
*
|
|
153
|
+
* Use it when your own UI lists terminals (an agent list, a session picker)
|
|
154
|
+
* so right-clicking a row offers the same actions as right-clicking the tab,
|
|
155
|
+
* contributions included, instead of a menu that drifts from it. Returns an
|
|
156
|
+
* empty array for a terminal no workspace owns.
|
|
157
|
+
*
|
|
158
|
+
* @example
|
|
159
|
+
* ```ts
|
|
160
|
+
* ctx.ui.showMenu({
|
|
161
|
+
* items: [
|
|
162
|
+
* { label: "Mark as seen", run: () => ctx.agents.acknowledge(id) },
|
|
163
|
+
* { type: "separator" },
|
|
164
|
+
* ...ctx.terminals.getTabMenuItems(id),
|
|
165
|
+
* ],
|
|
166
|
+
* at: { x: e.clientX, y: e.clientY },
|
|
167
|
+
* });
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
getTabMenuItems(terminalId: string): MenuEntry[];
|
|
171
|
+
|
|
147
172
|
focus(terminalId: string): void;
|
|
148
173
|
|
|
149
174
|
/**
|
package/src/toolbar-items.ts
CHANGED
|
@@ -3,13 +3,19 @@ import type { PhosphorIconName } from "./phosphor-icon";
|
|
|
3
3
|
import type { MenuEntry } from "./ui-service";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* Built-in
|
|
7
|
-
*
|
|
6
|
+
* Built-in surfaces that accept {@link ToolbarItemContribution}s. One surface
|
|
7
|
+
* per registration.
|
|
8
|
+
*
|
|
9
|
+
* `"editor"` and `"terminal"` are CenterDock breadcrumb toolbars; `"navigator"`
|
|
10
|
+
* is the header of the Navigator side panel, where contributions become that
|
|
11
|
+
* panel's action buttons. A navigator item's `when` receives the active
|
|
12
|
+
* {@link NavigatorView | view}'s id, so an action can be scoped to one view or
|
|
13
|
+
* left unscoped to appear across all of them.
|
|
8
14
|
*
|
|
9
15
|
* @category Registration
|
|
10
16
|
* @public
|
|
11
17
|
*/
|
|
12
|
-
export type ToolbarSurface = "editor" | "terminal";
|
|
18
|
+
export type ToolbarSurface = "editor" | "terminal" | "navigator";
|
|
13
19
|
|
|
14
20
|
/**
|
|
15
21
|
* The typed target each {@link ToolbarSurface} passes to an invoked command
|
|
@@ -21,6 +27,7 @@ export type ToolbarSurface = "editor" | "terminal";
|
|
|
21
27
|
export interface ToolbarItemContext {
|
|
22
28
|
editor: { editorId: string };
|
|
23
29
|
terminal: { terminalId: string };
|
|
30
|
+
navigator: { viewId: string };
|
|
24
31
|
}
|
|
25
32
|
|
|
26
33
|
/**
|
package/src/types.ts
CHANGED
|
@@ -476,6 +476,68 @@ export interface SidePanel {
|
|
|
476
476
|
lazyMount?: boolean;
|
|
477
477
|
}
|
|
478
478
|
|
|
479
|
+
/**
|
|
480
|
+
* Props passed to a {@link NavigatorView} component.
|
|
481
|
+
*
|
|
482
|
+
* @category Registration
|
|
483
|
+
* @public
|
|
484
|
+
*/
|
|
485
|
+
export interface NavigatorViewProps {
|
|
486
|
+
/**
|
|
487
|
+
* Whether this view is the one currently on screen. A view mounts the first
|
|
488
|
+
* time it is selected and then stays mounted — hidden, not unmounted — so it
|
|
489
|
+
* keeps its scroll position and local state. Use this to throttle work while
|
|
490
|
+
* the view is off screen.
|
|
491
|
+
*/
|
|
492
|
+
active: boolean;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
/**
|
|
496
|
+
* A view in the **Navigator** — the side panel you navigate the app from. The
|
|
497
|
+
* Navigator is a container: each registered view is one projection of "where
|
|
498
|
+
* can I go", and the user switches between them from the selector in its
|
|
499
|
+
* header. The built-in **Workspaces** view (the workspace list) is itself
|
|
500
|
+
* registered this way, through this same API.
|
|
501
|
+
*
|
|
502
|
+
* Reach for a view rather than {@link ExtensionContext.registerSidePanel} when
|
|
503
|
+
* what you'd be adding is *another way to navigate the app*. Two navigators
|
|
504
|
+
* side by side leave the user with no rule for which one to trust; a view keeps
|
|
505
|
+
* one place to navigate from and changes only how it is projected.
|
|
506
|
+
*
|
|
507
|
+
* A view owns the whole panel body. Header **actions** are contributed
|
|
508
|
+
* separately, as toolbar items on the `"navigator"`
|
|
509
|
+
* {@link ToolbarSurface} — that way an action can be scoped to one view (via
|
|
510
|
+
* `when`) or shown across all of them, and it gets the host's button and
|
|
511
|
+
* dropdown chrome for free.
|
|
512
|
+
*
|
|
513
|
+
* @example
|
|
514
|
+
* ```tsx
|
|
515
|
+
* ctx.registerNavigatorView({
|
|
516
|
+
* id: "my-ext.by-status",
|
|
517
|
+
* title: "Agents by status",
|
|
518
|
+
* component: ({ active }) => <AgentList paused={!active} />,
|
|
519
|
+
* });
|
|
520
|
+
* ```
|
|
521
|
+
*
|
|
522
|
+
* @category Registration
|
|
523
|
+
* @public
|
|
524
|
+
*/
|
|
525
|
+
export interface NavigatorView {
|
|
526
|
+
/** Unique id, conventionally `"<extension-id>.<view-name>"`. */
|
|
527
|
+
id: string;
|
|
528
|
+
/** Name shown in the Navigator's header and its view menu. */
|
|
529
|
+
title: string;
|
|
530
|
+
/** Optional icon rendered to the left of the title in the view menu. */
|
|
531
|
+
icon?: React.ReactNode;
|
|
532
|
+
/** The React component rendered as the whole panel body when active. */
|
|
533
|
+
component: React.ComponentType<NavigatorViewProps>;
|
|
534
|
+
/**
|
|
535
|
+
* Sort order among views. Lower values appear first in the view menu.
|
|
536
|
+
* Defaults to `0`; the built-in Workspaces view registers at `0`.
|
|
537
|
+
*/
|
|
538
|
+
order?: number;
|
|
539
|
+
}
|
|
540
|
+
|
|
479
541
|
/**
|
|
480
542
|
* Registers a kind of dock panel (a tab that can live in the center dock area,
|
|
481
543
|
* e.g. the terminal). Workspaces open panels of registered kinds by id. The
|
|
@@ -643,14 +705,21 @@ export interface ExtensionContext {
|
|
|
643
705
|
item: ToolbarItemContribution<S>,
|
|
644
706
|
): Disposable;
|
|
645
707
|
/**
|
|
646
|
-
* Signal that toolbar-item `when` / `checked` data changed. Causes
|
|
647
|
-
*
|
|
708
|
+
* Signal that toolbar-item `when` / `checked` data changed. Causes every
|
|
709
|
+
* toolbar surface — editor, terminal, and the Navigator header — to re-query
|
|
710
|
+
* contributions and re-render.
|
|
648
711
|
*/
|
|
649
712
|
invalidateToolbarItems(): void;
|
|
650
713
|
/** Register a {@link Keybinding} (bind a shortcut to a command). */
|
|
651
714
|
registerKeybinding(binding: Keybinding): Disposable;
|
|
652
715
|
/** Register a {@link SidePanel} (a left/right column panel). */
|
|
653
716
|
registerSidePanel(panel: SidePanel): Disposable;
|
|
717
|
+
/**
|
|
718
|
+
* Register a {@link NavigatorView} — a projection the user can switch the
|
|
719
|
+
* Navigator panel to. Prefer this over a second side panel when your surface
|
|
720
|
+
* is another way to navigate the app.
|
|
721
|
+
*/
|
|
722
|
+
registerNavigatorView(view: NavigatorView): Disposable;
|
|
654
723
|
/**
|
|
655
724
|
* Register a {@link DockPanelKind} (a center-dock tab kind). The params
|
|
656
725
|
* generic `T` is inferred from the component's {@link DockPanelProps}
|
package/src/workspace-service.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Disposable } from "./types";
|
|
2
|
+
import type { MenuEntry } from "./ui-service";
|
|
2
3
|
import type { Workspace } from "./domain-types";
|
|
3
4
|
import type { Activity } from "./activity";
|
|
4
5
|
|
|
@@ -394,6 +395,60 @@ export interface WorkspaceService {
|
|
|
394
395
|
*/
|
|
395
396
|
registerPropertyPage(page: WorkspacePropertyPage): Disposable;
|
|
396
397
|
|
|
398
|
+
/**
|
|
399
|
+
* The rows of the **Open Workspace** menu — the same menu the Navigator's
|
|
400
|
+
* `+` button opens: any saved groups, then closed workspaces to reopen (a
|
|
401
|
+
* missing folder is flagged), a separator, then "New workspace…" and
|
|
402
|
+
* "New Group…".
|
|
403
|
+
*
|
|
404
|
+
* Use it to offer workspace switching from your own UI without rebuilding
|
|
405
|
+
* the list — the returned {@link MenuEntry | entries} drop straight into
|
|
406
|
+
* {@link UiService.showMenu}, including as a `submenu` of one of your own
|
|
407
|
+
* rows. Async because the closed-workspace rows check whether each folder
|
|
408
|
+
* still exists on disk.
|
|
409
|
+
*
|
|
410
|
+
* @example
|
|
411
|
+
* ```ts
|
|
412
|
+
* ctx.ui.showMenu({
|
|
413
|
+
* items: [
|
|
414
|
+
* { label: "Refresh", run: refresh },
|
|
415
|
+
* { type: "separator" },
|
|
416
|
+
* { label: "Workspace", submenu: await ctx.workspaces.getOpenWorkspaceMenuItems() },
|
|
417
|
+
* ],
|
|
418
|
+
* anchor,
|
|
419
|
+
* });
|
|
420
|
+
* ```
|
|
421
|
+
*/
|
|
422
|
+
getOpenWorkspaceMenuItems(): Promise<MenuEntry[]>;
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* The rows of one workspace's context menu — **Properties…**, **Close**, then
|
|
426
|
+
* whatever extensions contributed on the `"workspace"`
|
|
427
|
+
* {@link MenuSurface | surface}.
|
|
428
|
+
*
|
|
429
|
+
* Use it when your own UI names a workspace without *being* the workspace
|
|
430
|
+
* list — an agent row showing which workspace its terminal lives in, a
|
|
431
|
+
* search result grouped by workspace — so the same actions are one
|
|
432
|
+
* right-click away there too. Returns an empty array for an unknown id.
|
|
433
|
+
*
|
|
434
|
+
* Group membership actions (Move to Group, Remove from Group) are **not**
|
|
435
|
+
* included: group state is host-internal (ADR 0023), so the Workspaces view
|
|
436
|
+
* appends those itself.
|
|
437
|
+
*
|
|
438
|
+
* @example
|
|
439
|
+
* ```ts
|
|
440
|
+
* ctx.ui.showMenu({
|
|
441
|
+
* items: [
|
|
442
|
+
* { label: "Mark as seen", run: acknowledge },
|
|
443
|
+
* { type: "separator" },
|
|
444
|
+
* { label: ws.name, submenu: ctx.workspaces.getWorkspaceMenuItems(ws.id) },
|
|
445
|
+
* ],
|
|
446
|
+
* at: { x: e.clientX, y: e.clientY },
|
|
447
|
+
* });
|
|
448
|
+
* ```
|
|
449
|
+
*/
|
|
450
|
+
getWorkspaceMenuItems(workspaceId: string): MenuEntry[];
|
|
451
|
+
|
|
397
452
|
/**
|
|
398
453
|
* Imperatively adorn a workspace name with a badge. `badge.id` is the
|
|
399
454
|
* adornment key for {@link WorkspaceService.clearBadge}.
|