@realtimex/sdk 2.0.25 → 2.0.26

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/index.d.ts CHANGED
@@ -101,6 +101,26 @@ export interface ConfigurePluginOptions extends RealtimeXRequestOptions {
101
101
  body?: ConfigurePluginBody;
102
102
  }
103
103
 
104
+ export type CreateBrowserSessionParams = Record<string, never>;
105
+ export type CreateBrowserSessionQuery = Record<string, never>;
106
+ export type CreateBrowserSessionHeaders = {
107
+ "x-app-id"?: string;
108
+ };
109
+ export type CreateBrowserSessionBody = {
110
+ sessionName: string;
111
+ url?: string;
112
+ remoteDebugPort?: number;
113
+ guardrails?: Record<string, unknown>;
114
+ origin?: string;
115
+ };
116
+ export type CreateBrowserSessionResponse = Record<string, unknown>;
117
+ export interface CreateBrowserSessionOptions extends RealtimeXRequestOptions {
118
+ params?: CreateBrowserSessionParams;
119
+ query?: CreateBrowserSessionQuery;
120
+ headers?: CreateBrowserSessionHeaders & Record<string, string>;
121
+ body?: CreateBrowserSessionBody;
122
+ }
123
+
104
124
  export type CreateChannelParams = {
105
125
  workspaceSlug: string;
106
126
  };
@@ -186,6 +206,22 @@ export interface CreateWorkspaceAgentSkillOptions extends RealtimeXRequestOption
186
206
  body?: CreateWorkspaceAgentSkillBody;
187
207
  }
188
208
 
209
+ export type DeleteBrowserSessionParams = {
210
+ sessionName: string;
211
+ };
212
+ export type DeleteBrowserSessionQuery = Record<string, never>;
213
+ export type DeleteBrowserSessionHeaders = {
214
+ "x-app-id"?: string;
215
+ };
216
+ export type DeleteBrowserSessionBody = unknown;
217
+ export type DeleteBrowserSessionResponse = Record<string, unknown>;
218
+ export interface DeleteBrowserSessionOptions extends RealtimeXRequestOptions {
219
+ params?: DeleteBrowserSessionParams;
220
+ query?: DeleteBrowserSessionQuery;
221
+ headers?: DeleteBrowserSessionHeaders & Record<string, string>;
222
+ body?: DeleteBrowserSessionBody;
223
+ }
224
+
189
225
  export type DeleteChannelParams = {
190
226
  channelId: string;
191
227
  };
@@ -335,6 +371,25 @@ export interface GetPluginOptions extends RealtimeXRequestOptions {
335
371
  body?: GetPluginBody;
336
372
  }
337
373
 
