@silo-code/sdk 0.22.0 → 0.23.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.
|
@@ -189,6 +189,35 @@ export interface TerminalService {
|
|
|
189
189
|
* ```
|
|
190
190
|
*/
|
|
191
191
|
subscribeOsc(terminalId: string, handler: (event: OscEvent) => void): Disposable;
|
|
192
|
+
/**
|
|
193
|
+
* Subscribe to the raw PTY output stream of the terminal identified by
|
|
194
|
+
* `terminalId`. The `handler` is called with every chunk of bytes the PTY
|
|
195
|
+
* produces — including ANSI escape sequences, OSC sequences, and all other
|
|
196
|
+
* control characters — exactly as they arrive, with no parsing or filtering.
|
|
197
|
+
*
|
|
198
|
+
* This fires even when the terminal's panel is not visible, so it is suitable
|
|
199
|
+
* for background monitoring (e.g. detecting output activity to confirm an
|
|
200
|
+
* agent is still running). Keep handlers lightweight: they execute
|
|
201
|
+
* synchronously on every PTY chunk, which can be multiple times per second
|
|
202
|
+
* while a program is active.
|
|
203
|
+
*
|
|
204
|
+
* The subscription is keyed to the **terminal record id** (e.g. `"term_…"`),
|
|
205
|
+
* not the underlying PTY session id, so it survives terminal recreation within
|
|
206
|
+
* the same record.
|
|
207
|
+
*
|
|
208
|
+
* Returns a {@link Disposable} that cancels the subscription.
|
|
209
|
+
*
|
|
210
|
+
* @example
|
|
211
|
+
* ```ts
|
|
212
|
+
* // Track the last time any output arrived to confirm agent activity.
|
|
213
|
+
* let lastOutputAt = 0;
|
|
214
|
+
* const sub = ctx.terminals.subscribeOutput(terminalId, () => {
|
|
215
|
+
* lastOutputAt = Date.now();
|
|
216
|
+
* });
|
|
217
|
+
* ctx.subscriptions.push(sub);
|
|
218
|
+
* ```
|
|
219
|
+
*/
|
|
220
|
+
subscribeOutput(terminalId: string, handler: (data: string) => void): Disposable;
|
|
192
221
|
/**
|
|
193
222
|
* The record id of the terminal tab that is currently active in the active
|
|
194
223
|
* workspace's center dock, or `null` when an editor tab (or nothing) is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-service.d.ts","sourceRoot":"","sources":["../src/terminal-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEnE;;;;;;;;;;;;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,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC;CACtD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,6BAA6B;IAC5C,oEAAoE;IACpE,EAAE,EAAE,MAAM,CAAC;IACX;;;;OAIG;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;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,mBAAmB,GAAG,cAAc,GAAG,SAAS,CAAC;IAChE,+EAA+E;IAC/E,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;;;;;OAKG;IACH,qBAAqB,CAAC,QAAQ,EAAE,6BAA6B,GAAG,UAAU,CAAC;IAE3E;;;OAGG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAAC;IAEnE;;;;OAIG;IACH,wBAAwB,IAAI,IAAI,CAAC;IAEjC;;;OAGG;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;;;;;;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":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEnE;;;;;;;;;;;;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,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC;CACtD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,6BAA6B;IAC5C,oEAAoE;IACpE,EAAE,EAAE,MAAM,CAAC;IACX;;;;OAIG;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;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,mBAAmB,GAAG,cAAc,GAAG,SAAS,CAAC;IAChE,+EAA+E;IAC/E,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;;;;;OAKG;IACH,qBAAqB,CAAC,QAAQ,EAAE,6BAA6B,GAAG,UAAU,CAAC;IAE3E;;;OAGG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAAC;IAEnE;;;;OAIG;IACH,wBAAwB,IAAI,IAAI,CAAC;IAEjC;;;OAGG;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"}
|
package/package.json
CHANGED
package/src/terminal-service.ts
CHANGED
|
@@ -209,6 +209,39 @@ export interface TerminalService {
|
|
|
209
209
|
handler: (event: OscEvent) => void,
|
|
210
210
|
): Disposable;
|
|
211
211
|
|
|
212
|
+
/**
|
|
213
|
+
* Subscribe to the raw PTY output stream of the terminal identified by
|
|
214
|
+
* `terminalId`. The `handler` is called with every chunk of bytes the PTY
|
|
215
|
+
* produces — including ANSI escape sequences, OSC sequences, and all other
|
|
216
|
+
* control characters — exactly as they arrive, with no parsing or filtering.
|
|
217
|
+
*
|
|
218
|
+
* This fires even when the terminal's panel is not visible, so it is suitable
|
|
219
|
+
* for background monitoring (e.g. detecting output activity to confirm an
|
|
220
|
+
* agent is still running). Keep handlers lightweight: they execute
|
|
221
|
+
* synchronously on every PTY chunk, which can be multiple times per second
|
|
222
|
+
* while a program is active.
|
|
223
|
+
*
|
|
224
|
+
* The subscription is keyed to the **terminal record id** (e.g. `"term_…"`),
|
|
225
|
+
* not the underlying PTY session id, so it survives terminal recreation within
|
|
226
|
+
* the same record.
|
|
227
|
+
*
|
|
228
|
+
* Returns a {@link Disposable} that cancels the subscription.
|
|
229
|
+
*
|
|
230
|
+
* @example
|
|
231
|
+
* ```ts
|
|
232
|
+
* // Track the last time any output arrived to confirm agent activity.
|
|
233
|
+
* let lastOutputAt = 0;
|
|
234
|
+
* const sub = ctx.terminals.subscribeOutput(terminalId, () => {
|
|
235
|
+
* lastOutputAt = Date.now();
|
|
236
|
+
* });
|
|
237
|
+
* ctx.subscriptions.push(sub);
|
|
238
|
+
* ```
|
|
239
|
+
*/
|
|
240
|
+
subscribeOutput(
|
|
241
|
+
terminalId: string,
|
|
242
|
+
handler: (data: string) => void,
|
|
243
|
+
): Disposable;
|
|
244
|
+
|
|
212
245
|
/**
|
|
213
246
|
* The record id of the terminal tab that is currently active in the active
|
|
214
247
|
* workspace's center dock, or `null` when an editor tab (or nothing) is
|