@realtimex/sdk 1.7.17 → 1.7.21

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.
Files changed (61) hide show
  1. package/dist/{chunk-PEWBG7US.mjs → chunk-Z5GAUBIM.mjs} +170 -0
  2. package/dist/{errors-DsxB91BA.d.mts → errors-NufsyIZ-.d.mts} +122 -1
  3. package/dist/{errors-DsxB91BA.d.ts → errors-NufsyIZ-.d.ts} +122 -1
  4. package/dist/index.d.mts +2 -2
  5. package/dist/index.d.ts +2 -2
  6. package/dist/index.js +169 -0
  7. package/dist/index.mjs +1 -1
  8. package/dist/v1/index.d.mts +2 -2
  9. package/dist/v1/index.d.ts +2 -2
  10. package/dist/v1/index.js +171 -0
  11. package/dist/v1/index.mjs +3 -1
  12. package/package.json +1 -1
  13. package/skills/realtimex-moderator-sdk/SKILL.md +49 -493
  14. package/skills/realtimex-moderator-sdk/references/activities.md +14 -0
  15. package/skills/realtimex-moderator-sdk/references/agents.md +13 -0
  16. package/skills/realtimex-moderator-sdk/references/api-reference/acpagent.md +105 -0
  17. package/skills/realtimex-moderator-sdk/references/api-reference/activities.md +24 -0
  18. package/skills/realtimex-moderator-sdk/references/api-reference/agent.md +27 -0
  19. package/skills/realtimex-moderator-sdk/references/api-reference/api.md +17 -0
  20. package/skills/realtimex-moderator-sdk/references/api-reference/auth.md +36 -0
  21. package/skills/realtimex-moderator-sdk/references/api-reference/contract.md +27 -0
  22. package/skills/realtimex-moderator-sdk/references/api-reference/core.md +40 -0
  23. package/skills/realtimex-moderator-sdk/references/api-reference/database.md +24 -0
  24. package/skills/realtimex-moderator-sdk/references/api-reference/index.md +43 -0
  25. package/skills/realtimex-moderator-sdk/references/api-reference/llm.md +176 -0
  26. package/skills/realtimex-moderator-sdk/references/api-reference/mcp.md +50 -0
  27. package/skills/realtimex-moderator-sdk/references/api-reference/port.md +21 -0
  28. package/skills/realtimex-moderator-sdk/references/api-reference/stt.md +15 -0
  29. package/skills/realtimex-moderator-sdk/references/api-reference/task.md +62 -0
  30. package/skills/realtimex-moderator-sdk/references/api-reference/tts.md +18 -0
  31. package/skills/realtimex-moderator-sdk/references/api-reference/v1-acpauth.md +21 -0
  32. package/skills/realtimex-moderator-sdk/references/api-reference/v1-acpcommands.md +15 -0
  33. package/skills/realtimex-moderator-sdk/references/api-reference/v1-admin.md +48 -0
  34. package/skills/realtimex-moderator-sdk/references/api-reference/v1-auth.md +18 -0
  35. package/skills/realtimex-moderator-sdk/references/api-reference/v1-channels.md +78 -0
  36. package/skills/realtimex-moderator-sdk/references/api-reference/v1-credentials.md +27 -0
  37. package/skills/realtimex-moderator-sdk/references/api-reference/v1-customthemes.md +24 -0
  38. package/skills/realtimex-moderator-sdk/references/api-reference/v1-desktopbrowser.md +39 -0
  39. package/skills/realtimex-moderator-sdk/references/api-reference/v1-desktopembed.md +24 -0
  40. package/skills/realtimex-moderator-sdk/references/api-reference/v1-desktopruntimesessions.md +33 -0
  41. package/skills/realtimex-moderator-sdk/references/api-reference/v1-document.md +39 -0
  42. package/skills/realtimex-moderator-sdk/references/api-reference/v1-embed.md +27 -0
  43. package/skills/realtimex-moderator-sdk/references/api-reference/v1-openai.md +21 -0
  44. package/skills/realtimex-moderator-sdk/references/api-reference/v1-sttapi.md +12 -0
  45. package/skills/realtimex-moderator-sdk/references/api-reference/v1-system.md +36 -0
  46. package/skills/realtimex-moderator-sdk/references/api-reference/v1-thread.md +26 -0
  47. package/skills/realtimex-moderator-sdk/references/api-reference/v1-users.md +15 -0
  48. package/skills/realtimex-moderator-sdk/references/api-reference/v1-workspace.md +39 -0
  49. package/skills/realtimex-moderator-sdk/references/api-reference/webhook.md +13 -0
  50. package/skills/realtimex-moderator-sdk/references/api-reference.md +78 -1
  51. package/skills/realtimex-moderator-sdk/references/app-concepts.md +148 -0
  52. package/skills/realtimex-moderator-sdk/references/browser.md +27 -0
  53. package/skills/realtimex-moderator-sdk/references/channels.md +189 -0
  54. package/skills/realtimex-moderator-sdk/references/known-issues.md +1 -1
  55. package/skills/realtimex-moderator-sdk/references/llm.md +13 -0
  56. package/skills/realtimex-moderator-sdk/references/mcp.md +13 -0
  57. package/skills/realtimex-moderator-sdk/references/permissions.md +30 -0
  58. package/skills/realtimex-moderator-sdk/references/quickstart.md +16 -0
  59. package/skills/realtimex-moderator-sdk/references/terminal-sessions.md +34 -0
  60. package/skills/realtimex-moderator-sdk/references/workspaces.md +20 -0
  61. package/skills/realtimex-moderator-sdk/scripts/rtx.js +121 -0
