@silo-code/sdk 0.30.0 → 0.32.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.
Files changed (60) hide show
  1. package/dist/ActivityGlyph.d.ts +25 -0
  2. package/dist/ActivityGlyph.d.ts.map +1 -0
  3. package/dist/ActivityGlyph.js +25 -0
  4. package/dist/ActivityGlyph.js.map +1 -0
  5. package/dist/IconButton.d.ts +23 -6
  6. package/dist/IconButton.d.ts.map +1 -1
  7. package/dist/IconButton.js +14 -5
  8. package/dist/IconButton.js.map +1 -1
  9. package/dist/activity.d.ts +36 -0
  10. package/dist/activity.d.ts.map +1 -0
  11. package/dist/activity.js +33 -0
  12. package/dist/activity.js.map +1 -0
  13. package/dist/agents-service.d.ts +174 -0
  14. package/dist/agents-service.d.ts.map +1 -0
  15. package/dist/agents-service.js +2 -0
  16. package/dist/agents-service.js.map +1 -0
  17. package/dist/editor-service.d.ts +5 -1
  18. package/dist/editor-service.d.ts.map +1 -1
  19. package/dist/icon-button-classes.d.ts +10 -2
  20. package/dist/icon-button-classes.d.ts.map +1 -1
  21. package/dist/icon-button-classes.js +9 -5
  22. package/dist/icon-button-classes.js.map +1 -1
  23. package/dist/index.d.ts +8 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +2 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/phosphor-icon.d.ts +15 -0
  28. package/dist/phosphor-icon.d.ts.map +1 -0
  29. package/dist/phosphor-icon.js +2 -0
  30. package/dist/phosphor-icon.js.map +1 -0
  31. package/dist/tab-adornment.d.ts +193 -0
  32. package/dist/tab-adornment.d.ts.map +1 -0
  33. package/dist/tab-adornment.js +2 -0
  34. package/dist/tab-adornment.js.map +1 -0
  35. package/dist/terminal-service.d.ts +18 -35
  36. package/dist/terminal-service.d.ts.map +1 -1
  37. package/dist/toolbar-items.d.ts +171 -0
  38. package/dist/toolbar-items.d.ts.map +1 -0
  39. package/dist/toolbar-items.js +2 -0
  40. package/dist/toolbar-items.js.map +1 -0
  41. package/dist/types.d.ts +26 -0
  42. package/dist/types.d.ts.map +1 -1
  43. package/dist/workspace-service.d.ts +66 -45
  44. package/dist/workspace-service.d.ts.map +1 -1
  45. package/package.json +1 -1
  46. package/src/ActivityGlyph.tsx +43 -0
  47. package/src/IconButton.tsx +28 -6
  48. package/src/activity.test.ts +35 -0
  49. package/src/activity.ts +57 -0
  50. package/src/agents-service.ts +181 -0
  51. package/src/editor-service.ts +5 -1
  52. package/src/icon-button-classes.test.ts +10 -0
  53. package/src/icon-button-classes.ts +18 -5
  54. package/src/index.ts +33 -1
  55. package/src/phosphor-icon.ts +14 -0
  56. package/src/tab-adornment.ts +208 -0
  57. package/src/terminal-service.ts +21 -35
  58. package/src/toolbar-items.ts +190 -0
  59. package/src/types.ts +28 -0
  60. package/src/workspace-service.ts +72 -45
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=phosphor-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phosphor-icon.js","sourceRoot":"","sources":["../src/phosphor-icon.ts"],"names":[],"mappings":""}
@@ -0,0 +1,193 @@
1
+ import type { ReactNode } from "react";
2
+ import type { Activity } from "./activity.js";
3
+ import type { PhosphorIconName } from "./phosphor-icon.js";
4
+ import type { Disposable } from "./types.js";
5
+ /**
6
+ * Semantic color for a CenterDock tab trailing {@link TabIndicatorAdornment}
7
+ * (and optional chip background).
8
+ *
9
+ * @category Consumer Services
10
+ * @public
11
+ */
12
+ export type TabAdornmentColor = "accent" | "warn" | "ok" | "error" | "muted";
13
+ /**
14
+ * Leading identity adornment on a CenterDock tab — arbitrary React artwork
15
+ * (e.g. an app logo). Set via {@link EditorService.setIcon} /
16
+ * {@link TerminalService.setIcon}.
17
+ *
18
+ * @category Consumer Services
19
+ * @public
20
+ */
21
+ export interface TabIconAdornment {
22
+ /** Extension-owned key; stacking + {@link EditorService.clearIcon} target. */
23
+ id: string;
24
+ /** Leading glyph / logo rendered before the tab title. */
25
+ icon: ReactNode;
26
+ }
27
+ /**
28
+ * Trailing status adornment on a CenterDock tab — static Phosphor glyph.
29
+ * For busy/ready/warn/error chrome use {@link TabActivityAdornment} instead
30
+ * (ADR 0030).
31
+ *
32
+ * Set via {@link EditorService.setIndicator} /
33
+ * {@link TerminalService.setIndicator}.
34
+ *
35
+ * @category Consumer Services
36
+ * @public
37
+ */
38
+ export interface TabIndicatorAdornment {
39
+ /** Extension-owned key; stacking + clear target. */
40
+ id: string;
41
+ /**
42
+ * Glyph as a {@link PhosphorIconName} (e.g. `"Flag"`). The host resolves
43
+ * and paints it at 1em in regular weight by default. Set
44
+ * {@link TabIndicatorAdornment.filled | filled} for Phosphor fill weight;
45
+ * {@link TabIndicatorAdornment.color | color} tints the glyph; set
46
+ * {@link TabIndicatorAdornment.chip | chip} for a soft tinted background.
47
+ */
48
+ icon: PhosphorIconName;
49
+ /** Tooltip shown when hovering the indicator. */
50
+ tooltip?: string;
51
+ /** Semantic color for the glyph (and chip fill). */
52
+ color?: TabAdornmentColor;
53
+ /**
54
+ * When true, paint a soft tinted chip behind the icon. Default is
55
+ * glyph-only — no background.
56
+ */
57
+ chip?: boolean;
58
+ /**
59
+ * When true, paint the glyph with Phosphor `weight="fill"`. Default is
60
+ * regular weight (outline).
61
+ */
62
+ filled?: boolean;
63
+ }
64
+ /**
65
+ * Host-owned {@link Activity} on a CenterDock tab. Extensions pick the kind
66
+ * (+ optional tooltip); never an icon or color (ADR 0030).
67
+ *
68
+ * @category Consumer Services
69
+ * @public
70
+ */
71
+ export interface TabActivityAdornment {
72
+ /** Extension-owned key; stacking + clear target. */
73
+ id: string;
74
+ activity: Activity;
75
+ tooltip?: string;
76
+ }
77
+ /**
78
+ * Payload for {@link EditorService.flashIndicator} /
79
+ * {@link TerminalService.flashIndicator} — timed one-shot; no stable `id`
80
+ * (auto-cleared after `durationMs`).
81
+ *
82
+ * @category Consumer Services
83
+ * @public
84
+ */
85
+ export type TabIndicatorFlash = TabIndicatorContribution & {
86
+ /** How long to show the flash. Defaults to host choice (typically ~800ms). */
87
+ durationMs?: number;
88
+ };
89
+ /**
90
+ * Payload for {@link EditorService.flashActivity} /
91
+ * {@link TerminalService.flashActivity}.
92
+ *
93
+ * @category Consumer Services
94
+ * @public
95
+ */
96
+ export type TabActivityFlash = TabActivityContribution & {
97
+ durationMs?: number;
98
+ };
99
+ /**
100
+ * Fields contributed by a {@link TabIconBinder.provide} call (the binder’s
101
+ * own `id` is applied by the host).
102
+ *
103
+ * @category Consumer Services
104
+ * @public
105
+ */
106
+ export type TabIconContribution = Omit<TabIconAdornment, "id">;
107
+ /**
108
+ * Fields contributed by a {@link TabIndicatorBinder.provide} call.
109
+ *
110
+ * @category Consumer Services
111
+ * @public
112
+ */
113
+ export type TabIndicatorContribution = Omit<TabIndicatorAdornment, "id">;
114
+ /**
115
+ * Fields contributed by a {@link TabActivityBinder.provide} call.
116
+ *
117
+ * @category Consumer Services
118
+ * @public
119
+ */
120
+ export type TabActivityContribution = Omit<TabActivityAdornment, "id">;
121
+ /**
122
+ * Keep a leading-icon projection in sync for every editor/terminal tab.
123
+ * Prefer over repeatedly calling {@link EditorService.setIcon}.
124
+ *
125
+ * @category Consumer Services
126
+ * @public
127
+ */
128
+ export interface TabIconBinder {
129
+ /** Extension-owned key — conventionally `"<extension-id>.tab-icon"`. */
130
+ id: string;
131
+ /**
132
+ * Called synchronously per tab during render. Return `null` to contribute
133
+ * nothing for this target id (editor id or terminal session id).
134
+ */
135
+ provide(targetId: string): TabIconContribution | null;
136
+ }
137
+ /**
138
+ * Keep a trailing-indicator projection in sync for every editor/terminal tab.
139
+ *
140
+ * @category Consumer Services
141
+ * @public
142
+ */
143
+ export interface TabIndicatorBinder {
144
+ /** Extension-owned key — conventionally `"<extension-id>.tab-indicator"`. */
145
+ id: string;
146
+ /**
147
+ * Called synchronously per tab during render. Return `null` to contribute
148
+ * nothing for this target id.
149
+ */
150
+ provide(targetId: string): TabIndicatorContribution | null;
151
+ }
152
+ /**
153
+ * Keep a trailing-activity projection in sync for every editor/terminal tab.
154
+ *
155
+ * @category Consumer Services
156
+ * @public
157
+ */
158
+ export interface TabActivityBinder {
159
+ /** Extension-owned key — conventionally `"<extension-id>.tab-activity"`. */
160
+ id: string;
161
+ provide(targetId: string): TabActivityContribution | null;
162
+ }
163
+ /**
164
+ * Shared adorn verbs for CenterDock editor and terminal tabs. Implemented by
165
+ * {@link EditorService} and {@link TerminalService} (target id is the editor
166
+ * or terminal session id respectively).
167
+ *
168
+ * @category Consumer Services
169
+ * @public
170
+ */
171
+ export interface TabAdornmentMethods {
172
+ setIcon(targetId: string, adornment: TabIconAdornment): void;
173
+ clearIcon(targetId: string, adornmentId: string): void;
174
+ bindIcon(binder: TabIconBinder): Disposable;
175
+ setIndicator(targetId: string, adornment: TabIndicatorAdornment): void;
176
+ clearIndicator(targetId: string, adornmentId: string): void;
177
+ flashIndicator(targetId: string, flash: TabIndicatorFlash): void;
178
+ bindIndicator(binder: TabIndicatorBinder): Disposable;
179
+ setActivity(targetId: string, adornment: TabActivityAdornment): void;
180
+ clearActivity(targetId: string, adornmentId: string): void;
181
+ flashActivity(targetId: string, flash: TabActivityFlash): void;
182
+ bindActivity(binder: TabActivityBinder): Disposable;
183
+ /** All leading icons for `targetId`, in set/bind order. */
184
+ getIcons(targetId: string): TabIconAdornment[];
185
+ /** All trailing indicators for `targetId`, in set/bind/flash order. */
186
+ getIndicators(targetId: string): TabIndicatorAdornment[];
187
+ /** All trailing activities for `targetId`, in set/bind/flash order. */
188
+ getActivities(targetId: string): TabActivityAdornment[];
189
+ /** Signal that binder data changed — re-query `provide` and re-render. */
190
+ invalidateTabAdornments(): void;
191
+ subscribeTabAdornments(listener: () => void): Disposable;
192
+ }
193
+ //# sourceMappingURL=tab-adornment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-adornment.d.ts","sourceRoot":"","sources":["../src/tab-adornment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC;AAE7E;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,EAAE,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,IAAI,EAAE,SAAS,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,qBAAqB;IACpC,oDAAoD;IACpD,EAAE,EAAE,MAAM,CAAC;IACX;;;;;;OAMG;IACH,IAAI,EAAE,gBAAgB,CAAC;IACvB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG,wBAAwB,GAAG;IACzD,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,uBAAuB,GAAG;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAAC;CACvD;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI,CAAC;CAC5D;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,CAAC;CAC3D;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC7D,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAAC;IAE5C,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACvE,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5D,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACjE,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,UAAU,CAAC;IAEtD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3D,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC/D,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,CAAC;IAEpD,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAC/C,uEAAuE;IACvE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAAC;IACzD,uEAAuE;IACvE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAAC;IACxD,0EAA0E;IAC1E,uBAAuB,IAAI,IAAI,CAAC;IAChC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC;CAC1D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tab-adornment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tab-adornment.js","sourceRoot":"","sources":["../src/tab-adornment.ts"],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
- import type React from "react";
2
1
  import type { Disposable } from "./types.js";