374
+ export type GetTerminalSessionContextParams = {
375
+ sessionId: string;
376
+ };
377
+ export type GetTerminalSessionContextQuery = {
378
+ maxChars?: number;
379
+ afterSeq?: number;
380
+ };
381
+ export type GetTerminalSessionContextHeaders = {
382
+ "x-app-id"?: string;
383
+ };
384
+ export type GetTerminalSessionContextBody = unknown;
385
+ export type GetTerminalSessionContextResponse = Record<string, unknown>;
386
+ export interface GetTerminalSessionContextOptions extends RealtimeXRequestOptions {
387
+ params?: GetTerminalSessionContextParams;
388
+ query?: GetTerminalSessionContextQuery;
389
+ headers?: GetTerminalSessionContextHeaders & Record<string, string>;
390
+ body?: GetTerminalSessionContextBody;
391
+ }
392
+
338
393
  export type GetThreadParams = {
339
394
  workspaceSlug: string;
340
395
  threadSlug: string;
@@ -415,6 +470,20 @@ export interface ListArtifactsOptions extends RealtimeXRequestOptions {
415
470
  body?: ListArtifactsBody;
416
471
  }
417
472
 
473
+ export type ListBrowserSessionsParams = Record<string, never>;
474
+ export type ListBrowserSessionsQuery = Record<string, never>;
475
+ export type ListBrowserSessionsHeaders = {
476
+ "x-app-id"?: string;
477
+ };
478
+ export type ListBrowserSessionsBody = unknown;
479
+ export type ListBrowserSessionsResponse = Record<string, unknown>;
480
+ export interface ListBrowserSessionsOptions extends RealtimeXRequestOptions {
481
+ params?: ListBrowserSessionsParams;
482
+ query?: ListBrowserSessionsQuery;
483
+ headers?: ListBrowserSessionsHeaders & Record<string, string>;
484
+ body?: ListBrowserSessionsBody;
485
+ }
486
+
418
487
  export type ListChannelsParams = Record<string, never>;
419
488
  export type ListChannelsQuery = Record<string, never>;
420
489
  export type ListChannelsHeaders = {
@@ -1171,6 +1240,24 @@ export interface SetWorkspaceDefaultAgentOptions extends RealtimeXRequestOptions
1171
1240
  body?: SetWorkspaceDefaultAgentBody;
1172
1241
  }
1173
1242
 
1243
+ export type StartBrowserSessionParams = {
1244
+ sessionName: string;
1245
+ };
1246
+ export type StartBrowserSessionQuery = Record<string, never>;
1247
+ export type StartBrowserSessionHeaders = {
1248
+ "x-app-id"?: string;
1249
+ };
1250
+ export type StartBrowserSessionBody = {
1251
+ url?: string;
1252
+ };
1253
+ export type StartBrowserSessionResponse = Record<string, unknown>;
1254
+ export interface StartBrowserSessionOptions extends RealtimeXRequestOptions {
1255
+ params?: StartBrowserSessionParams;
1256
+ query?: StartBrowserSessionQuery;
1257
+ headers?: StartBrowserSessionHeaders & Record<string, string>;
1258
+ body?: StartBrowserSessionBody;
1259
+ }
1260
+
1174
1261
  export type StartChannelParams = {
1175
1262
  channelId: string;
1176
1263
  };
@@ -1187,6 +1274,24 @@ export interface StartChannelOptions extends RealtimeXRequestOptions {
1187
1274
  body?: StartChannelBody;
1188
1275
  }
1189
1276
 
1277
+ export type StopBrowserSessionParams = {
1278
+ sessionName: string;
1279
+ };
1280
+ export type StopBrowserSessionQuery = Record<string, never>;
1281
+ export type StopBrowserSessionHeaders = {
1282
+ "x-app-id"?: string;
1283
+ };
1284
+ export type StopBrowserSessionBody = {
1285
+ timeoutMs?: number;
1286
+ };
1287
+ export type StopBrowserSessionResponse = Record<string, unknown>;
1288
+ export interface StopBrowserSessionOptions extends RealtimeXRequestOptions {
1289
+ params?: StopBrowserSessionParams;
1290
+ query?: StopBrowserSessionQuery;
1291
+ headers?: StopBrowserSessionHeaders & Record<string, string>;
1292
+ body?: StopBrowserSessionBody;
1293
+ }
1294
+
1190
1295
  export type StopChannelParams = {
1191
1296
  channelId: string;
1192
1297
  };
@@ -1353,6 +1458,9 @@ export declare class RealtimeXClient {
1353
1458
  /** Set non-secret configuration values for one installed plugin. Use a plugin id, name, or displayName from list-plugins. Password-type fields are refused and reported back for manual setup in the desktop settings UI. */
1354
1459
  configurePlugin(options?: ConfigurePluginOptions): Promise<ConfigurePluginResponse>;
1355
1460
  configurePlugin(pluginId: string, body: ConfigurePluginBody, options?: Omit<ConfigurePluginOptions, 'params' | 'body'>): Promise<ConfigurePluginResponse>;
1461
+ /** Create an isolated named RealTimeX Browser session. When url is supplied, start the session and open that URL. */
1462
+ createBrowserSession(options?: CreateBrowserSessionOptions): Promise<CreateBrowserSessionResponse>;
1463
+ createBrowserSession(body: CreateBrowserSessionBody, options?: Omit<CreateBrowserSessionOptions, 'body'>): Promise<CreateBrowserSessionResponse>;
1356
1464
  /** Create a chat channel in one exact workspace. Defaults to Telegram when plugin_type, channelType, and type are omitted. Use flat botToken and thread_id fields instead of nested config/settings. */
1357
1465
  createChannel(options?: CreateChannelOptions): Promise<CreateChannelResponse>;
1358
1466
  createChannel(workspaceSlug: string, body: CreateChannelBody, options?: Omit<CreateChannelOptions, 'params' | 'body'>): Promise<CreateChannelResponse>;
@@ -1365,6 +1473,9 @@ export declare class RealtimeXClient {
1365
1473
  /** Create a managed agent skill owned by one workspace. Terminal agents should use this instead of writing final skill content into runtime skill directories. */
1366
1474
  createWorkspaceAgentSkill(options?: CreateWorkspaceAgentSkillOptions): Promise<CreateWorkspaceAgentSkillResponse>;
1367
1475
  createWorkspaceAgentSkill(workspaceSlug: string, body: CreateWorkspaceAgentSkillBody, options?: Omit<CreateWorkspaceAgentSkillOptions, 'params' | 'body'>): Promise<CreateWorkspaceAgentSkillResponse>;
1476
+ /** Delete a stopped named RealTimeX Browser session and its isolated profile. */
1477
+ deleteBrowserSession(options?: DeleteBrowserSessionOptions): Promise<DeleteBrowserSessionResponse>;
1478
+ deleteBrowserSession(sessionName: string, options?: Omit<DeleteBrowserSessionOptions, 'params'>): Promise<DeleteBrowserSessionResponse>;
1368
1479
  /** Delete one chat channel by exact channel id. */
1369
1480
  deleteChannel(options?: DeleteChannelOptions): Promise<DeleteChannelResponse>;
1370
1481
  deleteChannel(channelId: string, options?: Omit<DeleteChannelOptions, 'params'>): Promise<DeleteChannelResponse>;
@@ -1392,6 +1503,9 @@ export declare class RealtimeXClient {
1392
1503
  /** Get one installed plugin with its config schema (keys, labels, types, defaults) and current non-secret configuration values. Secret (password-type) values are never returned; secretConfigState reports whether each one is set. Use a plugin id, name, or displayName from list-plugins. */
1393
1504
  getPlugin(options?: GetPluginOptions): Promise<GetPluginResponse>;
1394
1505
  getPlugin(pluginId: string, options?: Omit<GetPluginOptions, 'params'>): Promise<GetPluginResponse>;
1506
+ /** Read a bounded, sanitized tail of the PTY output for one exact live terminal runtime session. */
1507
+ getTerminalSessionContext(options?: GetTerminalSessionContextOptions): Promise<GetTerminalSessionContextResponse>;
1508
+ getTerminalSessionContext(sessionId: string, options?: Omit<GetTerminalSessionContextOptions, 'params'>): Promise<GetTerminalSessionContextResponse>;
1395
1509
  /** Get one thread by exact workspace slug and exact thread slug. */
1396
1510
  getThread(options?: GetThreadOptions): Promise<GetThreadResponse>;
1397
1511
  getThread(params: GetThreadParams, options?: Omit<GetThreadOptions, 'params'>): Promise<GetThreadResponse>;
@@ -1406,6 +1520,8 @@ export declare class RealtimeXClient {
1406
1520
  /** List public artifacts for one exact workspace slug. Revoked artifacts are hidden unless includeRevoked=true is passed. */
1407
1521
  listArtifacts(options?: ListArtifactsOptions): Promise<ListArtifactsResponse>;
1408
1522
  listArtifacts(workspaceSlug: string, options?: Omit<ListArtifactsOptions, 'params'>): Promise<ListArtifactsResponse>;
1523
+ /** List registered RealTimeX Browser sessions and their live runtime state. */
1524
+ listBrowserSessions(options?: ListBrowserSessionsOptions): Promise<ListBrowserSessionsResponse>;
1409
1525
  /** List configured chat channels. Use returned channel ids with update-channel. */
1410
1526
  listChannels(options?: ListChannelsOptions): Promise<ListChannelsResponse>;
1411
1527
  /** List models for one provider id. Use an exact model id from this response when configuring workspace or thread LLM settings. */
@@ -1515,9 +1631,15 @@ export declare class RealtimeXClient {
1515
1631
  /** Set the default CLI agent for a workspace. Use prepare first to find a valid agent canonical/providerId and optional modelId. */
1516
1632
  setWorkspaceDefaultAgent(options?: SetWorkspaceDefaultAgentOptions): Promise<SetWorkspaceDefaultAgentResponse>;
1517
1633
  setWorkspaceDefaultAgent(workspaceSlug: string, body: SetWorkspaceDefaultAgentBody, options?: Omit<SetWorkspaceDefaultAgentOptions, 'params' | 'body'>): Promise<SetWorkspaceDefaultAgentResponse>;
1634
+ /** Start an existing named RealTimeX Browser session, optionally opening an absolute HTTP or HTTPS URL. */
1635
+ startBrowserSession(options?: StartBrowserSessionOptions): Promise<StartBrowserSessionResponse>;
1636
+ startBrowserSession(sessionName: string, body: StartBrowserSessionBody, options?: Omit<StartBrowserSessionOptions, 'params' | 'body'>): Promise<StartBrowserSessionResponse>;
1518
1637
  /** Start one chat channel by exact channel id. */
1519
1638
  startChannel(options?: StartChannelOptions): Promise<StartChannelResponse>;
1520
1639
  startChannel(channelId: string, options?: Omit<StartChannelOptions, 'params'>): Promise<StartChannelResponse>;
1640
+ /** Gracefully stop an existing named RealTimeX Browser session. */
1641
+ stopBrowserSession(options?: StopBrowserSessionOptions): Promise<StopBrowserSessionResponse>;
1642
+ stopBrowserSession(sessionName: string, body: StopBrowserSessionBody, options?: Omit<StopBrowserSessionOptions, 'params' | 'body'>): Promise<StopBrowserSessionResponse>;
1521
1643
  /** Stop one chat channel by exact channel id. */
1522
1644
  stopChannel(options?: StopChannelOptions): Promise<StopChannelResponse>;
1523
1645
  stopChannel(channelId: string, options?: Omit<StopChannelOptions, 'params'>): Promise<StopChannelResponse>;
package/index.js CHANGED
@@ -46,6 +46,16 @@ const operations = {
46
46
  ],
47
47
  "hasBody": true
48
48
  },
49
+ "createBrowserSession": {
50
+ "method": "POST",
51
+ "path": "/create-browser-session",
52
+ "pathParams": [],
53
+ "queryParams": [],
54
+ "headerParams": [
55
+ "x-app-id"
56
+ ],
57
+ "hasBody": true
58
+ },
49
59
  "createChannel": {
50
60
  "method": "POST",
51
61
  "path": "/create-channel/{workspaceSlug}",
@@ -93,6 +103,18 @@ const operations = {
93
103
  ],
94
104
  "hasBody": true
95
105
  },
106
+ "deleteBrowserSession": {
107
+ "method": "DELETE",
108
+ "path": "/delete-browser-session/{sessionName}",
109
+ "pathParams": [
110
+ "sessionName"
111
+ ],
112
+ "queryParams": [],
113
+ "headerParams": [
114
+ "x-app-id"
115
+ ],
116
+ "hasBody": false
117
+ },
96
118
  "deleteChannel": {
97
119
  "method": "DELETE",
98
120
  "path": "/delete-channel/{channelId}",
@@ -206,6 +228,21 @@ const operations = {
206
228
  ],
207
229
  "hasBody": false
208
230
  },
231
+ "getTerminalSessionContext": {
232
+ "method": "GET",
233
+ "path": "/get-terminal-session-context/{sessionId}",
234
+ "pathParams": [
235
+ "sessionId"
236
+ ],
237
+ "queryParams": [
238
+ "maxChars",
239
+ "afterSeq"
240
+ ],
241
+ "headerParams": [
242
+ "x-app-id"
243
+ ],
244
+ "hasBody": false
245
+ },
209
246
  "getThread": {
210
247
  "method": "GET",
211
248
  "path": "/get-thread/{workspaceSlug}/{threadSlug}",
@@ -263,6 +300,16 @@ const operations = {
263
300
  ],
264
301
  "hasBody": false
265
302
  },
303
+ "listBrowserSessions": {
304
+ "method": "GET",
305
+ "path": "/list-browser-sessions",
306
+ "pathParams": [],
307
+ "queryParams": [],
308
+ "headerParams": [
309
+ "x-app-id"
310
+ ],
311
+ "hasBody": false
312
+ },
266
313
  "listChannels": {
267
314
  "method": "GET",
268
315
  "path": "/list-channels",
@@ -690,6 +737,18 @@ const operations = {
690
737
  ],
691
738
  "hasBody": true
692
739
  },
740
+ "startBrowserSession": {
741
+ "method": "POST",
742
+ "path": "/start-browser-session/{sessionName}",
743
+ "pathParams": [
744
+ "sessionName"
745
+ ],
746
+ "queryParams": [],
747
+ "headerParams": [
748
+ "x-app-id"
749
+ ],
750
+ "hasBody": true
751
+ },
693
752
  "startChannel": {
694
753
  "method": "POST",
695
754
  "path": "/start-channel/{channelId}",
@@ -702,6 +761,18 @@ const operations = {
702
761
  ],
703
762
  "hasBody": false
704
763
  },
764
+ "stopBrowserSession": {
765
+ "method": "POST",
766
+ "path": "/stop-browser-session/{sessionName}",
767
+ "pathParams": [
768
+ "sessionName"
769
+ ],
770
+ "queryParams": [],
771
+ "headerParams": [
772
+ "x-app-id"
773
+ ],
774
+ "hasBody": true
775
+ },
705
776
  "stopChannel": {
706
777
  "method": "POST",
707
778
  "path": "/stop-channel/{channelId}",
@@ -1004,6 +1075,13 @@ class RealtimeXClient {
1004
1075
  );
1005
1076
  }
1006
1077
 
1078
+ createBrowserSession(...args) {
1079
+ return this.request(
1080
+ "createBrowserSession",
1081
+ normalizeOperationOptions(operations["createBrowserSession"], args)
1082
+ );
1083
+ }
1084
+
1007
1085
  createChannel(...args) {
1008
1086
  return this.request(
1009
1087
  "createChannel",
@@ -1032,6 +1110,13 @@ class RealtimeXClient {
1032
1110
  );
1033
1111
  }
1034
1112
 
1113
+ deleteBrowserSession(...args) {
1114
+ return this.request(
1115
+ "deleteBrowserSession",
1116
+ normalizeOperationOptions(operations["deleteBrowserSession"], args)
1117
+ );
1118
+ }
1119
+
1035
1120
  deleteChannel(...args) {
1036
1121
  return this.request(
1037
1122
  "deleteChannel",
@@ -1095,6 +1180,13 @@ class RealtimeXClient {
1095
1180
  );
1096
1181
  }
1097
1182
 
1183
+ getTerminalSessionContext(...args) {
1184
+ return this.request(
1185
+ "getTerminalSessionContext",
1186
+ normalizeOperationOptions(operations["getTerminalSessionContext"], args)
1187
+ );
1188
+ }
1189
+
1098
1190
  getThread(...args) {
1099
1191
  return this.request(
1100
1192
  "getThread",
@@ -1130,6 +1222,13 @@ class RealtimeXClient {
1130
1222
  );
1131
1223
  }
1132
1224
 
1225
+ listBrowserSessions(...args) {
1226
+ return this.request(
1227
+ "listBrowserSessions",
1228
+ normalizeOperationOptions(operations["listBrowserSessions"], args)
1229
+ );
1230
+ }
1231
+
1133
1232
  listChannels(...args) {
1134
1233
  return this.request(
1135
1234
  "listChannels",
@@ -1396,6 +1495,13 @@ class RealtimeXClient {
1396
1495
  );
1397
1496
  }
1398
1497
 
1498
+ startBrowserSession(...args) {
1499
+ return this.request(
1500
+ "startBrowserSession",
1501
+ normalizeOperationOptions(operations["startBrowserSession"], args)
1502
+ );
1503
+ }
1504
+
1399
1505
  startChannel(...args) {
1400
1506
  return this.request(
1401
1507
  "startChannel",
@@ -1403,6 +1509,13 @@ class RealtimeXClient {
1403
1509
  );
1404
1510
  }
1405
1511
 
1512
+ stopBrowserSession(...args) {
1513
+ return this.request(
1514
+ "stopBrowserSession",
1515
+ normalizeOperationOptions(operations["stopBrowserSession"], args)
1516
+ );
1517
+ }
1518
+
1406
1519
  stopChannel(...args) {
1407
1520
  return this.request(
1408
1521
  "stopChannel",
@@ -1463,5 +1576,5 @@ module.exports = {
1463
1576
  createClient: createRealtimeXClient,
1464
1577
  createRealtimeXClient,
1465
1578
  operations,
1466
- version: "2.0.25",
1579
+ version: "2.0.26",
1467
1580
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@realtimex/sdk",
3
- "version": "2.0.25",
3
+ "version": "2.0.26",
4
4
  "description": "RealtimeX runtime SDK package and moderator agent skill assets.",
5
5
  "private": false,
6
6
  "main": "./index.js",
@@ -20,15 +20,15 @@ This skill drives the `realtimex-pp-cli` binary. Verify the CLI is installed and
20
20
 
21
21
  1. Install or reinstall the pinned version via npm:
22
22
  ```bash
23
- npm install -g @realtimex/pp-cli@2.0.25
23
+ npm install -g @realtimex/pp-cli@2.0.26
24
24
  ```
25
25
  2. Verify the exact version:
26
26
  ```bash
27
27
  realtimex-pp-cli --version
28
28
  ```
29
- The output must be `realtimex-pp-cli 2.0.25`.
29
+ The output must be `realtimex-pp-cli 2.0.26`.
30
30
 
31
- If `--version` reports "command not found" after install, the npm global bin directory is not on `$PATH`. If it reports any version other than `2.0.25`, reinstall with the pinned npm command above. Do not proceed with skill commands until exact-version verification succeeds.
31
+ If `--version` reports "command not found" after install, the npm global bin directory is not on `$PATH`. If it reports any version other than `2.0.26`, reinstall with the pinned npm command above. Do not proceed with skill commands until exact-version verification succeeds.
32
32
 
33
33
  * Always run first:
34
34
 
@@ -54,6 +54,10 @@ If `--version` reports "command not found" after install, the npm global bin dir
54
54
 
55
55
  - `realtimex-pp-cli configure-plugin <pluginId>` — Set non-secret configuration values for one installed plugin. Use a plugin id, name, or displayName from list-plugins.
56
56
 
57
+ **create-browser-session** — Manage create browser session
58
+
59
+ - `realtimex-pp-cli create-browser-session` — Create an isolated named RealTimeX Browser session. When url is supplied, start the session and open that URL.
60
+
57
61
  **create-channel** — Manage create channel
58
62
 
59
63
  - `realtimex-pp-cli create-channel <workspaceSlug>` — Create a chat channel in one exact workspace. Defaults to Telegram when plugin_type, channelType, and type are omitted.
@@ -70,6 +74,10 @@ If `--version` reports "command not found" after install, the npm global bin dir
70
74
 
71
75
  - `realtimex-pp-cli create-workspace-agent-skill <workspaceSlug>` — Create a managed agent skill owned by one workspace.
72
76
 
77
+ **delete-browser-session** — Manage delete browser session
78
+
79
+ - `realtimex-pp-cli delete-browser-session <sessionName>` — Delete a stopped named RealTimeX Browser session and its isolated profile.
80
+
73
81
  **delete-channel** — Manage delete channel
74
82
 
75
83
  - `realtimex-pp-cli delete-channel <channelId>` — Delete one chat channel by exact channel id.
@@ -106,6 +114,10 @@ If `--version` reports "command not found" after install, the npm global bin dir
106
114
 
107
115
  - `realtimex-pp-cli get-plugin <pluginId>` — Get one installed plugin with its config schema (keys, labels, types, defaults)
108
116
 
117
+ **get-terminal-session-context** — Manage get terminal session context
118
+
119
+ - `realtimex-pp-cli get-terminal-session-context <sessionId>` — Read a bounded, sanitized tail of the PTY output for one exact live terminal runtime session.
120
+
109
121
  **get-thread** — Manage get thread
110
122
 
111
123
  - `realtimex-pp-cli get-thread <workspaceSlug> <threadSlug>` — Get one thread by exact workspace slug and exact thread slug.
@@ -126,6 +138,10 @@ If `--version` reports "command not found" after install, the npm global bin dir
126
138
 
127
139
  - `realtimex-pp-cli list-artifacts <workspaceSlug>` — List public artifacts for one exact workspace slug. Revoked artifacts are hidden unless includeRevoked=true is passed.
128
140
 
141
+ **list-browser-sessions** — Manage list browser sessions
142
+
143
+ - `realtimex-pp-cli list-browser-sessions` — List registered RealTimeX Browser sessions and their live runtime state.
144
+
129
145
  **list-channels** — Manage list channels
130
146
 
131
147
  - `realtimex-pp-cli list-channels` — List configured chat channels. Use returned channel ids with update-channel.
@@ -274,10 +290,18 @@ If `--version` reports "command not found" after install, the npm global bin dir
274
290
 
275
291
  - `realtimex-pp-cli setup-working-dir` — Add or edit an agent working directory from the desktop settings UI.
276
292
 
293
+ **start-browser-session** — Manage start browser session
294
+
295
+ - `realtimex-pp-cli start-browser-session <sessionName>` — Start an existing named RealTimeX Browser session, optionally opening an absolute HTTP or HTTPS URL.
296
+
277
297
  **start-channel** — Manage start channel
278
298
 
279
299
  - `realtimex-pp-cli start-channel <channelId>` — Start one chat channel by exact channel id.
280
300
 
301
+ **stop-browser-session** — Manage stop browser session
302
+
303
+ - `realtimex-pp-cli stop-browser-session <sessionName>` — Gracefully stop an existing named RealTimeX Browser session.
304
+
281
305
  **stop-channel** — Manage stop channel
282
306
 
283
307
  - `realtimex-pp-cli stop-channel <channelId>` — Stop one chat channel by exact channel id.
@@ -432,9 +456,9 @@ Verify: `claude mcp list`
432
456
  ```bash
433
457
  realtimex-pp-cli --version
434
458
  ```
435
- If the command is missing or the output is not exactly `realtimex-pp-cli 2.0.25`, reinstall the pinned version:
459
+ If the command is missing or the output is not exactly `realtimex-pp-cli 2.0.26`, reinstall the pinned version:
436
460
  ```bash
437
- npm install -g @realtimex/pp-cli@2.0.25
461
+ npm install -g @realtimex/pp-cli@2.0.26
438
462
  ```
439
463
  Then run `realtimex-pp-cli --version` again and proceed only after exact-version verification succeeds.
440
464
  2. Match the user query to the best command from the Unique Capabilities and Command Reference above.