@realtimex/sdk 2.0.22 → 2.0.24

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
@@ -82,6 +82,25 @@ export interface ClearWorkspaceDefaultAgentOptions extends RealtimeXRequestOptio
82
82
  body?: ClearWorkspaceDefaultAgentBody;
83
83
  }
84
84
 
85
+ export type ConfigurePluginParams = {
86
+ pluginId: string;
87
+ };
88
+ export type ConfigurePluginQuery = Record<string, never>;
89
+ export type ConfigurePluginHeaders = {
90
+ "x-app-id"?: string;
91
+ };
92
+ export type ConfigurePluginBody = {
93
+ config?: Record<string, unknown>;
94
+ configJson?: string;
95
+ };
96
+ export type ConfigurePluginResponse = Record<string, unknown>;
97
+ export interface ConfigurePluginOptions extends RealtimeXRequestOptions {
98
+ params?: ConfigurePluginParams;
99
+ query?: ConfigurePluginQuery;
100
+ headers?: ConfigurePluginHeaders & Record<string, string>;
101
+ body?: ConfigurePluginBody;
102
+ }
103
+
85
104
  export type CreateChannelParams = {
86
105
  workspaceSlug: string;
87
106
  };
@@ -300,6 +319,22 @@ export interface GetArtifactOptions extends RealtimeXRequestOptions {
300
319
  body?: GetArtifactBody;
301
320
  }
302
321
 
