@realtimex/sdk 1.7.14 → 1.7.16

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@realtimex/sdk",
3
- "version": "1.7.14",
3
+ "version": "1.7.16",
4
4
  "description": "SDK for building Local Apps that integrate with RealtimeX",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -2,12 +2,12 @@
2
2
  name: realtimex-moderator-sdk
3
3
  description: Control and interact with the RealTimeX application through its Node.js SDK. This skill should be used when users want to manage workspaces, threads, agents, activities, LLM chat, vector store, MCP tools, ACP agent sessions, TTS/STT, or any other RealTimeX platform feature via the API. All method signatures are verified against the SDK source code.
4
4
  generated: 2026-05-08
5
- sdk_version: 1.7.14
5
+ sdk_version: 1.7.16
6
6
  ---
7
7
 
8
8
  # RealTimeX Moderator (SDK Source-Verified)
9
9
 
10
- Interact with the RealTimeX platform (`http://localhost:3001`) using `@realtimex/sdk` **v1.7.14**. Authentication is automatic when running inside RealtimeX.
10
+ Interact with the RealTimeX platform (`http://localhost:3001`) using `@realtimex/sdk` **v1.7.16**. Authentication is automatic when running inside RealtimeX.
11
11
 
12
12
  `<SKILL_DIR>` below refers to the directory containing this SKILL.md.
13
13
 
@@ -177,6 +177,7 @@ If the user says:
177
177
  - "create a browser session"
178
178
  - "navigate the managed browser tab"
179
179
  - "focus or close a RealTimeX Browser tab"
180
+ - "control the webpage in the browser"
180
181
 
181
182
  then prefer `sdk.desktopBrowser.*`, not ACP and not desktop terminal sessions.
182
183
 
@@ -194,13 +195,30 @@ Do **not** use ACP for this unless the user explicitly wants ACP browser handoff
194
195
  - listing named RealTimeX Browser sessions
195
196
  - creating a named browser session
196
197
  - getting or deleting a named browser session
197
- - creating a browser tab in a named session
198
+ - opening the initial URL for a new browser session
198
199
  - reading a browser tab snapshot
199
200
  - evaluating JavaScript in a browser tab
200
201
  - focusing a browser tab
201
202
  - navigating a browser tab
202
203
  - closing a browser tab
203
204
 
205
+ ### Current workflow rule
206
+
207
+ The current CLI browser flow has a known problem when opening another URL in a new managed tab.
208
+
209
+ Because of that:
210
+ - if the user needs a different URL, create a new browser session first
211
+ - do not rely on opening another managed tab as the primary workflow
212
+ - treat one named browser session as one main browsing target
213
+
214
+ Preferred flow:
215
+ 1. create a named browser session
216
+ 2. read the returned `remoteDebugPort`
217
+ 3. use the `agent-browser` skill against that CDP port for page interaction and automation
218
+
219
+ Use `sdk.desktopBrowser.*` to create/list/get/delete the session.
220
+ Use `agent-browser` to manipulate the webpage after the session is running.
221
+
204
222
  ### Correct SDK namespace
205
223
 
206
224
  ```js
@@ -236,6 +254,13 @@ await sdk.desktopBrowser.createTab({
236
254
  });
237
255
  ```
238
256
 
257
+ Get the CDP port from a session:
258
+
259
+ ```js
260
+ const session = await sdk.desktopBrowser.getSession("github-review");
261
+ const port = session?.session?.remoteDebugPort || session?.runtime?.remoteDebugPort;
262
+ ```
263
+
239
264
  Navigate a browser tab:
240
265
 
241
266
  ```js
@@ -255,6 +280,21 @@ await sdk.desktopBrowser.evaluateTab("cli-browser:9555:tab:3", {
255
280
  });
256
281
  ```
257
282
 
283
+ Preferred webpage-control pattern:
284
+
285
+ ```js
286
+ const created = await sdk.desktopBrowser.createSession({
287
+ sessionName: "docs-research"
288
+ });
289
+
290
+ const port =
291
+ created?.session?.remoteDebugPort ||
292
+ created?.runtime?.remoteDebugPort;
293
+
294
+ // Then hand off to the `agent-browser` skill using the CDP endpoint for that port,
295
+ // e.g. http://127.0.0.1:${port}
296
+ ```
297
+
258
298
  ### Naming rule
259
299
 
260
300
  Prefer normal named sessions like:
@@ -457,11 +497,11 @@ Example:
457
497
  ```yaml
458
498
  tasks:
459
499
  - name: audit-fetch
460
- interval: 4h
500
+ cron: "0 */4 * * *"
461
501
  prompt: Fetch origin/realtimex-dev and diff against tmp/frontend-audit-cursor.txt.
462
502
 
463
503
  - name: audit-ui-design
464
- interval: 4h
504
+ cron: "15 */4 * * *"
465
505
  prompt: Review changed frontend files for UI design violations. If none, reply HEARTBEAT_OK.
466
506
  ```
467
507
 