@@ -204,6 +204,7 @@ A platform user account.
204
204
  | `dailyMessageLimit` | Int? | — | — |
205
205
  | `bio` | String? | | — |
206
206
  | `workspace_chats` | workspace_chats[] | — | — |
207
+ | `terminal_ui_events` | terminal_ui_events[] | — | — |
207
208
  | `workspace_users` | workspace_users[] | — | — |
208
209
  | `created_workspaces` | workspaces[] | — | — |
209
210
  | `embed_configs` | embed_configs[] | — | — |
@@ -247,6 +248,7 @@ A chat/knowledge space with its own documents, LLM config, and agent settings.
247
248
  | `similarityThreshold` | Float? | 0.25 | — |
248
249
  | `chatProvider` | String? | — | — |
249
250
  | `chatModel` | String? | — | — |
251
+ | `chatTuningConfig` | String? | — | — |
250
252
  | `topN` | Int? | 4 | — |
251
253
  | `chatMode` | String? | chat | — |
252
254
  | `pfpFilename` | String? | — | — |
@@ -288,6 +290,11 @@ A chat/knowledge space with its own documents, LLM config, and agent settings.
288
290
  | `knowledgeConfig` | String? | — | — |
289
291
  | `type` | String? | default | — |
290
292
  | `workspace_tasks` | workspace_tasks[] | — | — |
293
+ | `goal_sources` | goal_sources[] | — | — |
294
+ | `goal_runs` | goal_runs[] | — | — |
295
+ | `goal_events` | goal_events[] | — | — |
296
+ | `goal_artifacts` | goal_artifacts[] | — | — |
297
+ | `terminal_ui_events` | terminal_ui_events[] | — | — |
291
298
  | `channel_plugins` | channel_plugins[] | — | — |
292
299
  | `agentic_cli_workspace_overrides` | agentic_cli_workspace_overrides[] | — | — |
293
300
 
@@ -356,6 +363,7 @@ A conversation thread within a workspace. Can represent a meeting or a standalon
356
363
  | `user_id` | Int? | — | — |
357
364
  | `chatProvider` | String? | — | — |
358
365
  | `chatModel` | String? | — | — |
366
+ | `chatTuningConfig` | String? | — | — |
359
367
  | `meeting_source` | String? | manual | — |
360
368
  | `meeting_status` | String? | draft | — |