3
2
  import type { TerminalKind, TerminalRecord } from "./domain-types.js";
3
+ import type { TabAdornmentMethods, TabIndicatorContribution } from "./tab-adornment.js";
4
4
  /**
5
5
  * A parsed OSC (Operating System Command) escape sequence emitted by a
6
6
  * terminal program. Delivered by {@link TerminalService.subscribeOsc}.
@@ -22,31 +22,17 @@ export interface OscEvent {
22
22
  }
23
23
  export type { TerminalKind, TerminalRecord } from "./domain-types.js";
24
24
  /**
25
- * A decoration that an extension can attach to a terminal tab — a small icon
26
- * with an optional tooltip and semantic color. Registered via
27
- * {@link TerminalService.registerTabDecoration}.
25
+ * @deprecated Prefer {@link TerminalService.setIndicator} /
26
+ * {@link TerminalService.bindIndicator}. Alias for a trailing indicator
27
+ * contribution (no `id` — the provider id supplies it).
28
28
  *
29
29
  * @category Consumer Services
30
30
  * @public
31
31
  */
32
- export interface TerminalTabDecoration {
33
- /**
34
- * Small React node rendered as a decoration badge on the tab (≤16 px).
35
- * The extension supplies the shape; the host applies `color` via a CSS
36
- * data attribute mapped to design tokens.
37
- */
38
- icon: React.ReactNode;
39
- /** Tooltip shown when hovering the decoration icon. */
40
- tooltip?: string;
41
- /**
42
- * Semantic color applied to the icon element. The host maps this to the
43
- * matching `--silo-color-*` design token so themes control the exact shade.
44
- */
45
- color?: "accent" | "warn" | "ok" | "error" | "muted";
46
- }
32
+ export type TerminalTabDecoration = TabIndicatorContribution;
47
33
  /**
48
- * A decoration provider for terminal tabs. Register via
49
- * {@link TerminalService.registerTabDecoration}.
34
+ * @deprecated Prefer {@link TerminalService.bindIndicator}. Terminal-only
35
+ * trailing-indicator provider kept as a shim over the adornment registry.
50
36
  *
51
37
  * @category Consumer Services
52
38
  * @public
@@ -56,8 +42,7 @@ export interface TerminalTabDecorationProvider {
56
42
  id: string;
57
43
  /**
58
44
  * Called synchronously for each terminal tab during render. Return `null`
59
- * to contribute nothing for this terminal. When multiple providers are
60
- * registered, the first non-null result wins.
45
+ * to contribute nothing for this terminal.
61
46
  */