@@ -469,7 +509,9 @@ Rules:
469
509
  - A top-level `tasks:` list means the heartbeat is split into separate scheduled tasks, not one monolithic prompt.
470
510
  - Each `- name:` item is its own task definition.
471
511
  - `name` is the stable task id. Keep it concise and stable when editing.
472
- - `interval` is the cadence for that specific task.
512
+ - Use `cron` for calendar-based schedules such as hourly, daily, or weekday checks.
513
+ - Use `interval` for duration-style repetition such as `15m`, `1h`, or `4h`.
514
+ - If both `cron` and `interval` are present, `cron` is authoritative and `interval` is ignored.
473
515
  - `prompt` is the full instruction body for that task.
474
516
  - `HEARTBEAT_OK` means the task ran successfully but had nothing actionable to do.
475
517
  - Preserve task order unless the user explicitly wants a reordering.
@@ -479,14 +521,14 @@ When editing heartbeat files:
479
521
  - If the file already uses `tasks:`, add or edit individual task items instead of collapsing them into one large prompt.
480
522
  - If the file is a single long heartbeat prompt and the user wants separate scheduled jobs, rewrite it into a `tasks:` list with one item per independent workflow.
481
523
  - When splitting a single heartbeat into tasks, preserve the original intent, move each discrete workflow into its own `prompt`, and keep shared context text only where needed.
482
- - Keep YAML formatting simple: top-level `tasks:`, then `- name`, `interval`, `prompt`.
524
+ - Keep YAML formatting simple: top-level `tasks:`, then `- name`, `cron` or `interval`, and `prompt`.
483
525
 
484
526
  When a user asks how to convert a heartbeat into task-block form, produce or edit it into this shape:
485
527
 
486
528
  ```yaml
487
529
  tasks:
488
530
  - name: task-one
489
- interval: 4h
531
+ cron: "0 */4 * * *"
490
532
  prompt: First workflow instructions.
491
533
 
492
534
  - name: task-two
@@ -1,6 +1,6 @@
1
1
  # RealTimeX SDK — API Reference
2
2
 
3
- > Auto-generated from `@realtimex/sdk` source · v**1.7.14** · 2026-05-08
3
+ > Auto-generated from `@realtimex/sdk` source · v**1.7.16** · 2026-05-08
4
4
 
5
5
  **Package:** `@realtimex/sdk` (CJS) · **Server:** `http://localhost:3001`
6
6
  **Developer Mode auth:** `Authorization: Bearer <apiKey>`
@@ -112,11 +112,13 @@ Compatibility: `sdk.v1.desktopRuntimeSessions` remains available, but prefer the
112
112
  Use this module for the managed RealTimeX Browser control plane. This is the correct path for:
113
113
  - listing named browser sessions
114
114
  - creating a named browser session
115
- - opening a URL in a managed browser tab
115
+ - opening the initial URL for a new browser session
116
116
  - reading/evaluating/focusing/navigating/closing managed browser tabs
117
117
 
118
118
  Do not use ACP for these unless the user explicitly asks for ACP browser handoff behavior.
119
119
  Do not use desktop terminal sessions for browser tabs.
120
+ For page interaction and automation after the session is running, prefer the `agent-browser` skill against the session's CDP port.
121
+ If the user needs a different URL, create a new browser session first instead of relying on opening another managed tab.
120
122
 
121
123
  ### `V1DesktopBrowserModule`
122
124
 
@@ -145,6 +147,10 @@ await sdk.desktopBrowser.createTab({
145
147
  url: 'https://example.com'
146
148
  });
147
149
 
150
+ const session = await sdk.desktopBrowser.getSession('github-review');
151
+ const port = session?.session?.remoteDebugPort || session?.runtime?.remoteDebugPort;
152
+ // Then use the agent-browser skill against http://127.0.0.1:${port}
153
+
148
154
  await sdk.desktopBrowser.navigateTab('cli-browser:9555:tab:3', {
149
155
  url: 'https://docs.realtimex.ai',
150
156
  focus: true,
@@ -1,6 +1,6 @@
1
1
  # Known Issues — Source-Detected
2
2
 
3
- > Auto-generated by `scripts/generate-skill.mjs` · SDK **1.7.14** · 2026-05-08
3
+ > Auto-generated by `scripts/generate-skill.mjs` · SDK **1.7.16** · 2026-05-08
4
4
 
5
5
  Run `node scripts/generate-skill.mjs --force` after SDK source changes to refresh.
6
6
 
@@ -1146,6 +1146,11 @@ sdk.desktopBrowser.* — RealTimeX Browser sessions and tabs:
1146
1146
  browser-tab-close <tab-ref>
1147
1147
  Close a managed browser tab.
1148
1148
 
1149
+ Workflow note:
1150
+ Prefer one session per target URL. If you need another URL, create a new browser
1151
+ session first, then use that session's remoteDebugPort with the agent-browser skill
1152
+ over CDP for page interaction and automation.
1153
+
1149
1154
  Compatibility:
1150
1155
  The SDK also exposes this module as sdk.v1.desktopBrowser.
1151
1156