361
369
  | `scheduled_start_at` | DateTime? | — | — |
@@ -373,6 +381,10 @@ A conversation thread within a workspace. Can represent a meeting or a standalon
373
381
  | `meeting_outputs` | meeting_outputs[] | — | — |
374
382
  | `workspace_parsed_files` | workspace_parsed_files[] | — | — |
375
383
  | `workspace_tasks` | workspace_tasks[] | — | — |
384
+ | `goal_sources` | goal_sources[] | — | — |
385
+ | `goal_runs` | goal_runs[] | — | — |
386
+ | `goal_events` | goal_events[] | — | — |
387
+ | `goal_artifacts` | goal_artifacts[] | — | — |
376
388
 
377
389
  ### workspace_chats (`workspace_chats`)
378
390
  | Field | Type | Default | Notes |
@@ -388,6 +400,24 @@ A conversation thread within a workspace. Can represent a meeting or a standalon
388
400
  | `feedbackScore` | Boolean? | — | — |
389
401
  | `users` | users? | — | — |
390
402
 
403
+ ### terminal_ui_events (`terminal_ui_events`)
404
+ | Field | Type | Default | Notes |
405
+ |---|---|---|---|
406
+ | `workspaceId` | Int | — | — |
407
+ | `scope_key` | String | — | — |
408
+ | `event_key` | String | — | — |
409
+ | `type` | String | — | — |
410
+ | `domain` | String? | — | — |
411
+ | `content` | String | — | — |
412
+ | `assistant_agent` | String? | — | — |
413
+ | `source_chat_id` | Int? | — | — |
414
+ | `user_id` | Int? | — | — |
415
+ | `thread_id` | Int? | — | — |
416
+ | `api_session_id` | String? | — | — |
417
+ | `occurredAt` | DateTime? | — | — |
418
+ | `workspace` | workspaces | — | — |
419
+ | `user` | users? | — | — |
420
+
391
421
  ### AgentInvocation (`workspace_agent_invocations`)
392
422
  A single agent task invocation with lifecycle state tracking.
393
423
 
@@ -830,6 +860,124 @@ A discrete task created within a workspace.
830
860
  | `user` | users? | — | — |
831
861
  | `thread` | workspace_threads? | — | — |
832
862
 