322
+ export type GetPluginParams = {
323
+ pluginId: string;
324
+ };
325
+ export type GetPluginQuery = Record<string, never>;
326
+ export type GetPluginHeaders = {
327
+ "x-app-id"?: string;
328
+ };
329
+ export type GetPluginBody = unknown;
330
+ export type GetPluginResponse = Record<string, unknown>;
331
+ export interface GetPluginOptions extends RealtimeXRequestOptions {
332
+ params?: GetPluginParams;
333
+ query?: GetPluginQuery;
334
+ headers?: GetPluginHeaders & Record<string, string>;
335
+ body?: GetPluginBody;
336
+ }
337
+
303
338
  export type GetThreadParams = {
304
339
  workspaceSlug: string;
305
340
  threadSlug: string;
@@ -333,6 +368,23 @@ export interface GetWorkspaceOptions extends RealtimeXRequestOptions {
333
368
  body?: GetWorkspaceBody;
334
369
  }
335
370
 
371
+ export type InstallPluginParams = Record<string, never>;
372
+ export type InstallPluginQuery = Record<string, never>;
373
+ export type InstallPluginHeaders = {
374
+ "x-app-id"?: string;
375
+ };
376
+ export type InstallPluginBody = {
377
+ path: string;
378
+ force?: boolean;
379
+ };
380
+ export type InstallPluginResponse = Record<string, unknown>;
381
+ export interface InstallPluginOptions extends RealtimeXRequestOptions {
382
+ params?: InstallPluginParams;
383
+ query?: InstallPluginQuery;
384
+ headers?: InstallPluginHeaders & Record<string, string>;
385
+ body?: InstallPluginBody;
386
+ }
387
+
336
388
  export type ListAgentSkillsParams = Record<string, never>;
337
389
  export type ListAgentSkillsQuery = Record<string, never>;
338
390
  export type ListAgentSkillsHeaders = {
@@ -1218,6 +1270,26 @@ export interface UpdateChannelOptions extends RealtimeXRequestOptions {
1218
1270
  body?: UpdateChannelBody;
1219
1271
  }
1220
1272
 
1273
+ export type WorkspaceShellLayoutParams = Record<string, never>;
1274
+ export type WorkspaceShellLayoutQuery = Record<string, never>;
1275
+ export type WorkspaceShellLayoutHeaders = Record<string, never>;
1276
+ export type WorkspaceShellLayoutBody = {
1277
+ cdpUrl?: string;
1278
+ mainAppUrl?: string;
1279
+ workspaceSlug?: string;
1280
+ artifactPath?: string;
1281
+ screenshotDir?: string;
1282
+ timeoutMs?: number;
1283
+ confirmDestructive?: boolean;
1284
+ };
1285
+ export type WorkspaceShellLayoutResponse = Record<string, unknown>;
1286
+ export interface WorkspaceShellLayoutOptions extends RealtimeXRequestOptions {
1287
+ params?: WorkspaceShellLayoutParams;
1288
+ query?: WorkspaceShellLayoutQuery;
1289
+ headers?: WorkspaceShellLayoutHeaders & Record<string, string>;
1290
+ body?: WorkspaceShellLayoutBody;
1291
+ }
1292
+
1221
1293
  export interface RealtimeXClientOptions {
1222
1294
  baseUrl?: string;
1223
1295
  appId?: string;
@@ -1255,6 +1327,9 @@ export declare class RealtimeXClient {
1255
1327
  /** Clear the default CLI agent from a workspace. */
1256
1328
  clearWorkspaceDefaultAgent(options?: ClearWorkspaceDefaultAgentOptions): Promise<ClearWorkspaceDefaultAgentResponse>;
1257
1329
  clearWorkspaceDefaultAgent(workspaceSlug: string, options?: Omit<ClearWorkspaceDefaultAgentOptions, 'params'>): Promise<ClearWorkspaceDefaultAgentResponse>;
1330
+ /** 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. */
1331
+ configurePlugin(options?: ConfigurePluginOptions): Promise<ConfigurePluginResponse>;
1332
+ configurePlugin(pluginId: string, body: ConfigurePluginBody, options?: Omit<ConfigurePluginOptions, 'params' | 'body'>): Promise<ConfigurePluginResponse>;
1258
1333
  /** 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. */
1259
1334
  createChannel(options?: CreateChannelOptions): Promise<CreateChannelResponse>;
1260
1335
  createChannel(workspaceSlug: string, body: CreateChannelBody, options?: Omit<CreateChannelOptions, 'params' | 'body'>): Promise<CreateChannelResponse>;
@@ -1291,12 +1366,18 @@ export declare class RealtimeXClient {
1291
1366
  /** Get one public artifact by artifact id. */
1292
1367
  getArtifact(options?: GetArtifactOptions): Promise<GetArtifactResponse>;
1293
1368
  getArtifact(artifactId: string, options?: Omit<GetArtifactOptions, 'params'>): Promise<GetArtifactResponse>;
1369
+ /** 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. */
1370
+ getPlugin(options?: GetPluginOptions): Promise<GetPluginResponse>;
1371
+ getPlugin(pluginId: string, options?: Omit<GetPluginOptions, 'params'>): Promise<GetPluginResponse>;
1294
1372
  /** Get one thread by exact workspace slug and exact thread slug. */
1295
1373
  getThread(options?: GetThreadOptions): Promise<GetThreadResponse>;
1296
1374
  getThread(params: GetThreadParams, options?: Omit<GetThreadOptions, 'params'>): Promise<GetThreadResponse>;
1297
1375
  /** Get one workspace by exact workspace slug. */
1298
1376
  getWorkspace(options?: GetWorkspaceOptions): Promise<GetWorkspaceResponse>;
1299
1377
  getWorkspace(workspaceSlug: string, options?: Omit<GetWorkspaceOptions, 'params'>): Promise<GetWorkspaceResponse>;
1378
+ /** Install a plugin from a local source directory on the same machine as the server. Pass an absolute path containing realtimex.plugin.json. Pass force=true to replace an already-installed version; its saved configuration (including secrets) is preserved. */
1379
+ installPlugin(options?: InstallPluginOptions): Promise<InstallPluginResponse>;
1380
+ installPlugin(body: InstallPluginBody, options?: Omit<InstallPluginOptions, 'body'>): Promise<InstallPluginResponse>;
1300
1381
  /** List published agent skills. Use list-workspace-agent-skills to see enabled/disabled state for one workspace. */
1301
1382
  listAgentSkills(options?: ListAgentSkillsOptions): Promise<ListAgentSkillsResponse>;
1302
1383
  /** List public artifacts for one exact workspace slug. Revoked artifacts are hidden unless includeRevoked=true is passed. */
@@ -1428,6 +1509,9 @@ export declare class RealtimeXClient {
1428
1509
  /** Update one chat channel by exact channel id. Only channel writable fields are changed. */
1429
1510
  updateChannel(options?: UpdateChannelOptions): Promise<UpdateChannelResponse>;
1430
1511
  updateChannel(channelId: string, body: UpdateChannelBody, options?: Omit<UpdateChannelOptions, 'params' | 'body'>): Promise<UpdateChannelResponse>;
1512
+ /** Verify workspace navigation, title-bar containment, Files dock behavior, and action contrast at desktop and compact viewports. */
1513
+ workspaceShellLayout(options?: WorkspaceShellLayoutOptions): Promise<WorkspaceShellLayoutResponse>;
1514
+ workspaceShellLayout(body: WorkspaceShellLayoutBody, options?: Omit<WorkspaceShellLayoutOptions, 'body'>): Promise<WorkspaceShellLayoutResponse>;
1431
1515
  }
1432
1516
 
1433
1517
  export declare function createRealtimeXClient(
package/index.js CHANGED
@@ -34,6 +34,18 @@ const operations = {
34
34
  ],
35
35
  "hasBody": false
36
36
  },
37
+ "configurePlugin": {
38
+ "method": "POST",
39
+ "path": "/configure-plugin/{pluginId}",
40
+ "pathParams": [
41
+ "pluginId"
42
+ ],
43
+ "queryParams": [],
44
+ "headerParams": [
45
+ "x-app-id"
46
+ ],
47
+ "hasBody": true
48
+ },
37
49
  "createChannel": {
38
50
  "method": "POST",
39
51
  "path": "/create-channel/{workspaceSlug}",
@@ -182,6 +194,18 @@ const operations = {
182
194
  ],
183
195
  "hasBody": false
184
196
  },
197
+ "getPlugin": {
198
+ "method": "GET",
199
+ "path": "/get-plugin/{pluginId}",
200
+ "pathParams": [
201
+ "pluginId"
202
+ ],
203
+ "queryParams": [],
204
+ "headerParams": [
205
+ "x-app-id"
206
+ ],
207
+ "hasBody": false
208
+ },
185
209
  "getThread": {
186
210
  "method": "GET",
187
211
  "path": "/get-thread/{workspaceSlug}/{threadSlug}",
@@ -207,6 +231,16 @@ const operations = {
207
231
  ],
208
232
  "hasBody": false
209
233
  },
234
+ "installPlugin": {
235
+ "method": "POST",
236
+ "path": "/install-plugin",
237
+ "pathParams": [],
238
+ "queryParams": [],
239
+ "headerParams": [
240
+ "x-app-id"
241
+ ],
242
+ "hasBody": true
243
+ },
210
244
  "listAgentSkills": {
211
245
  "method": "GET",
212
246
  "path": "/list-agent-skills",
@@ -725,6 +759,14 @@ const operations = {
725
759
  "x-app-id"
726
760
  ],
727
761
  "hasBody": true
762
+ },
763
+ "workspaceShellLayout": {
764
+ "method": "POST",
765
+ "path": "/workspace-shell-layout",
766
+ "pathParams": [],
767
+ "queryParams": [],
768
+ "headerParams": [],
769
+ "hasBody": true
728
770
  }
729
771
  };
730
772
 
@@ -943,6 +985,13 @@ class RealtimeXClient {
943
985
  );
944
986
  }
945
987
 
988
+ configurePlugin(...args) {
989
+ return this.request(
990
+ "configurePlugin",
991
+ normalizeOperationOptions(operations["configurePlugin"], args)
992
+ );
993
+ }
994
+
946
995
  createChannel(...args) {
947
996
  return this.request(
948
997
  "createChannel",
@@ -1027,6 +1076,13 @@ class RealtimeXClient {
1027
1076
  );
1028
1077
  }
1029
1078
 
1079
+ getPlugin(...args) {
1080
+ return this.request(
1081
+ "getPlugin",
1082
+ normalizeOperationOptions(operations["getPlugin"], args)
1083
+ );
1084
+ }
1085
+
1030
1086
  getThread(...args) {
1031
1087
  return this.request(
1032
1088
  "getThread",
@@ -1041,6 +1097,13 @@ class RealtimeXClient {
1041
1097
  );
1042
1098
  }
1043
1099
 
1100
+ installPlugin(...args) {
1101
+ return this.request(
1102
+ "installPlugin",
1103
+ normalizeOperationOptions(operations["installPlugin"], args)
1104
+ );
1105
+ }
1106
+
1044
1107
  listAgentSkills(...args) {
1045
1108
  return this.request(
1046
1109
  "listAgentSkills",
@@ -1362,6 +1425,13 @@ class RealtimeXClient {
1362
1425
  normalizeOperationOptions(operations["updateChannel"], args)
1363
1426
  );
1364
1427
  }
1428
+
1429
+ workspaceShellLayout(...args) {
1430
+ return this.request(
1431
+ "workspaceShellLayout",
1432
+ normalizeOperationOptions(operations["workspaceShellLayout"], args)
1433
+ );
1434
+ }
1365
1435
  }
1366
1436
 
1367
1437
  function createRealtimeXClient(options = {}) {
@@ -1374,5 +1444,5 @@ module.exports = {
1374
1444
  createClient: createRealtimeXClient,
1375
1445
  createRealtimeXClient,
1376
1446
  operations,
1377
- version: "2.0.22",
1447
+ version: "2.0.24",
1378
1448
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@realtimex/sdk",
3
- "version": "2.0.22",
3
+ "version": "2.0.24",
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.22
23
+ npm install -g @realtimex/pp-cli@2.0.24
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.22`.
29
+ The output must be `realtimex-pp-cli 2.0.24`.
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.22`, 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.24`, 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
 
@@ -50,6 +50,10 @@ If `--version` reports "command not found" after install, the npm global bin dir
50
50
 
51
51
  - `realtimex-pp-cli clear-workspace-default-agent <workspaceSlug>` — Clear the default CLI agent from a workspace.
52
52
 
53
+ **configure-plugin** — Manage configure plugin
54
+
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
+
53
57
  **create-channel** — Manage create channel
54
58
 
55
59
  - `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.
@@ -98,6 +102,10 @@ If `--version` reports "command not found" after install, the npm global bin dir
98
102
 
99
103
  - `realtimex-pp-cli get-artifact <artifactId>` — Get one public artifact by artifact id.
100
104
 
105
+ **get-plugin** — Manage get plugin
106
+
107
+ - `realtimex-pp-cli get-plugin <pluginId>` — Get one installed plugin with its config schema (keys, labels, types, defaults)
108
+
101
109
  **get-thread** — Manage get thread
102
110
 
103
111
  - `realtimex-pp-cli get-thread <workspaceSlug> <threadSlug>` — Get one thread by exact workspace slug and exact thread slug.
@@ -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-workspace <workspaceSlug>` — Get one workspace by exact workspace slug.
108
116
 
117
+ **install-plugin** — Manage install plugin
118
+
119
+ - `realtimex-pp-cli install-plugin` — Install a plugin from a local source directory on the same machine as the server.
120
+
109
121
  **list-agent-skills** — Manage list agent skills
110
122
 
111
123
  - `realtimex-pp-cli list-agent-skills` — List published agent skills. Use list-workspace-agent-skills to see enabled/disabled state for one workspace.
@@ -286,6 +298,10 @@ If `--version` reports "command not found" after install, the npm global bin dir
286
298
 
287
299
  - `realtimex-pp-cli update-channel <channelId>` — Update one chat channel by exact channel id. Only channel writable fields are changed.
288
300
 
301
+ **workspace-shell-layout** — Manage workspace shell layout
302
+
303
+ - `realtimex-pp-cli workspace-shell-layout` — Verify workspace navigation, title-bar containment, Files dock behavior
304
+
289
305
 
290
306
  ### Finding the right command
291
307
 
@@ -412,9 +428,9 @@ Verify: `claude mcp list`
412
428
  ```bash
413
429
  realtimex-pp-cli --version
414
430
  ```
415
- If the command is missing or the output is not exactly `realtimex-pp-cli 2.0.22`, reinstall the pinned version:
431
+ If the command is missing or the output is not exactly `realtimex-pp-cli 2.0.24`, reinstall the pinned version:
416
432
  ```bash
417
- npm install -g @realtimex/pp-cli@2.0.22
433
+ npm install -g @realtimex/pp-cli@2.0.24
418
434
  ```
419
435
  Then run `realtimex-pp-cli --version` again and proceed only after exact-version verification succeeds.
420
436
  2. Match the user query to the best command from the Unique Capabilities and Command Reference above.
@@ -14,7 +14,7 @@ Use `interval` for simple timing. Supported units are `m`, `h`, and `d`, for exa
14
14
  Omit `interval` and `cron` to run on every scheduler check interval.
15
15
  Use `interval: disabled` to keep a task in the file but skip it during scheduled heartbeat checks. Manual triggers can still run the task.
16
16
  Use `cron` for complex schedules, for example `0 9 * * *`.
17
- Agent tasks require `agent`, for example `@codex-terminal`.
17
+ Agent tasks require `agent`, for example `@codex`.
18
18
  Use `model` to run an agent task with a specific model, for example `gpt-5.5-medium`.
19
19
  Use `skills` to prefer skills for an agent task, for example `agent-browser, realtimex-moderator-sdk`.
20
20
  Use `executor: shell` and `command` to run a shell command instead of an agent. Shell tasks do not use `prompt`.
@@ -48,13 +48,13 @@ tasks:
48
48
  - name: default-review
49
49
  default: true
50
50
  interval: 30m
51
- agent: @codex-terminal
51
+ agent: @codex
52
52
  model: gpt-5.5-medium
53
53
  skills: agent-browser, realtimex-moderator-sdk
54
54
  prompt: Review the workspace context and respond HEARTBEAT_OK when no action is needed
55
55
  - name: weekday-morning-task
56
56
  cron: 0 9 * * 1-5
57
- agent: @codex-terminal
57
+ agent: @codex
58
58
  prompt: Describe what should run on a cron schedule
59
59
  - name: sync-metrics
60
60
  interval: 30m
@@ -62,10 +62,10 @@ tasks:
62
62
  command: bash ./scripts/sync-metrics.sh
63
63
  - name: paused-task
64
64
  interval: disabled
65
- agent: @codex-terminal
65
+ agent: @codex
66
66
  prompt: This task is skipped by scheduled heartbeat checks until re-enabled
67
67
  - name: another-task
68
- agent: @codex-terminal
68
+ agent: @codex
69
69
  prompt: Tasks without interval or cron run on every scheduler check interval
70
70
 
71
71
  ## Check for