@silo-code/sdk 0.16.0 → 0.18.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/domain-types.d.ts +3 -0
- package/dist/domain-types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/processes-service.d.ts +141 -0
- package/dist/processes-service.d.ts.map +1 -0
- package/dist/processes-service.js +2 -0
- package/dist/processes-service.js.map +1 -0
- package/dist/system-service.d.ts +72 -0
- package/dist/system-service.d.ts.map +1 -0
- package/dist/system-service.js +5 -0
- package/dist/system-service.js.map +1 -0
- package/dist/types.d.ts +18 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/domain-types.ts +3 -0
- package/src/index.ts +8 -0
- package/src/processes-service.ts +152 -0
- package/src/system-service.ts +76 -0
- package/src/types.ts +18 -0
package/dist/domain-types.d.ts
CHANGED
|
@@ -129,6 +129,9 @@ export interface Workspace {
|
|
|
129
129
|
sidePanelOrder?: Record<string, number>;
|
|
130
130
|
activeSidePanelTabs?: Record<string, string>;
|
|
131
131
|
sidePanelScrollPositions?: Record<string, number>;
|
|
132
|
+
/** Hidden side panels, keyed by panel id; only an explicit `false` (hidden)
|
|
133
|
+
* is stored, so an absent key means visible (the default). */
|
|
134
|
+
sidePanelVisibility?: Record<string, boolean>;
|
|
132
135
|
extensionState?: Record<string, Record<string, unknown>>;
|
|
133
136
|
/** ID of the current preview (temporary) editor, if any. */
|
|
134
137
|
previewEditorId?: string | null;
|
|
@@ -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,6 +15,7 @@ export type { WorkspaceService, WorkspaceState, CreateWorkspaceInput, WorkspaceS
|
|
|
15
15
|
export type { EditorService, EditorSaveHandlers, OpenFileOptions, EditorViewInfo, OpenDiffSpec, DiffContent, DiffContentRequest, DiffContentProvider, } from "./editor-service";
|
|
16
16
|
export type { LayoutService, LayoutState, SidePanelColumnState, SideLocation, } from "./layout-service";
|
|
17
17
|
export type { ProcessService, ProcessSession, ProcessSpawnOptions, ProcessExecOptions, ProcessExecResult, } from "./process-service";
|
|
18
|
+
export type { ProcessesService, ProcessInfo, ProcessStats, } from "./processes-service";
|
|
18
19
|
export type { TerminalService, CreateTerminalInput, TerminalKind, TerminalRecord, TerminalTabDecoration, TerminalTabDecorationProvider, OscEvent, } from "./terminal-service";
|
|
19
20
|
export type { FileService, FileMeta, FileChangeEvent } from "./file-service";
|
|
20
21
|
export type { SearchService, SearchOptions, SearchMatch, SearchFileResult, SearchResponse, } from "./search-service";
|
|
@@ -26,6 +27,7 @@ export type { DndService, DndItem, DndMime, DragInit, DndMode, DropContext, Drop
|
|
|
26
27
|
export { DND_MIME } from "./dnd-service";
|
|
27
28
|
export type { UiService, FileFilter, MenuItem, MenuItemTrailing, MenuSeparator, MenuHeader, MenuEntry, ShowMenuOptions, ConfirmOptions, PromptOptions, ModalOptions, NotifyAction, NotifyOptions, } from "./ui-service";
|
|
28
29
|
export type { NetworkService, NetworkRequestOptions, NetworkResponse, } from "./network-service";
|
|
30
|
+
export type { SystemService, SystemInfo } from "./system-service";
|
|
29
31
|
export type { ContextKeys } from "./context-keys";
|
|
30
32
|
export { Tooltip } from "./Tooltip";
|
|
31
33
|
export { useServiceState } from "./use-service-state";
|
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;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmGH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA6BhD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAiCzC,yEAAyE;AACzE,iFAAiF;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import type { Disposable } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Resource snapshot for the foreground leader of a PTY session. Only present
|
|
4
|
+
* on a {@link ProcessInfo} when an extension has called
|
|
5
|
+
* {@link ProcessesService.enableStats}.
|
|
6
|
+
*
|
|
7
|
+
* CPU% is a delta between consecutive samples (the first sample after calling
|
|
8
|
+
* `enableStats` returns 0%; values stabilize after the second poll ~3 s later).
|
|
9
|
+
*
|
|
10
|
+
* @category Consumer Services
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export interface ProcessStats {
|
|
14
|
+
/** The process id of the foreground leader (same as {@link ProcessInfo.pgid} by convention). */
|
|
15
|
+
pid: number;
|
|
16
|
+
/** CPU percentage used since the previous sample, per-core (not system-wide total). */
|
|
17
|
+
cpuPercent: number;
|
|
18
|
+
/** Resident memory in megabytes. */
|
|
19
|
+
memoryMb: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Live view of what is currently running in one PTY session — the foreground
|
|
23
|
+
* process group as reported by the pty-host daemon every ~750 ms.
|
|
24
|
+
*
|
|
25
|
+
* Returned by {@link ProcessesService.getState} and
|
|
26
|
+
* {@link ProcessesService.getByTerminalId}; delivered to
|
|
27
|
+
* {@link ProcessesService.subscribe} listeners on every change.
|
|
28
|
+
*
|
|
29
|
+
* @category Consumer Services
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
export interface ProcessInfo {
|
|
33
|
+
/** The underlying PTY session id — stable across app restarts. */
|
|
34
|
+
readonly sessionId: string;
|
|
35
|
+
/**
|
|
36
|
+
* The terminal tab record id (e.g. `"term_abc"`) when this session is backed
|
|
37
|
+
* by a visible terminal tab. `undefined` only for headless sessions created
|
|
38
|
+
* directly via {@link ProcessService.spawn}. Use to correlate with
|
|
39
|
+
* `ctx.terminals` or to call `ctx.terminals.focus(terminalId)`.
|
|
40
|
+
*/
|
|
41
|
+
readonly terminalId?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Display title of the terminal tab — matches the tab label the user sees
|
|
44
|
+
* (`customName ?? title` from the terminal record). Undefined for headless
|
|
45
|
+
* sessions.
|
|
46
|
+
*/
|
|
47
|
+
readonly terminalTitle?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Foreground process-group id — the group the PTY is currently routing input
|
|
50
|
+
* to. Equals the PID of the group leader (by Unix convention).
|
|
51
|
+
*/
|
|
52
|
+
readonly pgid: number;
|
|
53
|
+
/** Name of the foreground program (e.g. `"node"`, `"vim"`, `"-zsh"`). */
|
|
54
|
+
readonly leader: string;
|
|
55
|
+
/** Working directory of the foreground leader (`""` if unknown). */
|
|
56
|
+
readonly cwd: string;
|
|
57
|
+
/** `true` when the foreground group is the shell itself — i.e. idle at a prompt. */
|
|
58
|
+
readonly atPrompt: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* CPU and memory snapshot. Only present while at least one extension has
|
|
61
|
+
* called {@link ProcessesService.enableStats} and held its {@link Disposable}.
|
|
62
|
+
* Absent otherwise (no polling overhead when nobody needs it).
|
|
63
|
+
*/
|
|
64
|
+
readonly stats?: ProcessStats;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Workspace process observability — a live read-only view of what is running
|
|
68
|
+
* in each terminal of the active workspace, with optional resource stats and a
|
|
69
|
+
* surgical kill that leaves the shell intact. Exposed as
|
|
70
|
+
* {@link ExtensionContext.processes}.
|
|
71
|
+
*
|
|
72
|
+
* The foreground leader, cwd, and idle/busy state update continuously
|
|
73
|
+
* (every ~750 ms) via the pty-host daemon — no polling needed for that data.
|
|
74
|
+
* CPU and memory require an explicit opt-in via {@link ProcessesService.enableStats}
|
|
75
|
+
* because sysinfo queries have a cost proportional to the number of active
|
|
76
|
+
* sessions.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* // Notify when all agents in the workspace are idle.
|
|
81
|
+
* const sub = ctx.processes.subscribe((procs) => {
|
|
82
|
+
* const allIdle = procs.every((p) => p.atPrompt);
|
|
83
|
+
* if (allIdle) ctx.ui.notify({ title: "All agents finished" });
|
|
84
|
+
* });
|
|
85
|
+
* ctx.subscriptions.push(sub);
|
|
86
|
+
*
|
|
87
|
+
* // Enable resource stats for a live process-manager panel.
|
|
88
|
+
* ctx.subscriptions.push(ctx.processes.enableStats());
|
|
89
|
+
* ```
|
|
90
|
+
*
|
|
91
|
+
* @category Consumer Services
|
|
92
|
+
* @public
|
|
93
|
+
*/
|
|
94
|
+
export interface ProcessesService {
|
|
95
|
+
/**
|
|
96
|
+
* Current {@link ProcessInfo} for every live session in the active workspace.
|
|
97
|
+
* Only includes sessions that have received at least one foreground update
|
|
98
|
+
* from the daemon (entries with an unknown leader are omitted).
|
|
99
|
+
*/
|
|
100
|
+
getState(): ProcessInfo[];
|
|
101
|
+
/**
|
|
102
|
+
* Look up the {@link ProcessInfo} for a specific terminal tab by its record
|
|
103
|
+
* id (e.g. `"term_abc"`). Returns `undefined` until the first foreground
|
|
104
|
+
* event has been received for that terminal's session.
|
|
105
|
+
*
|
|
106
|
+
* Convenience shortcut — avoids scanning {@link ProcessesService.getState}
|
|
107
|
+
* when the caller already has a `terminalId`.
|
|
108
|
+
*/
|
|
109
|
+
getByTerminalId(terminalId: string): ProcessInfo | undefined;
|
|
110
|
+
/**
|
|
111
|
+
* Subscribe to changes in the active workspace's process list. The listener
|
|
112
|
+
* is called whenever a leader changes, `atPrompt` flips, a terminal is
|
|
113
|
+
* added or removed, or a stats tick arrives (if {@link ProcessesService.enableStats}
|
|
114
|
+
* is active). Returns a {@link Disposable} that cancels the subscription.
|
|
115
|
+
*/
|
|
116
|
+
subscribe(listener: (state: ProcessInfo[]) => void): Disposable;
|
|
117
|
+
/**
|
|
118
|
+
* Kill a specific foreground process group by pgid — sends `SIGTERM`, then
|
|
119
|
+
* `SIGKILL` after 3 s if the group is still alive. **Does not destroy the
|
|
120
|
+
* PTY session** — the shell remains alive and returns to its prompt.
|
|
121
|
+
*
|
|
122
|
+
* The `pgid` comes from {@link ProcessInfo.pgid}. Killing a shell's own pgid
|
|
123
|
+
* (when `atPrompt` is `true`) would close the terminal; guard against that if
|
|
124
|
+
* needed.
|
|
125
|
+
*
|
|
126
|
+
* Requires the `"process"` {@link Permission} for third-party extensions.
|
|
127
|
+
*/
|
|
128
|
+
kill(pgid: number): Promise<void>;
|
|
129
|
+
/**
|
|
130
|
+
* Enable CPU + memory polling for all sessions in the active workspace.
|
|
131
|
+
* Returns a {@link Disposable} — **dispose it when done** to stop polling and
|
|
132
|
+
* remove `stats` from all {@link ProcessInfo} objects.
|
|
133
|
+
*
|
|
134
|
+
* Multiple callers share one poll loop (refcounted); the loop stops only when
|
|
135
|
+
* the last disposable is released. Polling interval is ~1500 ms.
|
|
136
|
+
*
|
|
137
|
+
* CPU% is `0` on the first sample; values stabilize after ~3 s.
|
|
138
|
+
*/
|
|
139
|
+
enableStats(): Disposable;
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=processes-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processes-service.d.ts","sourceRoot":"","sources":["../src/processes-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAO1C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B,gGAAgG;IAChG,GAAG,EAAE,MAAM,CAAC;IACZ,uFAAuF;IACvF,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,QAAQ,IAAI,WAAW,EAAE,CAAC;IAE1B;;;;;;;OAOG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;IAE7D;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,GAAG,UAAU,CAAC;IAEhE;;;;;;;;;;OAUG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;;;;;;;;OASG;IACH,WAAW,IAAI,UAAU,CAAC;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processes-service.js","sourceRoot":"","sources":["../src/processes-service.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A point-in-time snapshot of the host machine and application version.
|
|
3
|
+
* Returned by {@link SystemService.getInfo}. All fields are static for the
|
|
4
|
+
* lifetime of the app — cache freely.
|
|
5
|
+
*
|
|
6
|
+
* @category Consumer Services
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export interface SystemInfo {
|
|
10
|
+
/**
|
|
11
|
+
* The host operating system.
|
|
12
|
+
*
|
|
13
|
+
* - `"macos"` — macOS (Apple Silicon or Intel)
|
|
14
|
+
* - `"linux"` — Linux
|
|
15
|
+
* - `"windows"` — Windows
|
|
16
|
+
*/
|
|
17
|
+
os: "macos" | "linux" | "windows";
|
|
18
|
+
/**
|
|
19
|
+
* The CPU architecture the app binary was compiled for, e.g. `"aarch64"` or
|
|
20
|
+
* `"x86_64"`. Uses Rust's `std::env::consts::ARCH` vocabulary — common values
|
|
21
|
+
* on Silo's targets are `"aarch64"` (Apple Silicon, ARM) and `"x86_64"` (Intel
|
|
22
|
+
* / AMD64).
|
|
23
|
+
*/
|
|
24
|
+
arch: string;
|
|
25
|
+
/**
|
|
26
|
+
* The running Silo application version from the bundle manifest, e.g.
|
|
27
|
+
* `"0.15.0"`.
|
|
28
|
+
*/
|
|
29
|
+
siloVersion: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Read-only snapshot of the host machine and Silo version. Exposed as
|
|
33
|
+
* {@link ExtensionContext.system}.
|
|
34
|
+
*
|
|
35
|
+
* All values are static — they are baked into the binary at compile time and
|
|
36
|
+
* do not change during a session. `getInfo()` resolves on the first call and
|
|
37
|
+
* returns the cached result on every subsequent call.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* export const extension: Extension = {
|
|
42
|
+
* id: "my.platform-aware",
|
|
43
|
+
* async activate(ctx) {
|
|
44
|
+
* const { os, arch, siloVersion } = await ctx.system.getInfo();
|
|
45
|
+
*
|
|
46
|
+
* if (os === "macos") {
|
|
47
|
+
* // Register a macOS-specific command.
|
|
48
|
+
* ctx.subscriptions.push(
|
|
49
|
+
* ctx.registerCommand({
|
|
50
|
+
* id: "my.reveal-in-finder",
|
|
51
|
+
* title: "Reveal in Finder",
|
|
52
|
+
* run() { ... },
|
|
53
|
+
* }),
|
|
54
|
+
* );
|
|
55
|
+
* }
|
|
56
|
+
*
|
|
57
|
+
* ctx.ui.notify({ title: `Running Silo ${siloVersion} on ${os}/${arch}` });
|
|
58
|
+
* },
|
|
59
|
+
* };
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* @category Consumer Services
|
|
63
|
+
* @public
|
|
64
|
+
*/
|
|
65
|
+
export interface SystemService {
|
|
66
|
+
/**
|
|
67
|
+
* Resolve the host-platform snapshot. Resolves immediately after the first
|
|
68
|
+
* call (the result is cached) — safe to `await` in `activate`.
|
|
69
|
+
*/
|
|
70
|
+
getInfo(): Promise<SystemInfo>;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=system-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-service.d.ts","sourceRoot":"","sources":["../src/system-service.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;OAMG;IACH,EAAE,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IAClC;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;CAChC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// `ctx.system` — static host-platform metadata: OS, CPU architecture, and the
|
|
2
|
+
// running Silo version. Values are baked in at build time and never change
|
|
3
|
+
// during a session, so the result of getInfo() is cached after the first call.
|
|
4
|
+
export {};
|
|
5
|
+
//# sourceMappingURL=system-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-service.js","sourceRoot":"","sources":["../src/system-service.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2EAA2E;AAC3E,+EAA+E"}
|
package/dist/types.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ import type { WorkspaceService } from "./workspace-service";
|
|
|
24
24
|
import type { EditorService } from "./editor-service";
|
|
25
25
|
import type { LayoutService } from "./layout-service";
|
|
26
26
|
import type { ProcessService } from "./process-service";
|
|
27
|
+
import type { ProcessesService } from "./processes-service";
|
|
27
28
|
import type { TerminalService } from "./terminal-service";
|
|
28
29
|
import type { FileService } from "./file-service";
|
|
29
30
|
import type { SearchService } from "./search-service";
|
|
@@ -31,6 +32,7 @@ import type { ThemeService, ThemePreset } from "./theme-service";
|
|
|
31
32
|
import type { DndService } from "./dnd-service";
|
|
32
33
|
import type { UiService } from "./ui-service";
|
|
33
34
|
import type { NetworkService } from "./network-service";
|
|
35
|
+
import type { SystemService } from "./system-service";
|
|
34
36
|
import type { ExtensionStorage, ExtensionStorageScopes } from "./extension-storage";
|
|
35
37
|
/**
|
|
36
38
|
* The teardown handle returned by every `register*` call on
|
|
@@ -457,6 +459,14 @@ export interface ExtensionContext {
|
|
|
457
459
|
* re-attach a session and drive it via the returned `ProcessSession`.
|
|
458
460
|
*/
|
|
459
461
|
readonly process: ProcessService;
|
|
462
|
+
/**
|
|
463
|
+
* Workspace process observability — a live view of what is running in each
|
|
464
|
+
* terminal, with optional CPU/memory stats and a surgical kill that leaves the
|
|
465
|
+
* shell alive. Complements {@link ExtensionContext.process} (which spawns
|
|
466
|
+
* sessions); this surface is for reading and controlling what's already running.
|
|
467
|
+
* See {@link ProcessesService} for the full API.
|
|
468
|
+
*/
|
|
469
|
+
readonly processes: ProcessesService;
|
|
460
470
|
/**
|
|
461
471
|
* Consumer API for the terminal domain — open a terminal tab in a workspace
|
|
462
472
|
* (`create`) or reap a workspace's terminals (`closeWorkspace`). The terminal
|
|
@@ -507,6 +517,14 @@ export interface ExtensionContext {
|
|
|
507
517
|
* loading a URL. See {@link NetworkService} for the full API.
|
|
508
518
|
*/
|
|
509
519
|
readonly net: NetworkService;
|
|
520
|
+
/**
|
|
521
|
+
* Static host-platform metadata — the OS, CPU architecture, and running Silo
|
|
522
|
+
* version. Values are baked into the binary at build time and never change
|
|
523
|
+
* during a session. Use to make platform-specific decisions at activation time
|
|
524
|
+
* (e.g. register a macOS-only command, show an arch-specific download URL).
|
|
525
|
+
* See {@link SystemService} for the full API.
|
|
526
|
+
*/
|
|
527
|
+
readonly system: SystemService;
|
|
510
528
|
/**
|
|
511
529
|
* Resolve a handle to another extension in order to consume the API it
|
|
512
530
|
* published (the value its {@link Extension.activate} returned). This is how
|
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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"}
|
package/package.json
CHANGED
package/src/domain-types.ts
CHANGED
|
@@ -132,6 +132,9 @@ export interface Workspace {
|
|
|
132
132
|
sidePanelOrder?: Record<string, number>;
|
|
133
133
|
activeSidePanelTabs?: Record<string, string>;
|
|
134
134
|
sidePanelScrollPositions?: Record<string, number>;
|
|
135
|
+
/** Hidden side panels, keyed by panel id; only an explicit `false` (hidden)
|
|
136
|
+
* is stored, so an absent key means visible (the default). */
|
|
137
|
+
sidePanelVisibility?: Record<string, boolean>;
|
|
135
138
|
extensionState?: Record<string, Record<string, unknown>>;
|
|
136
139
|
/** ID of the current preview (temporary) editor, if any. */
|
|
137
140
|
previewEditorId?: string | null;
|
package/src/index.ts
CHANGED
|
@@ -80,6 +80,11 @@ export type {
|
|
|
80
80
|
ProcessExecOptions,
|
|
81
81
|
ProcessExecResult,
|
|
82
82
|
} from "./process-service";
|
|
83
|
+
export type {
|
|
84
|
+
ProcessesService,
|
|
85
|
+
ProcessInfo,
|
|
86
|
+
ProcessStats,
|
|
87
|
+
} from "./processes-service";
|
|
83
88
|
export type {
|
|
84
89
|
TerminalService,
|
|
85
90
|
CreateTerminalInput,
|
|
@@ -158,6 +163,9 @@ export type {
|
|
|
158
163
|
NetworkResponse,
|
|
159
164
|
} from "./network-service";
|
|
160
165
|
|
|
166
|
+
// Static host-platform metadata: OS, CPU arch, and Silo version.
|
|
167
|
+
export type { SystemService, SystemInfo } from "./system-service";
|
|
168
|
+
|
|
161
169
|
// Context keys referenced by `when` predicates on menu items / keybindings.
|
|
162
170
|
export type { ContextKeys } from "./context-keys";
|
|
163
171
|
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import type { Disposable } from "./types";
|
|
2
|
+
|
|
3
|
+
// `ctx.processes` — workspace process observability: what's running in each
|
|
4
|
+
// terminal, its resource usage, and surgical kill without destroying the PTY
|
|
5
|
+
// session. The companion to `ctx.process` (which spawns/attaches sessions).
|
|
6
|
+
// The public contract lives here; the host implementation is in the host package.
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Resource snapshot for the foreground leader of a PTY session. Only present
|
|
10
|
+
* on a {@link ProcessInfo} when an extension has called
|
|
11
|
+
* {@link ProcessesService.enableStats}.
|
|
12
|
+
*
|
|
13
|
+
* CPU% is a delta between consecutive samples (the first sample after calling
|
|
14
|
+
* `enableStats` returns 0%; values stabilize after the second poll ~3 s later).
|
|
15
|
+
*
|
|
16
|
+
* @category Consumer Services
|
|
17
|
+
* @public
|
|
18
|
+
*/
|
|
19
|
+
export interface ProcessStats {
|
|
20
|
+
/** The process id of the foreground leader (same as {@link ProcessInfo.pgid} by convention). */
|
|
21
|
+
pid: number;
|
|
22
|
+
/** CPU percentage used since the previous sample, per-core (not system-wide total). */
|
|
23
|
+
cpuPercent: number;
|
|
24
|
+
/** Resident memory in megabytes. */
|
|
25
|
+
memoryMb: number;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Live view of what is currently running in one PTY session — the foreground
|
|
30
|
+
* process group as reported by the pty-host daemon every ~750 ms.
|
|
31
|
+
*
|
|
32
|
+
* Returned by {@link ProcessesService.getState} and
|
|
33
|
+
* {@link ProcessesService.getByTerminalId}; delivered to
|
|
34
|
+
* {@link ProcessesService.subscribe} listeners on every change.
|
|
35
|
+
*
|
|
36
|
+
* @category Consumer Services
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
export interface ProcessInfo {
|
|
40
|
+
/** The underlying PTY session id — stable across app restarts. */
|
|
41
|
+
readonly sessionId: string;
|
|
42
|
+
/**
|
|
43
|
+
* The terminal tab record id (e.g. `"term_abc"`) when this session is backed
|
|
44
|
+
* by a visible terminal tab. `undefined` only for headless sessions created
|
|
45
|
+
* directly via {@link ProcessService.spawn}. Use to correlate with
|
|
46
|
+
* `ctx.terminals` or to call `ctx.terminals.focus(terminalId)`.
|
|
47
|
+
*/
|
|
48
|
+
readonly terminalId?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Display title of the terminal tab — matches the tab label the user sees
|
|
51
|
+
* (`customName ?? title` from the terminal record). Undefined for headless
|
|
52
|
+
* sessions.
|
|
53
|
+
*/
|
|
54
|
+
readonly terminalTitle?: string;
|
|
55
|
+
/**
|
|
56
|
+
* Foreground process-group id — the group the PTY is currently routing input
|
|
57
|
+
* to. Equals the PID of the group leader (by Unix convention).
|
|
58
|
+
*/
|
|
59
|
+
readonly pgid: number;
|
|
60
|
+
/** Name of the foreground program (e.g. `"node"`, `"vim"`, `"-zsh"`). */
|
|
61
|
+
readonly leader: string;
|
|
62
|
+
/** Working directory of the foreground leader (`""` if unknown). */
|
|
63
|
+
readonly cwd: string;
|
|
64
|
+
/** `true` when the foreground group is the shell itself — i.e. idle at a prompt. */
|
|
65
|
+
readonly atPrompt: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* CPU and memory snapshot. Only present while at least one extension has
|
|
68
|
+
* called {@link ProcessesService.enableStats} and held its {@link Disposable}.
|
|
69
|
+
* Absent otherwise (no polling overhead when nobody needs it).
|
|
70
|
+
*/
|
|
71
|
+
readonly stats?: ProcessStats;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Workspace process observability — a live read-only view of what is running
|
|
76
|
+
* in each terminal of the active workspace, with optional resource stats and a
|
|
77
|
+
* surgical kill that leaves the shell intact. Exposed as
|
|
78
|
+
* {@link ExtensionContext.processes}.
|
|
79
|
+
*
|
|
80
|
+
* The foreground leader, cwd, and idle/busy state update continuously
|
|
81
|
+
* (every ~750 ms) via the pty-host daemon — no polling needed for that data.
|
|
82
|
+
* CPU and memory require an explicit opt-in via {@link ProcessesService.enableStats}
|
|
83
|
+
* because sysinfo queries have a cost proportional to the number of active
|
|
84
|
+
* sessions.
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```ts
|
|
88
|
+
* // Notify when all agents in the workspace are idle.
|
|
89
|
+
* const sub = ctx.processes.subscribe((procs) => {
|
|
90
|
+
* const allIdle = procs.every((p) => p.atPrompt);
|
|
91
|
+
* if (allIdle) ctx.ui.notify({ title: "All agents finished" });
|
|
92
|
+
* });
|
|
93
|
+
* ctx.subscriptions.push(sub);
|
|
94
|
+
*
|
|
95
|
+
* // Enable resource stats for a live process-manager panel.
|
|
96
|
+
* ctx.subscriptions.push(ctx.processes.enableStats());
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* @category Consumer Services
|
|
100
|
+
* @public
|
|
101
|
+
*/
|
|
102
|
+
export interface ProcessesService {
|
|
103
|
+
/**
|
|
104
|
+
* Current {@link ProcessInfo} for every live session in the active workspace.
|
|
105
|
+
* Only includes sessions that have received at least one foreground update
|
|
106
|
+
* from the daemon (entries with an unknown leader are omitted).
|
|
107
|
+
*/
|
|
108
|
+
getState(): ProcessInfo[];
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Look up the {@link ProcessInfo} for a specific terminal tab by its record
|
|
112
|
+
* id (e.g. `"term_abc"`). Returns `undefined` until the first foreground
|
|
113
|
+
* event has been received for that terminal's session.
|
|
114
|
+
*
|
|
115
|
+
* Convenience shortcut — avoids scanning {@link ProcessesService.getState}
|
|
116
|
+
* when the caller already has a `terminalId`.
|
|
117
|
+
*/
|
|
118
|
+
getByTerminalId(terminalId: string): ProcessInfo | undefined;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Subscribe to changes in the active workspace's process list. The listener
|
|
122
|
+
* is called whenever a leader changes, `atPrompt` flips, a terminal is
|
|
123
|
+
* added or removed, or a stats tick arrives (if {@link ProcessesService.enableStats}
|
|
124
|
+
* is active). Returns a {@link Disposable} that cancels the subscription.
|
|
125
|
+
*/
|
|
126
|
+
subscribe(listener: (state: ProcessInfo[]) => void): Disposable;
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Kill a specific foreground process group by pgid — sends `SIGTERM`, then
|
|
130
|
+
* `SIGKILL` after 3 s if the group is still alive. **Does not destroy the
|
|
131
|
+
* PTY session** — the shell remains alive and returns to its prompt.
|
|
132
|
+
*
|
|
133
|
+
* The `pgid` comes from {@link ProcessInfo.pgid}. Killing a shell's own pgid
|
|
134
|
+
* (when `atPrompt` is `true`) would close the terminal; guard against that if
|
|
135
|
+
* needed.
|
|
136
|
+
*
|
|
137
|
+
* Requires the `"process"` {@link Permission} for third-party extensions.
|
|
138
|
+
*/
|
|
139
|
+
kill(pgid: number): Promise<void>;
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Enable CPU + memory polling for all sessions in the active workspace.
|
|
143
|
+
* Returns a {@link Disposable} — **dispose it when done** to stop polling and
|
|
144
|
+
* remove `stats` from all {@link ProcessInfo} objects.
|
|
145
|
+
*
|
|
146
|
+
* Multiple callers share one poll loop (refcounted); the loop stops only when
|
|
147
|
+
* the last disposable is released. Polling interval is ~1500 ms.
|
|
148
|
+
*
|
|
149
|
+
* CPU% is `0` on the first sample; values stabilize after ~3 s.
|
|
150
|
+
*/
|
|
151
|
+
enableStats(): Disposable;
|
|
152
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
// `ctx.system` — static host-platform metadata: OS, CPU architecture, and the
|
|
2
|
+
// running Silo version. Values are baked in at build time and never change
|
|
3
|
+
// during a session, so the result of getInfo() is cached after the first call.
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A point-in-time snapshot of the host machine and application version.
|
|
7
|
+
* Returned by {@link SystemService.getInfo}. All fields are static for the
|
|
8
|
+
* lifetime of the app — cache freely.
|
|
9
|
+
*
|
|
10
|
+
* @category Consumer Services
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export interface SystemInfo {
|
|
14
|
+
/**
|
|
15
|
+
* The host operating system.
|
|
16
|
+
*
|
|
17
|
+
* - `"macos"` — macOS (Apple Silicon or Intel)
|
|
18
|
+
* - `"linux"` — Linux
|
|
19
|
+
* - `"windows"` — Windows
|
|
20
|
+
*/
|
|
21
|
+
os: "macos" | "linux" | "windows";
|
|
22
|
+
/**
|
|
23
|
+
* The CPU architecture the app binary was compiled for, e.g. `"aarch64"` or
|
|
24
|
+
* `"x86_64"`. Uses Rust's `std::env::consts::ARCH` vocabulary — common values
|
|
25
|
+
* on Silo's targets are `"aarch64"` (Apple Silicon, ARM) and `"x86_64"` (Intel
|
|
26
|
+
* / AMD64).
|
|
27
|
+
*/
|
|
28
|
+
arch: string;
|
|
29
|
+
/**
|
|
30
|
+
* The running Silo application version from the bundle manifest, e.g.
|
|
31
|
+
* `"0.15.0"`.
|
|
32
|
+
*/
|
|
33
|
+
siloVersion: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Read-only snapshot of the host machine and Silo version. Exposed as
|
|
38
|
+
* {@link ExtensionContext.system}.
|
|
39
|
+
*
|
|
40
|
+
* All values are static — they are baked into the binary at compile time and
|
|
41
|
+
* do not change during a session. `getInfo()` resolves on the first call and
|
|
42
|
+
* returns the cached result on every subsequent call.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* export const extension: Extension = {
|
|
47
|
+
* id: "my.platform-aware",
|
|
48
|
+
* async activate(ctx) {
|
|
49
|
+
* const { os, arch, siloVersion } = await ctx.system.getInfo();
|
|
50
|
+
*
|
|
51
|
+
* if (os === "macos") {
|
|
52
|
+
* // Register a macOS-specific command.
|
|
53
|
+
* ctx.subscriptions.push(
|
|
54
|
+
* ctx.registerCommand({
|
|
55
|
+
* id: "my.reveal-in-finder",
|
|
56
|
+
* title: "Reveal in Finder",
|
|
57
|
+
* run() { ... },
|
|
58
|
+
* }),
|
|
59
|
+
* );
|
|
60
|
+
* }
|
|
61
|
+
*
|
|
62
|
+
* ctx.ui.notify({ title: `Running Silo ${siloVersion} on ${os}/${arch}` });
|
|
63
|
+
* },
|
|
64
|
+
* };
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
67
|
+
* @category Consumer Services
|
|
68
|
+
* @public
|
|
69
|
+
*/
|
|
70
|
+
export interface SystemService {
|
|
71
|
+
/**
|
|
72
|
+
* Resolve the host-platform snapshot. Resolves immediately after the first
|
|
73
|
+
* call (the result is cached) — safe to `await` in `activate`.
|
|
74
|
+
*/
|
|
75
|
+
getInfo(): Promise<SystemInfo>;
|
|
76
|
+
}
|
package/src/types.ts
CHANGED
|
@@ -24,6 +24,7 @@ import type { WorkspaceService } from "./workspace-service";
|
|
|
24
24
|
import type { EditorService } from "./editor-service";
|
|
25
25
|
import type { LayoutService } from "./layout-service";
|
|
26
26
|
import type { ProcessService } from "./process-service";
|
|
27
|
+
import type { ProcessesService } from "./processes-service";
|
|
27
28
|
import type { TerminalService } from "./terminal-service";
|
|
28
29
|
import type { FileService } from "./file-service";
|
|
29
30
|
import type { SearchService } from "./search-service";
|
|
@@ -31,6 +32,7 @@ import type { ThemeService, ThemePreset } from "./theme-service";
|
|
|
31
32
|
import type { DndService } from "./dnd-service";
|
|
32
33
|
import type { UiService } from "./ui-service";
|
|
33
34
|
import type { NetworkService } from "./network-service";
|
|
35
|
+
import type { SystemService } from "./system-service";
|
|
34
36
|
import type {
|
|
35
37
|
ExtensionStorage,
|
|
36
38
|
ExtensionStorageScopes,
|
|
@@ -479,6 +481,14 @@ export interface ExtensionContext {
|
|
|
479
481
|
* re-attach a session and drive it via the returned `ProcessSession`.
|
|
480
482
|
*/
|
|
481
483
|
readonly process: ProcessService;
|
|
484
|
+
/**
|
|
485
|
+
* Workspace process observability — a live view of what is running in each
|
|
486
|
+
* terminal, with optional CPU/memory stats and a surgical kill that leaves the
|
|
487
|
+
* shell alive. Complements {@link ExtensionContext.process} (which spawns
|
|
488
|
+
* sessions); this surface is for reading and controlling what's already running.
|
|
489
|
+
* See {@link ProcessesService} for the full API.
|
|
490
|
+
*/
|
|
491
|
+
readonly processes: ProcessesService;
|
|
482
492
|
/**
|
|
483
493
|
* Consumer API for the terminal domain — open a terminal tab in a workspace
|
|
484
494
|
* (`create`) or reap a workspace's terminals (`closeWorkspace`). The terminal
|
|
@@ -529,6 +539,14 @@ export interface ExtensionContext {
|
|
|
529
539
|
* loading a URL. See {@link NetworkService} for the full API.
|
|
530
540
|
*/
|
|
531
541
|
readonly net: NetworkService;
|
|
542
|
+
/**
|
|
543
|
+
* Static host-platform metadata — the OS, CPU architecture, and running Silo
|
|
544
|
+
* version. Values are baked into the binary at build time and never change
|
|
545
|
+
* during a session. Use to make platform-specific decisions at activation time
|
|
546
|
+
* (e.g. register a macOS-only command, show an arch-specific download URL).
|
|
547
|
+
* See {@link SystemService} for the full API.
|
|
548
|
+
*/
|
|
549
|
+
readonly system: SystemService;
|
|
532
550
|
/**
|
|
533
551
|
* Resolve a handle to another extension in order to consume the API it
|
|
534
552
|
* published (the value its {@link Extension.activate} returned). This is how
|