@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
|
@@ -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.
|
|
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.
|
|
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
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
- `
|
|
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
|
-
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|