62
47
  provide(terminalId: string): TerminalTabDecoration | null;
63
48
  }
@@ -85,10 +70,13 @@ export interface CreateTerminalInput {
85
70
  * deleting the workspace. The tab itself is rendered by the core dock from the
86
71
  * workspace's terminal records.
87
72
  *
73
+ * Tab chrome adornments (`setIcon` / `setIndicator` / …) take a **terminal
74
+ * session id** as the target — see {@link TabAdornmentMethods}.
75
+ *
88
76
  * @category Consumer Services
89
77
  * @public
90
78
  */
91
- export interface TerminalService {
79
+ export interface TerminalService extends TabAdornmentMethods {
92
80
  /**
93
81
  * Open a new terminal in a workspace (defaults to the active one). Returns the
94
82
  * created {@link TerminalRecord}; the PTY session spawns lazily when its tab
@@ -144,26 +132,21 @@ export interface TerminalService {
144
132
  */
145
133
  focus(terminalId: string): void;
146
134
  /**
147
- * Register a decoration provider for terminal tabs. The first registered
148
- * provider that returns a non-null decoration for a terminal wins; subsequent
149
- * providers are not consulted. Returns a {@link Disposable} that unregisters
150
- * the provider.
135
+ * @deprecated Prefer {@link TerminalService.bindIndicator}. Thin shim that
136
+ * registers a trailing-indicator binder for terminal tabs only.
151
137
  */
152
138
  registerTabDecoration(provider: TerminalTabDecorationProvider): Disposable;
153
139
  /**
154
- * Get the current decoration for a terminal tab. Returns the first non-null
155
- * result from registered providers, or `null` if none apply.
140
+ * @deprecated Prefer {@link TerminalService.getIndicators}. Returns the first
141
+ * trailing indicator for a terminal tab, or `null`.
156
142
  */
157
143
  getTabDecoration(terminalId: string): TerminalTabDecoration | null;
158
144
  /**
159
- * Signal that tab decoration data has changed. Fires all listeners registered
160
- * via {@link TerminalService.subscribeTabDecorations}, causing terminal tabs
161
- * to re-query providers and re-render their decoration.
145
+ * @deprecated Prefer {@link TerminalService.invalidateTabAdornments}.
162
146
  */
163
147
  invalidateTabDecorations(): void;
164
148
  /**
165
- * Subscribe to tab decoration invalidations. Returns a {@link Disposable}
166
- * that cancels the subscription.
149
+ * @deprecated Prefer {@link TerminalService.subscribeTabAdornments}.
167
150
  */
168
151
  subscribeTabDecorations(listener: () => void): Disposable;
169
152
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-service.d.ts","sourceRoot":"","sources":["../src/terminal-service.ts"],"names":[],"mappings":"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"}
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"}
@@ -0,0 +1,171 @@
1
+ import type { ContextKeys } from "./context-keys.js";
2
+ import type { PhosphorIconName } from "./phosphor-icon.js";
3
+ import type { MenuEntry } from "./ui-service.js";
4
+ /**
5
+ * Built-in CenterDock surfaces that accept
6
+ * {@link ToolbarItemContribution}s. One surface per registration.
7
+ *
8
+ * @category Registration
9
+ * @public
10
+ */
11
+ export type ToolbarSurface = "editor" | "terminal";
12
+ /**
13
+ * The typed target each {@link ToolbarSurface} passes to an invoked command
14
+ * and to `when` / `checked` / {@link ToolbarMenuItemContribution.menu} builders.
15
+ *
16
+ * @category Registration
17
+ * @public
18
+ */
19
+ export interface ToolbarItemContext {
20
+ editor: {
21
+ editorId: string;
22
+ };
23
+ terminal: {
24
+ terminalId: string;
25
+ };
26
+ }
27
+ /**
28
+ * Shared fields for interactive toolbar contributions. Render chrome is driven
29
+ * by {@link ToolbarItemFields.icon | icon} + {@link ToolbarItemFields.title | title}:
30
+ *
31
+ * | icon | title | Control |
32
+ * | ---- | ----- | -------------- |
33
+ * | ✓ | — | icon-only |
34
+ * | — | ✓ | text-only |
35
+ * | ✓ | ✓ | icon + text |
36
+ *
37
+ * Icons are Phosphor export names ({@link PhosphorIconName}); the host
38
+ * resolves and paints them bold at 1em so they match local-web-viewer and
39
+ * track UI zoom. Pass a React node is no longer supported — use the name.
40
+ *
41
+ * @category Registration
42
+ * @public
43
+ */
44
+ export interface ToolbarItemFields<S extends ToolbarSurface = ToolbarSurface> {
45
+ /** Unique id for this contribution. */
46
+ id: string;
47
+ /** Which toolbar to contribute to. */
48
+ surface: S;
49
+ /**
50
+ * Leading glyph as a {@link PhosphorIconName} (e.g. `"Flag"`). Omit for a
51
+ * text-only control (requires {@link ToolbarItemFields.title | title}).
52
+ */
53
+ icon?: PhosphorIconName;
54
+ /**
55
+ * Visible label painted in the control. Omit for icon-only. When both
56
+ * `icon` and `title` are set, the host renders icon + text.
57
+ */
58
+ title?: string;
59
+ /** Hover tooltip (falls back to title / label / command label). */
60
+ tooltip?: string;
61
+ /**
62
+ * Accessible name (falls back to title / the command's label). Always used
63
+ * for `aria-label`; not painted unless {@link ToolbarItemFields.title | title}
64
+ * is also set.
65
+ */
66
+ label?: string;
67
+ /** Ordering within the trailing cluster; lower sorts first. */
68
+ order?: number;
69
+ /**
70
+ * Visibility predicate. Returning false hides the item for this target.
71
+ */
72
+ when?: (ctx: ContextKeys, target: ToolbarItemContext[S]) => boolean;
73
+ /**
74
+ * Toggle-state predicate for command items. When provided, the host renders
75
+ * the control in a pressed/checked visual state whenever this returns true.
76
+ * Menu items put checks on individual {@link MenuEntry} rows instead.
77
+ */
78
+ checked?: (ctx: ContextKeys, target: ToolbarItemContext[S]) => boolean;
79
+ }
80
+ /**
81
+ * Command-backed toolbar control — click runs {@link ToolbarCommandItemContribution.command}.
82
+ *
83
+ * @category Registration
84
+ * @public
85
+ */
86
+ export interface ToolbarCommandItemContribution<S extends ToolbarSurface = ToolbarSurface> extends ToolbarItemFields<S> {
87
+ /** The command to run; receives {@link ToolbarItemContext}[S] as its first arg. */
88
+ command: string;
89
+ menu?: undefined;
90
+ type?: undefined;
91
+ }
92
+ /**
93
+ * Menu-backed toolbar control — click opens a host dropdown via
94
+ * {@link UiService.showMenu} with entries from
95
+ * {@link ToolbarMenuItemContribution.menu}.
96
+ *
97
+ * @category Registration
98
+ * @public
99
+ */
100
+ export interface ToolbarMenuItemContribution<S extends ToolbarSurface = ToolbarSurface> extends ToolbarItemFields<S> {
101
+ /**
102
+ * Build the dropdown for this target. May be sync or async. The host
103
+ * anchors the menu on the toolbar control (`align: "end"`, toggle on).
104
+ */
105
+ menu: (target: ToolbarItemContext[S]) => MenuEntry[] | Promise<MenuEntry[]>;
106
+ command?: undefined;
107
+ type?: undefined;
108
+ }
109
+ /**
110
+ * Shared placement fields for non-interactive toolbar chrome
111
+ * ({@link ToolbarSeparatorContribution} / {@link ToolbarSpacerContribution}).
112
+ *
113
+ * @category Registration
114
+ * @public
115
+ */
116
+ export interface ToolbarChromeFields<S extends ToolbarSurface = ToolbarSurface> {
117
+ id: string;
118
+ surface: S;
119
+ order?: number;
120
+ when?: (ctx: ContextKeys, target: ToolbarItemContext[S]) => boolean;
121
+ }
122
+ /**
123
+ * A light vertical rule between toolbar controls. Softer than the Text |
124
+ * Preview pipe — host paints it with a low-opacity mix of toolbar text, not
125
+ * `--silo-color-toolbar-text-disabled`.
126
+ *
127
+ * @category Registration
128
+ * @public
129
+ */
130
+ export interface ToolbarSeparatorContribution<S extends ToolbarSurface = ToolbarSurface> extends ToolbarChromeFields<S> {
131
+ type: "separator";
132
+ }
133
+ /**
134
+ * Gap size for {@link ToolbarSpacerContribution}. Maps to em of the toolbar
135
+ * font (`sm` 0.25em / `md` 0.5em / `lg` 0.75em).
136
+ *
137
+ * @category Registration
138
+ * @public
139
+ */
140
+ export type ToolbarSpacerSize = "sm" | "md" | "lg";
141
+ /**
142
+ * An empty gap between toolbar controls (no rule). Use to group without a
143
+ * hard split; prefer {@link ToolbarSeparatorContribution} when a hairline helps.
144
+ *
145
+ * @category Registration
146
+ * @public
147
+ */
148
+ export interface ToolbarSpacerContribution<S extends ToolbarSurface = ToolbarSurface> extends ToolbarChromeFields<S> {
149
+ type: "spacer";
150
+ /** Default `"md"`. */
151
+ size?: ToolbarSpacerSize;
152
+ }
153
+ /**
154
+ * Adds a control or chrome element to the trailing cluster of a built-in
155
+ * editor or terminal toolbar. Register via
156
+ * {@link ExtensionContext.registerToolbarItem}.
157
+ *
158
+ * Interactive items set exactly one of
159
+ * {@link ToolbarCommandItemContribution.command | command} or
160
+ * {@link ToolbarMenuItemContribution.menu | menu}. Separators and spacers use
161
+ * `type: "separator" | "spacer"`.
162
+ *
163
+ * Contributions are independent of context-menu items — an extension may
164
+ * register either, both, or neither. Hosts only render items while that
165
+ * surface's breadcrumbs setting is on.
166
+ *
167
+ * @category Registration
168
+ * @public
169
+ */
170
+ export type ToolbarItemContribution<S extends ToolbarSurface = ToolbarSurface> = ToolbarCommandItemContribution<S> | ToolbarMenuItemContribution<S> | ToolbarSeparatorContribution<S> | ToolbarSpacerContribution<S>;
171
+ //# sourceMappingURL=toolbar-items.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar-items.d.ts","sourceRoot":"","sources":["../src/toolbar-items.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=toolbar-items.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar-items.js","sourceRoot":"","sources":["../src/toolbar-items.ts"],"names":[],"mappings":""}
package/dist/types.d.ts CHANGED
@@ -32,6 +32,7 @@ import type { EditorService } from "./editor-service.js";
32
32
  import type { LayoutService } from "./layout-service.js";
33
33
  import type { ProcessService } from "./process-service.js";
34
34
  import type { ProcessesService } from "./processes-service.js";
35
+ import type { AgentsService } from "./agents-service.js";
35
36
  import type { TerminalService } from "./terminal-service.js";
36
37
  import type { FileService } from "./file-service.js";
37
38
  import type { SearchService } from "./search-service.js";
@@ -43,6 +44,7 @@ import type { WebviewService } from "./webview-service.js";
43
44
  import type { SystemService } from "./system-service.js";
44
45
  import type { LogService } from "./output-service.js";
45
46
  import type { ExtensionStorage, ExtensionStorageScopes } from "./extension-storage.js";
47
+ import type { ToolbarItemContribution, ToolbarSurface } from "./toolbar-items.js";
46
48
  /**
47
49
  * The teardown handle returned by every `register*` call on
48
50
  * {@link ExtensionContext}. Calling {@link Disposable.dispose | dispose}
@@ -613,6 +615,20 @@ export interface ExtensionContext {
613
615
  * surface's {@link MenuContext} target as its first argument.
614
616
  */
615
617
  registerContextMenuItem<S extends MenuSurface>(item: ContextMenuContribution<S>): Disposable;
618
+ /**
619
+ * Register a {@link ToolbarItemContribution} (icon-only, text-only,
620
+ * icon+text, or dropdown) in the trailing cluster of an editor or terminal
621
+ * toolbar. Independent of {@link ExtensionContext.registerContextMenuItem}
622
+ * — register either, both, or neither. Hosts only show items while that
623
+ * surface's breadcrumbs setting is on. See
624
+ * {@link ExtensionContext.invalidateToolbarItems}.
625
+ */
626
+ registerToolbarItem<S extends ToolbarSurface>(item: ToolbarItemContribution<S>): Disposable;
627
+ /**
628
+ * Signal that toolbar-item `when` / `checked` data changed. Causes editor
629
+ * and terminal toolbars to re-query contributions and re-render.
630
+ */
631
+ invalidateToolbarItems(): void;
616
632
  /** Register a {@link Keybinding} (bind a shortcut to a command). */
617
633
  registerKeybinding(binding: Keybinding): Disposable;
618
634
  /** Register a {@link SidePanel} (a left/right column panel). */
@@ -680,6 +696,16 @@ export interface ExtensionContext {
680
696
  * See {@link ProcessesService} for the full API.
681
697
  */
682
698
  readonly processes: ProcessesService;
699
+ /**
700
+ * Host-computed coding-agent activity and resume-identity observability —
701
+ * a live, read-only view of what each terminal's agent is doing
702
+ * (`none`/`working`/`idle`/`error`/`dead`) and, once a terminal's
703
+ * backend is confirmed dead after an unclean shutdown, a resume hint for
704
+ * it. Detection is fully sealed in the host implementation; there is no
705
+ * registration API. **@beta** — the shape may still change. See
706
+ * {@link AgentsService} for the full API.
707
+ */
708
+ readonly agents: AgentsService;
683
709
  /**
684
710
  * Consumer API for the terminal domain — open a terminal tab in a workspace
685
711
  * (`create`) or reap a workspace's terminals (`closeWorkspace`). The terminal
@@ -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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"}