863
+ ### goals (`goals`)
864
+ | Field | Type | Default | Notes |
865
+ |---|---|---|---|
866
+ | `uuid` | String | uuid( | — |
867
+ | `goal_key` | String | — | — |
868
+ | `title` | String | — | — |
869
+ | `description` | String? | — | — |
870
+ | `status` | String | idle | idle, running, due, acted, blocked, disabled, achieved |
871
+ | `priority` | String? | normal | — |
872
+ | `last_run_at` | DateTime? | — | — |
873
+ | `last_achieved_at` | DateTime? | — | — |
874
+ | `metadata` | String? | — | — |
875
+ | `created_at` | DateTime | now( | — |
876
+ | `updated_at` | DateTime | — | — |
877
+ | `sources` | goal_sources[] | — | — |
878
+ | `runs` | goal_runs[] | — | — |
879
+ | `events` | goal_events[] | — | — |
880
+ | `artifacts` | goal_artifacts[] | — | — |
881
+
882
+ ### goal_sources (`goal_sources`)
883
+ | Field | Type | Default | Notes |
884
+ |---|---|---|---|
885
+ | `uuid` | String | uuid( | — |
886
+ | `goal_id` | Int | — | — |
887
+ | `source_type` | String | — | — |
888
+ | `source_ref` | String | — | — |
889
+ | `workspace_id` | Int? | — | — |
890
+ | `thread_id` | Int? | — | — |
891
+ | `metadata` | String? | — | — |
892
+ | `created_at` | DateTime | now( | — |
893
+ | `updated_at` | DateTime | — | — |
894
+ | `goal` | goals | — | — |
895
+ | `workspace` | workspaces? | — | — |
896
+ | `thread` | workspace_threads? | — | — |
897
+ | `runs` | goal_runs[] | — | — |
898
+ | `events` | goal_events[] | — | — |
899
+
900
+ ### goal_runs (`goal_runs`)
901
+ | Field | Type | Default | Notes |
902
+ |---|---|---|---|
903
+ | `uuid` | String | uuid( | — |
904
+ | `goal_id` | Int | — | — |
905
+ | `goal_source_id` | Int? | — | — |
906
+ | `run_role` | String | monitoring | — |
907
+ | `workspace_id` | Int? | — | — |
908
+ | `thread_id` | Int? | — | — |
909
+ | `thread_slug` | String? | — | — |
910
+ | `task_session_key` | String? | — | — |
911
+ | `status` | String | running | running, acted, no_action, error, blocked, achieved |
912
+ | `trigger` | String? | — | — |
913
+ | `started_at` | DateTime | — | — |
914
+ | `completed_at` | DateTime? | — | — |
915
+ | `message_preview` | String? | — | — |
916
+ | `error` | String? | — | — |
917
+ | `activity_card_id` | String? | — | — |
918
+ | `runtime_session_id` | String? | — | — |
919
+ | `executor_agent` | String? | — | — |
920
+ | `executor_type` | String? | — | — |
921
+ | `executor_provider_id` | String? | — | — |
922
+ | `executor_model` | String? | — | — |
923
+ | `metadata` | String? | — | — |
924
+ | `created_at` | DateTime | now( | — |
925
+ | `updated_at` | DateTime | — | — |
926
+ | `goal` | goals | — | — |
927
+ | `source` | goal_sources? | — | — |
928
+ | `workspace` | workspaces? | — | — |
929
+ | `thread` | workspace_threads? | — | — |
930
+ | `events` | goal_events[] | — | — |
931
+ | `artifacts` | goal_artifacts[] | — | — |
932
+
933
+ ### goal_events (`goal_events`)
934
+ | Field | Type | Default | Notes |
935
+ |---|---|---|---|
936
+ | `uuid` | String | uuid( | — |
937
+ | `goal_id` | Int | — | — |
938
+ | `goal_source_id` | Int? | — | — |
939
+ | `goal_run_id` | Int? | — | — |
940
+ | `activity_role` | String? | — | — |
941
+ | `workspace_id` | Int? | — | — |
942
+ | `thread_id` | Int? | — | — |
943
+ | `thread_slug` | String? | — | — |
944
+ | `event_type` | String | — | — |
945
+ | `activity_card_id` | String? | — | — |
946
+ | `runtime_session_id` | String? | — | — |
947
+ | `payload` | String? | — | — |
948
+ | `occurred_at` | DateTime | — | — |
949
+ | `created_at` | DateTime | now( | — |
950
+ | `goal` | goals | — | — |
951
+ | `source` | goal_sources? | — | — |
952
+ | `run` | goal_runs? | — | — |
953
+ | `workspace` | workspaces? | — | — |
954
+ | `thread` | workspace_threads? | — | — |
955
+
956
+ ### goal_artifacts (`goal_artifacts`)
957
+ | Field | Type | Default | Notes |
958
+ |---|---|---|---|
959
+ | `uuid` | String | uuid( | — |
960
+ | `goal_id` | Int | — | — |
961
+ | `goal_run_id` | Int? | — | — |
962
+ | `workspace_id` | Int? | — | — |
963
+ | `thread_id` | Int? | — | — |
964
+ | `thread_slug` | String? | — | — |
965
+ | `activity_role` | String? | — | — |
966
+ | `artifact_role` | String | supporting | supporting, completion |
967
+ | `artifact_type` | String | file | file, report, document, output |
968
+ | `label` | String | — | — |
969
+ | `path` | String | — | — |
970
+ | `is_absolute` | Boolean | false | — |
971
+ | `activity_card_id` | String? | — | — |
972
+ | `runtime_session_id` | String? | — | — |
973
+ | `metadata` | String? | — | — |
974
+ | `created_at` | DateTime | now( | — |
975
+ | `updated_at` | DateTime | — | — |
976
+ | `goal` | goals | — | — |
977
+ | `run` | goal_runs? | — | — |
978
+ | `workspace` | workspaces? | — | — |
979
+ | `thread` | workspace_threads? | — | — |
980
+
833
981
  ### ChannelPlugin (`channel_plugins`)
834
982
  A messaging channel integration (e.g. Slack, Teams) linked to a workspace.
835
983
 
@@ -0,0 +1,27 @@
1
+ # RealTimeX Browser
2
+
3
+ > Generated workflow guide · SDK **1.7.21** · 2026-05-18
4
+
5
+ Use this for managed RealTimeX Browser sessions and tabs.
6
+
7
+ Correct namespace:
8
+
9
+ ```js
10
+ sdk.desktopBrowser
11
+ ```
12
+
13
+ Preferred flow:
14
+ 1. Create or get a named browser session.
15
+ 2. Read its `remoteDebugPort`.
16
+ 3. Use the `agent-browser` skill against that CDP port for page interaction.
17
+
18
+ ```js
19
+ await sdk.desktopBrowser.createSession({ sessionName: "docs-research" });
20
+ await sdk.desktopBrowser.createTab({
21
+ sessionName: "docs-research",
22
+ url: "https://example.com"
23
+ });
24
+ const session = await sdk.desktopBrowser.getSession("docs-research");
25
+ ```
26
+
27
+ Avoid mutating reserved `acp-*` browser sessions unless the user explicitly asks for internal ACP browser flows.
@@ -0,0 +1,189 @@
1
+ # External Chat Channels
2
+
3
+ > Generated workflow guide · SDK **1.7.21** · 2026-05-18
4
+
5
+ Use this for Telegram, Zalo, WhatsApp, Discord, Slack, and other chat channel setup.
6
+
7
+ Required LocalApp permission for `x-app-id` mode:
8
+
9
+ ```js
10
+ permissions: ["channels.manage"]
11
+ ```
12
+
13
+ Main namespace:
14
+
15
+ ```js
16
+ sdk.v1.channels
17
+ ```
18
+
19
+ ## Agent Setup Rules
20
+
21
+ - Never print bot tokens, credentials, QR auth state, or full config values back to chat.
22
+ - Do not guess workspace or thread. Load `skills get workspaces` if context is missing.
23
+ - Ask the user to complete provider-side steps that cannot be automated, such as BotFather setup or QR scanning.
24
+ - Prefer creating plugins disabled first, then start only after credentials/login/policies are ready.
25
+ - Use `settings.thread_id` only when the user explicitly wants messages routed to a specific thread.
26
+ - Use `agentWhitelist: ["*"]` only when the user wants any mentioned/available agent allowed. Otherwise ask which agents should be allowed.
27
+
28
+ ## Decision Tree
29
+
30
+ - User says Telegram: ask for workspace and Telegram bot token. If they do not have a token, tell them to create one in BotFather first.
31
+ - User says WhatsApp: create a `whatsapp` plugin with empty config, start QR login, ask the user to scan, poll state, configure policies, then start.
32
+ - User says Zalo personal: create a `zalo_personal` plugin with empty config, start QR login, ask the user to scan, poll state, configure policies, then start.
33
+ - User asks to restrict access: use pairing codes or provider policies.
34
+ - User asks to allow anyone: set permissive policies only after confirming the security tradeoff.
35
+ - User is unsure which provider: list supported values: `telegram`, `slack`, `discord`, `zalo`, `zalo_personal`, `whatsapp`.
36
+
37
+ ## Common Flow
38
+
39
+ 1. Resolve workspace and optional target thread.
40
+ 2. Identify provider and collect only the needed credential or QR action.
41
+ 3. For token providers, call `pluginsTest(...)` before creating when supported.
42
+ 4. Create plugin with `createPlugin(...)` and `enabled: false`.
43
+ 5. For QR providers, call `pluginsQrLoginStart(...)`, ask the user to scan, then poll `getState(...)` until connected or failed.
44
+ 6. Configure policies with `pluginsPolicies(...)` where relevant.
45
+ 7. Start with `pluginsStart(...)`.
46
+ 8. Verify `getStatus()` and ask the user to send a first message from the external platform.
47
+
48
+ ## Telegram Bot
49
+
50
+ Provider-side step: the user must create a Telegram bot with BotFather and provide the bot token.
51
+
52
+ Test credentials:
53
+
54
+ ```js
55
+ await sdk.v1.channels.pluginsTest({
56
+ plugin_type: "telegram",
57
+ config: { botToken: process.env.TELEGRAM_BOT_TOKEN }
58
+ });
59
+ ```
60
+
61
+ Create plugin:
62
+
63
+ ```js
64
+ const created = await sdk.v1.channels.createPlugin({
65
+ workspace_id: 1,
66
+ plugin_type: "telegram",
67
+ name: "Support Telegram",
68
+ enabled: false,
69
+ config: { botToken: process.env.TELEGRAM_BOT_TOKEN },
70
+ settings: { thread_id: null, agentWhitelist: ["*"] }
71
+ });
72
+ await sdk.v1.channels.pluginsStart(String(created.plugin.id));
73
+ ```
74
+
75
+ First-message check: ask the user to open Telegram, start the bot, and send a test message.
76
+
77
+ ## WhatsApp QR
78
+
79
+ Provider-side step: the user must scan the QR code with WhatsApp.
80
+
81
+ ```js
82
+ const created = await sdk.v1.channels.createPlugin({
83
+ workspace_id: 1,
84
+ plugin_type: "whatsapp",
85
+ name: "WhatsApp",
86
+ enabled: false,
87
+ config: {},
88
+ settings: { thread_id: null, agentWhitelist: ["*"] }
89
+ });
90
+
91
+ const id = String(created.plugin.id);
92
+ await sdk.v1.channels.pluginsQrLoginStart(id, { force: false });
93
+
94
+ // Poll until status.connected is true, status.status is error, or user cancels.
95
+ const state = await sdk.v1.channels.getState(id);
96
+
97
+ await sdk.v1.channels.pluginsPolicies(id, {
98
+ policies: {
99
+ dmPolicy: "pairing",
100
+ groupPolicy: "disabled",
101
+ selfChatMode: false
102
+ }
103
+ });
104
+
105
+ await sdk.v1.channels.pluginsStart(id);
106
+ ```
107
+
108
+ Policy guidance:
109
+ - `dmPolicy: "pairing"` is safer for private access.
110
+ - Keep `groupPolicy: "disabled"` unless the user explicitly wants group chat support.
111
+ - Enable `selfChatMode` only when the user understands the loop/testing behavior.
112
+
113
+ ## Zalo Personal QR
114
+
115
+ Provider-side step: the user must scan the QR code with Zalo.
116
+
117
+ ```js
118
+ const created = await sdk.v1.channels.createPlugin({
119
+ workspace_id: 1,
120
+ plugin_type: "zalo_personal",
121
+ name: "Zalo Personal",
122
+ enabled: false,
123
+ config: {},
124
+ settings: { thread_id: null, agentWhitelist: ["*"] }
125
+ });
126
+
127
+ const id = String(created.plugin.id);
128
+ await sdk.v1.channels.pluginsQrLoginStart(id, { force: false });
129
+ const state = await sdk.v1.channels.getState(id);
130
+
131
+ await sdk.v1.channels.pluginsPolicies(id, {
132
+ policies: {
133
+ dmPolicy: "pairing",
134
+ groupPolicy: "disabled",
135
+ requireMention: false,
136
+ allowFrom: [],
137
+ groups: {}
138
+ }
139
+ });
140
+
141
+ await sdk.v1.channels.pluginsStart(id);
142
+ ```
143
+
144
+ Directory helpers after login:
145
+
146
+ ```js
147
+ await sdk.v1.channels.listDirectoryFriends(id);
148
+ await sdk.v1.channels.listDirectoryGroups(id);
149
+ ```
150
+
151
+ ## Pairing And User Approval
152
+
153
+ Use pairing when the channel should not allow every external user by default.
154
+
155
+ ```js
156
+ const code = await sdk.v1.channels.pluginsPairingCodes(pluginId, {
157
+ platform_user_id: "external-user-id",
158
+ platform_username: "Customer Name"
159
+ });
160
+
161
+ await sdk.v1.channels.listPluginPairingCodes(pluginId);
162
+ await sdk.v1.channels.pairingCodesApprove(String(code.code.id));
163
+ await sdk.v1.channels.listPluginUsers(pluginId);
164
+ await sdk.v1.channels.pluginsUsersAuthorization(pluginId, userId, { authorized: true });
165
+ ```
166
+
167
+ ## Status And Troubleshooting
168
+
169
+ ```js
170
+ await sdk.v1.channels.listPlugins();
171
+ await sdk.v1.channels.getStatus();
172
+ await sdk.v1.channels.getConfig(pluginId);
173
+ ```
174
+
175
+ - `Not authenticated`: QR login did not complete or credentials were cleared. Start QR login again.
176
+ - Start fails: stop the plugin, test credentials if token-based, check `getStatus()`, then start again.
177
+ - User cannot chat: check pairing codes, user authorization, `dmPolicy`, `groupPolicy`, and provider allow lists.
178
+ - Messages route to the wrong place: check `workspace_id` and `settings.thread_id`.
179
+ - Bot does not receive external messages: confirm provider-side webhook/session requirements and that the plugin is running.
180
+
181
+ ## Cleanup
182
+
183
+ ```js
184
+ await sdk.v1.channels.pluginsStop(pluginId);
185
+ await sdk.v1.channels.pluginsLogout(pluginId); // QR providers only
186
+ await sdk.v1.channels.deletePlugin(pluginId);
187
+ ```
188
+
189
+ Exact generated methods are in `api-reference/v1-channels.md`.
@@ -1,6 +1,6 @@
1
1
  # Known Issues — Source-Detected
2
2
 
3
- > Auto-generated by `scripts/generate-skill.mjs` · SDK **1.7.17** · 2026-05-11
3
+ > Auto-generated by `scripts/generate-skill.mjs` · SDK **1.7.21** · 2026-05-18
4
4
 
5
5
  Run `node scripts/generate-skill.mjs --force` after SDK source changes to refresh.
6
6
 
@@ -0,0 +1,13 @@
1
+ # LLM And Vector Store
2
+
3
+ > Generated workflow guide · SDK **1.7.21** · 2026-05-18
4
+
5
+ Use `sdk.llm` for chat, streaming, embeddings, and vector helpers.
6
+
7
+ Common permissions: `llm.chat`, `llm.embed`, `llm.providers`, `vectors.read`, `vectors.write`.
8
+
9
+ ```js
10
+ await sdk.llm.chat([{ role: "user", content: "Hello" }]);
11
+ await sdk.llm.embed(["text to embed"]);
12
+ await sdk.llm.vectors.query(vector, { workspaceId });
13
+ ```
@@ -0,0 +1,13 @@
1
+ # MCP
2
+
3
+ > Generated workflow guide · SDK **1.7.21** · 2026-05-18
4
+
5
+ Use `sdk.mcp` to list MCP servers, list tools, and execute tools.
6
+
7
+ Required permissions: `mcp.servers` and `mcp.tools`.
8
+
9
+ ```js
10
+ await sdk.mcp.getServers();
11
+ await sdk.mcp.getTools(serverName);
12
+ await sdk.mcp.executeTool(serverName, toolName, args);
13
+ ```
@@ -0,0 +1,30 @@
1
+ # Permissions
2
+
3
+ > Generated workflow guide · SDK **1.7.21** · 2026-05-18
4
+
5
+ LocalApps using `x-app-id` must request permissions before calling protected SDK routes.
6
+
7
+ | Permission | Use For |
8
+ |---|---|
9
+ | `api.agents` | List agents |
10
+ | `api.workspaces` | List workspaces |
11
+ | `api.threads` | List workspace threads |
12
+ | `api.task` | Read task status |
13
+ | `activities.read` | Read activities |
14
+ | `activities.write` | Create/update/delete activities |
15
+ | `llm.chat` | LLM chat and streaming chat |
16
+ | `llm.embed` | Generate embeddings |
17
+ | `llm.providers` | List LLM/embed providers |
18
+ | `vectors.read` | Query/list vector stores |
19
+ | `vectors.write` | Upsert/delete vectors |
20
+ | `mcp.servers` | List MCP servers |
21
+ | `mcp.tools` | List/execute MCP tools |
22
+ | `acp.agent` | ACP agent sessions |
23
+ | `desktop.runtime-sessions` | Visible Electron terminal sessions |
24
+ | `desktop.browser` | RealTimeX Browser sessions and tabs |
25
+ | `channels.manage` | External chat channel setup and administration |
26
+ | `tts.generate` | Text-to-speech |
27
+ | `stt.listen` | Speech-to-text |
28
+ | `credentials.read` | Read stored credentials |
29
+
30
+ API-key dev mode has wildcard access.
@@ -0,0 +1,16 @@
1
+ # Quickstart
2
+
3
+ > Generated workflow guide · SDK **1.7.21** · 2026-05-18
4
+
5
+ Use this when starting any SDK task.
6
+
7
+ ```js
8
+ const { initSDK } = require('<SKILL_DIR>/scripts/lib/sdk-init');
9
+ const { sdk, context } = await initSDK();
10
+ ```
11
+
12
+ Rules:
13
+ - Use the working directory or system temp for helper scripts, never the skill directory.
14
+ - Exit scripts explicitly with `process.exit(0)` or `process.exit(1)`.
15
+ - Check `context.workspaceSlug` and `context.threadSlug` before asking the user.
16
+ - For exact signatures, open `references/api-reference/index.md`.
@@ -0,0 +1,34 @@
1
+ # Desktop Terminal Sessions
2
+
3
+ > Generated workflow guide · SDK **1.7.21** · 2026-05-18
4
+
5
+ Use this for visible Electron terminal sessions.
6
+
7
+ Correct namespace:
8
+
9
+ ```js
10
+ sdk.desktopRuntimeSessions
11
+ ```
12
+
13
+ Do not use ACP for visible terminals unless the user explicitly asks for headless ACP.
14
+
15
+ Examples:
16
+
17
+ ```js
18
+ await sdk.desktopRuntimeSessions.launchTerminalCliAgent({
19
+ workspaceSlug,
20
+ threadSlug,
21
+ agentName: "claude",
22
+ providerId: "claude-cli",
23
+ presentationMode: "panel",
24
+ message: "what is current working dir"
25
+ });
26
+
27
+ await sdk.desktopRuntimeSessions.launchTerminalShell({
28
+ workspaceSlug,
29
+ threadSlug,
30
+ presentationMode: "panel",
31
+ initialCommand: "pwd",
32
+ initialCommandMode: "direct"
33
+ });
34
+ ```
@@ -0,0 +1,20 @@
1
+ # Workspaces And Threads
2
+
3
+ > Generated workflow guide · SDK **1.7.21** · 2026-05-18
4
+
5
+ Use this before any task that needs workspace/thread context.
6
+
7
+ Priority order:
8
+ 1. Explicit user-provided workspace/thread.
9
+ 2. `context.workspaceSlug` / `context.threadSlug` from `initSDK()`.
10
+ 3. `RTX_WORKSPACE_SLUG` / `RTX_THREAD_SLUG` in spawned sessions.
11
+ 4. List workspaces and threads, then ask only if ambiguous.
12
+
13
+ Useful calls:
14
+
15
+ ```js
16
+ await sdk.api.getWorkspaces();
17
+ await sdk.api.getThreads(workspaceSlug);
18
+ await sdk.v1.workspace.listWorkspaces();
19
+ await sdk.v1.thread.listWorkspaceThreads(slug);
20
+ ```