@realtimex/sdk 1.7.21 → 1.7.28
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 +1 -1
- package/skills/realtimex-moderator-sdk/SKILL.md +3 -3
- package/skills/realtimex-moderator-sdk/references/activities.md +1 -1
- package/skills/realtimex-moderator-sdk/references/agents.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/acpagent.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/activities.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/agent.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/api.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/auth.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/contract.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/core.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/database.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/index.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/llm.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/mcp.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/port.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/stt.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/task.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/tts.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/v1-acpauth.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/v1-acpcommands.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/v1-admin.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/v1-auth.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/v1-channels.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/v1-credentials.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/v1-customthemes.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/v1-desktopbrowser.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/v1-desktopembed.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/v1-desktopruntimesessions.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/v1-document.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/v1-embed.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/v1-openai.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/v1-sttapi.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/v1-system.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/v1-thread.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/v1-users.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/v1-workspace.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference/webhook.md +1 -1
- package/skills/realtimex-moderator-sdk/references/api-reference.md +1 -1
- package/skills/realtimex-moderator-sdk/references/app-concepts.md +166 -1
- package/skills/realtimex-moderator-sdk/references/browser.md +1 -1
- package/skills/realtimex-moderator-sdk/references/channels.md +1 -1
- package/skills/realtimex-moderator-sdk/references/known-issues.md +1 -1
- package/skills/realtimex-moderator-sdk/references/llm.md +1 -1
- package/skills/realtimex-moderator-sdk/references/mcp.md +1 -1
- package/skills/realtimex-moderator-sdk/references/permissions.md +1 -1
- package/skills/realtimex-moderator-sdk/references/quickstart.md +1 -1
- package/skills/realtimex-moderator-sdk/references/terminal-sessions.md +1 -1
- package/skills/realtimex-moderator-sdk/references/workspaces.md +1 -1
- package/skills/realtimex-moderator-sdk/scripts/lib/sdk-init.js +32 -1
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: realtimex-moderator-sdk
|
|
3
3
|
description: Control and interact with the RealTimeX application through its Node.js SDK. Use for workspaces, threads, agents, activities, LLM chat, vector store, MCP tools, ACP sessions, desktop terminal/browser sessions, chat channels, TTS/STT, and other RealTimeX platform APIs. Load detailed version-matched instructions with `rtx.js skills get <topic>`.
|
|
4
|
-
generated: 2026-
|
|
5
|
-
sdk_version: 1.7.
|
|
4
|
+
generated: 2026-06-02
|
|
5
|
+
sdk_version: 1.7.28
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# RealTimeX Moderator SDK
|
|
9
9
|
|
|
10
|
-
SDK-backed control of the local RealTimeX platform (`http://localhost:3001`) using `@realtimex/sdk` **v1.7.
|
|
10
|
+
SDK-backed control of the local RealTimeX platform (`http://localhost:3001`) using `@realtimex/sdk` **v1.7.28**.
|
|
11
11
|
|
|
12
12
|
This file is the discovery stub. Load workflow content from the bundled CLI so instructions match the installed SDK version.
|
|
13
13
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# API Reference Index
|
|
2
2
|
|
|
3
|
-
> Auto-generated from `@realtimex/sdk` source · v**1.7.
|
|
3
|
+
> Auto-generated from `@realtimex/sdk` source · v**1.7.28** · 2026-06-02
|
|
4
4
|
|
|
5
5
|
Use these files for exact SDK signatures. Topic guides in `references/*.md` explain workflows.
|
|
6
6
|
|
|
@@ -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.28** · 2026-06-02
|
|
4
4
|
|
|
5
5
|
**Package:** `@realtimex/sdk` (CJS) · **Server:** `http://localhost:3001`
|
|
6
6
|
**Developer Mode auth:** `Authorization: Bearer <apiKey>`
|
|
@@ -137,7 +137,7 @@ Skills are loaded from git repositories, zip files, or installed plugins.
|
|
|
137
137
|
|
|
138
138
|
### Skill Status
|
|
139
139
|
|
|
140
|
-
Valid values: `draft`, `published`
|
|
140
|
+
Valid values: `candidate`, `draft`, `published`
|
|
141
141
|
|
|
142
142
|
---
|
|
143
143
|
|
|
@@ -221,7 +221,9 @@ A platform user account.
|
|
|
221
221
|
| `desktop_mobile_devices` | desktop_mobile_devices[] | — | — |
|
|
222
222
|
| `workspace_parsed_files` | workspace_parsed_files[] | — | — |
|
|
223
223
|
| `workspace_tasks` | workspace_tasks[] | — | — |
|
|
224
|
+
| `webhook_ingress_endpoints` | webhook_ingress_endpoints[] | — | — |
|
|
224
225
|
| `agent_working_directories` | agent_working_directories[] | — | — |
|
|
226
|
+
| `acp_activity_events` | acp_activity_events[] | — | — |
|
|
225
227
|
|
|
226
228
|
### agent_working_directories (`agent_working_directories`)
|
|
227
229
|
| Field | Type | Default | Notes |
|
|
@@ -287,6 +289,7 @@ A chat/knowledge space with its own documents, LLM config, and agent settings.
|
|
|
287
289
|
| `workspace_configs` | workspace_configs? | — | — |
|
|
288
290
|
| `webhook_data` | webhook_data[] | — | — |
|
|
289
291
|
| `workspace_parsed_files` | workspace_parsed_files[] | — | — |
|
|
292
|
+
| `webhook_ingress_endpoints` | webhook_ingress_endpoints[] | — | — |
|
|
290
293
|
| `knowledgeConfig` | String? | — | — |
|
|
291
294
|
| `type` | String? | default | — |
|
|
292
295
|
| `workspace_tasks` | workspace_tasks[] | — | — |
|
|
@@ -295,6 +298,7 @@ A chat/knowledge space with its own documents, LLM config, and agent settings.
|
|
|
295
298
|
| `goal_events` | goal_events[] | — | — |
|
|
296
299
|
| `goal_artifacts` | goal_artifacts[] | — | — |
|
|
297
300
|
| `terminal_ui_events` | terminal_ui_events[] | — | — |
|
|
301
|
+
| `acp_activity_events` | acp_activity_events[] | — | — |
|
|
298
302
|
| `channel_plugins` | channel_plugins[] | — | — |
|
|
299
303
|
| `agentic_cli_workspace_overrides` | agentic_cli_workspace_overrides[] | — | — |
|
|
300
304
|
|
|
@@ -364,6 +368,7 @@ A conversation thread within a workspace. Can represent a meeting or a standalon
|
|
|
364
368
|
| `chatProvider` | String? | — | — |
|
|
365
369
|
| `chatModel` | String? | — | — |
|
|
366
370
|
| `chatTuningConfig` | String? | — | — |
|
|
371
|
+
| `terminalAgent` | String? | — | — |
|
|
367
372
|
| `meeting_source` | String? | manual | — |
|
|
368
373
|
| `meeting_status` | String? | draft | — |
|
|
369
374
|
| `scheduled_start_at` | DateTime? | — | — |
|
|
@@ -381,6 +386,7 @@ A conversation thread within a workspace. Can represent a meeting or a standalon
|
|
|
381
386
|
| `meeting_outputs` | meeting_outputs[] | — | — |
|
|
382
387
|
| `workspace_parsed_files` | workspace_parsed_files[] | — | — |
|
|
383
388
|
| `workspace_tasks` | workspace_tasks[] | — | — |
|
|
389
|
+
| `webhook_ingress_endpoints` | webhook_ingress_endpoints[] | — | — |
|
|
384
390
|
| `goal_sources` | goal_sources[] | — | — |
|
|
385
391
|
| `goal_runs` | goal_runs[] | — | — |
|
|
386
392
|
| `goal_events` | goal_events[] | — | — |
|
|
@@ -418,6 +424,24 @@ A conversation thread within a workspace. Can represent a meeting or a standalon
|
|
|
418
424
|
| `workspace` | workspaces | — | — |
|
|
419
425
|
| `user` | users? | — | — |
|
|
420
426
|
|
|
427
|
+
### acp_activity_events (`acp_activity_events`)
|
|
428
|
+
| Field | Type | Default | Notes |
|
|
429
|
+
|---|---|---|---|
|
|
430
|
+
| `workspaceId` | Int | — | — |
|
|
431
|
+
| `scope_key` | String | — | — |
|
|
432
|
+
| `event_key` | String | — | — |
|
|
433
|
+
| `type` | String | — | — |
|
|
434
|
+
| `domain` | String? | — | — |
|
|
435
|
+
| `content` | String | — | — |
|
|
436
|
+
| `assistant_agent` | String? | — | — |
|
|
437
|
+
| `source_chat_id` | Int? | — | — |
|
|
438
|
+
| `user_id` | Int? | — | — |
|
|
439
|
+
| `thread_id` | Int? | — | — |
|
|
440
|
+
| `api_session_id` | String? | — | — |
|
|
441
|
+
| `occurredAt` | DateTime? | — | — |
|
|
442
|
+
| `workspace` | workspaces | — | — |
|
|
443
|
+
| `user` | users? | — | — |
|
|
444
|
+
|
|
421
445
|
### AgentInvocation (`workspace_agent_invocations`)
|
|
422
446
|
A single agent task invocation with lifecycle state tracking.
|
|
423
447
|
|
|
@@ -590,6 +614,147 @@ Configuration for an embeddable chat widget hosted on an external site.
|
|
|
590
614
|
| `tags` | String? | — | JSON array of tags |
|
|
591
615
|
| `lastModified` | DateTime | now( | — |
|
|
592
616
|
|
|
617
|
+
### webhook_ingress_endpoints (`webhook_ingress_endpoints`)
|
|
618
|
+
| Field | Type | Default | Notes |
|
|
619
|
+
|---|---|---|---|
|
|
620
|
+
| `endpoint_id` | String | uuid( | — |
|
|
621
|
+
| `public_id` | String | — | — |
|
|
622
|
+
| `name` | String | — | — |
|
|
623
|
+
| `preset` | String | generic-hmac | — |
|
|
624
|
+
| `preset_version` | Int | 1 | — |
|
|
625
|
+
| `enabled` | Boolean | true | — |
|
|
626
|
+
| `workspace_id` | Int | — | — |
|
|
627
|
+
| `thread_id` | Int? | — | — |
|
|
628
|
+
| `thread_name` | String? | — | — |
|
|
629
|
+
| `verification_mode` | String | hmac-sha256 | — |
|
|
630
|
+
| `secret_ciphertext` | String | — | — |
|
|
631
|
+
| `profile_config` | String? | — | JSON object for provider/profile-specific endpoint settings |
|
|
632
|
+
| `signature_header` | String | — | — |
|
|
633
|
+
| `signature_prefix` | String? | sha256= | — |
|
|
634
|
+
| `timestamp_header` | String? | — | — |
|
|
635
|
+
| `delivery_id_header` | String? | — | — |
|
|
636
|
+
| `event_type_header` | String? | — | — |
|
|
637
|
+
| `source_header` | String? | — | — |
|
|
638
|
+
| `allowed_source_paths` | String? | — | JSON array of provider source paths like "owner/repo" or "group/project" |
|
|
639
|
+
| `replay_window_seconds` | Int | 300 | — |
|
|
640
|
+
| `payload_size_limit_bytes` | Int | 1048576 | — |
|
|
641
|
+
| `created_by` | Int? | — | — |
|
|
642
|
+
| `last_delivery_at` | DateTime? | — | — |
|
|
643
|
+
| `last_delivery_status` | String? | — | — |
|
|
644
|
+
| `workspace` | workspaces | — | — |
|
|
645
|
+
| `thread` | workspace_threads? | — | — |
|
|
646
|
+
| `user` | users? | — | — |
|
|
647
|
+
| `deliveries` | webhook_ingress_deliveries[] | — | — |
|
|
648
|
+
| `events` | webhook_ingress_events[] | — | — |
|
|
649
|
+
|
|
650
|
+
### webhook_ingress_deliveries (`webhook_ingress_deliveries`)
|
|
651
|
+
| Field | Type | Default | Notes |
|
|
652
|
+
|---|---|---|---|
|
|
653
|
+
| `delivery_id` | String | uuid( | — |
|
|
654
|
+
| `endpoint_row_id` | Int | — | — |
|
|
655
|
+
| `request_method` | String | — | — |
|
|
656
|
+
| `request_path` | String | — | — |
|
|
657
|
+
| `request_query` | String? | — | — |
|
|
658
|
+
| `request_headers` | String? | — | — |
|
|
659
|
+
| `raw_body` | String? | — | — |
|
|
660
|
+
| `body_hash` | String | — | — |
|
|
661
|
+
| `content_type` | String? | — | — |
|
|
662
|
+
| `body_size_bytes` | Int | 0 | — |
|
|
663
|
+
| `signature_header_value` | String? | — | — |
|
|
664
|
+
| `extracted_delivery_id` | String? | — | — |
|
|
665
|
+
| `extracted_event_type` | String? | — | — |
|
|
666
|
+
| `extracted_source` | String? | — | — |
|
|
667
|
+
| `signature_status` | String | pending | — |
|
|
668
|
+
| `replay_status` | String | pending | — |
|
|
669
|
+
| `dedupe_status` | String | pending | — |
|
|
670
|
+
| `route_status` | String | pending | — |
|
|
671
|
+
| `processing_status` | String | received | — |
|
|
672
|
+
| `verification_error` | String? | — | — |
|
|
673
|
+
| `route_error` | String? | — | — |
|
|
674
|
+
| `routed_thread_id` | Int? | — | — |
|
|
675
|
+
| `routed_task_id` | Int? | — | — |
|
|
676
|
+
| `received_at` | DateTime | now( | — |
|
|
677
|
+
| `processed_at` | DateTime? | — | — |
|
|
678
|
+
| `endpoint` | webhook_ingress_endpoints | — | — |
|
|
679
|
+
| `normalized_event` | webhook_ingress_events? | — | — |
|
|
680
|
+
|
|
681
|
+
### webhook_ingress_events (`webhook_ingress_events`)
|
|
682
|
+
| Field | Type | Default | Notes |
|
|
683
|
+
|---|---|---|---|
|
|
684
|
+
| `event_id` | String | uuid( | — |
|
|
685
|
+
| `endpoint_id` | String | — | — |
|
|
686
|
+
| `delivery_id` | String | — | — |
|
|
687
|
+
| `provider` | String | — | — |
|
|
688
|
+
| `normalized_type` | String | — | — |
|
|
689
|
+
| `source_key` | String? | — | — |
|
|
690
|
+
| `source_label` | String? | — | — |
|
|
691
|
+
| `subject_key` | String? | — | — |
|
|
692
|
+
| `subject_label` | String? | — | — |
|
|
693
|
+
| `ref_name` | String? | — | — |
|
|
694
|
+
| `status_text` | String? | — | — |
|
|
695
|
+
| `event_url` | String? | — | — |
|
|
696
|
+
| `summary_json` | String? | — | — |
|
|
697
|
+
| `payload_json` | String? | — | — |
|
|
698
|
+
| `repo_full_name` | String? | — | — |
|
|
699
|
+
| `repository_url` | String? | — | — |
|
|
700
|
+
| `action` | String? | — | — |
|
|
701
|
+
| `conclusion` | String? | — | — |
|
|
702
|
+
| `workflow_name` | String? | — | — |
|
|
703
|
+
| `branch` | String? | — | — |
|
|
704
|
+
| `commit_sha` | String? | — | — |
|
|
705
|
+
| `run_url` | String? | — | — |
|
|
706
|
+
| `external_id` | String? | — | — |
|
|
707
|
+
| `payload` | String | — | — |
|
|
708
|
+
| `route_status` | String | pending | — |
|
|
709
|
+
| `route_reason` | String? | — | — |
|
|
710
|
+
| `routed_thread_id` | Int? | — | — |
|
|
711
|
+
| `routed_task_id` | Int? | — | — |
|
|
712
|
+
| `endpoint` | webhook_ingress_endpoints | — | — |
|
|
713
|
+
| `delivery` | webhook_ingress_deliveries | — | — |
|
|
714
|
+
|
|
715
|
+
### webhook_ingress_exposures (`webhook_ingress_exposures`)
|
|
716
|
+
| Field | Type | Default | Notes |
|
|
717
|
+
|---|---|---|---|
|
|
718
|
+
| `scope_key` | String | — | — |
|
|
719
|
+
| `provider` | String | cloudflare | — |
|
|
720
|
+
| `status` | String | idle | — |
|
|
721
|
+
| `exposure_id` | String? | — | — |
|
|
722
|
+
| `tunnel_id` | String? | — | — |
|
|
723
|
+
| `tunnel_name` | String? | — | — |
|
|
724
|
+
| `hostname` | String? | — | — |
|
|
725
|
+
| `public_base_url` | String? | — | — |
|
|
726
|
+
| `connector_command` | String? | — | — |
|
|
727
|
+
| `connector_args` | String? | — | — |
|
|
728
|
+
| `connector_token_ciphertext` | String? | — | — |
|
|
729
|
+
| `dns_record_id` | String? | — | — |
|
|
730
|
+
| `dns_record_name` | String? | — | — |
|
|
731
|
+
| `last_error` | String? | — | — |
|
|
732
|
+
| `provisioned_at` | DateTime? | — | — |
|
|
733
|
+
| `last_started_at` | DateTime? | — | — |
|
|
734
|
+
| `last_verified_at` | DateTime? | — | — |
|
|
735
|
+
| `released_at` | DateTime? | — | — |
|
|
736
|
+
| `created_by` | Int? | — | — |
|
|
737
|
+
|
|
738
|
+
### webhook_ingress_relays (`webhook_ingress_relays`)
|
|
739
|
+
| Field | Type | Default | Notes |
|
|
740
|
+
|---|---|---|---|
|
|
741
|
+
| `scope_key` | String | — | — |
|
|
742
|
+
| `mode` | String | broker-relay | — |
|
|
743
|
+
| `provider` | String | broker | — |
|
|
744
|
+
| `site_id` | String? | — | — |
|
|
745
|
+
| `public_base_url` | String? | — | — |
|
|
746
|
+
| `inbound_base_url` | String? | — | — |
|
|
747
|
+
| `management_token_ciphertext` | String? | — | — |
|
|
748
|
+
| `status` | String | idle | — |
|
|
749
|
+
| `backlog_count` | Int | 0 | — |
|
|
750
|
+
| `oldest_queued_at` | DateTime? | — | — |
|
|
751
|
+
| `last_claimed_at` | DateTime? | — | — |
|
|
752
|
+
| `last_delivery_at` | DateTime? | — | — |
|
|
753
|
+
| `last_result_status` | String? | — | — |
|
|
754
|
+
| `last_error` | String? | — | — |
|
|
755
|
+
| `recent_attempts` | String? | — | — |
|
|
756
|
+
| `created_by` | Int? | — | — |
|
|
757
|
+
|
|
593
758
|
### desktop_mobile_devices (`desktop_mobile_devices`)
|
|
594
759
|
| Field | Type | Default | Notes |
|
|
595
760
|
|---|---|---|---|
|
|
@@ -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.28** · 2026-06-02
|
|
4
4
|
|
|
5
5
|
Run `node scripts/generate-skill.mjs --force` after SDK source changes to refresh.
|
|
6
6
|
|
|
@@ -16,6 +16,7 @@ const path = require('path');
|
|
|
16
16
|
const fs = require('fs');
|
|
17
17
|
const os = require('os');
|
|
18
18
|
const readline = require('readline');
|
|
19
|
+
const { createRequire } = require('module');
|
|
19
20
|
|
|
20
21
|
const ALL_PERMISSIONS = [
|
|
21
22
|
'api.agents', 'api.workspaces', 'api.threads', 'api.task',
|
|
@@ -30,6 +31,35 @@ const ALL_PERMISSIONS = [
|
|
|
30
31
|
/** Well-known file written by RealtimeX server for seamless auth. */
|
|
31
32
|
const SDK_APP_ID_FILE = path.join(os.homedir(), '.realtimex.ai', '.sdk-app-id');
|
|
32
33
|
|
|
34
|
+
function requireRealtimeXSDK() {
|
|
35
|
+
try {
|
|
36
|
+
return require('@realtimex/sdk');
|
|
37
|
+
} catch (err) {
|
|
38
|
+
if (err?.code !== 'MODULE_NOT_FOUND') throw err;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const moduleRoots = [
|
|
42
|
+
process.env.RTX_SDK_MODULE_ROOT,
|
|
43
|
+
process.env.RTX_SERVER_ROOT,
|
|
44
|
+
path.join(os.homedir(), '.realtimex.ai', 'Resources', 'server'),
|
|
45
|
+
].filter(Boolean);
|
|
46
|
+
|
|
47
|
+
for (const root of moduleRoots) {
|
|
48
|
+
const packagePath = path.join(root, 'package.json');
|
|
49
|
+
if (!fs.existsSync(packagePath)) continue;
|
|
50
|
+
|
|
51
|
+
try {
|
|
52
|
+
return createRequire(packagePath)('@realtimex/sdk');
|
|
53
|
+
} catch (err) {
|
|
54
|
+
if (err?.code !== 'MODULE_NOT_FOUND') throw err;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
throw new Error(
|
|
59
|
+
'Cannot find @realtimex/sdk. Install it with this skill, set RTX_SDK_MODULE_ROOT, or set RTX_SERVER_ROOT to the RealTimeX server directory.'
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
|
|
33
63
|
function normalizeContextValue(value) {
|
|
34
64
|
const normalized = String(value || '').trim();
|
|
35
65
|
return normalized || null;
|
|
@@ -108,7 +138,7 @@ function resolveDefaultWorkspaceThreadContext(overrides = {}) {
|
|
|
108
138
|
}
|
|
109
139
|
|
|
110
140
|
async function initSDK(opts = {}) {
|
|
111
|
-
const { RealtimeXSDK } =
|
|
141
|
+
const { RealtimeXSDK } = requireRealtimeXSDK();
|
|
112
142
|
const { apiKey, appId } = await resolveCredentials(opts);
|
|
113
143
|
const context = resolveDefaultWorkspaceThreadContext(opts);
|
|
114
144
|
|
|
@@ -132,6 +162,7 @@ async function initSDK(opts = {}) {
|
|
|
132
162
|
|
|
133
163
|
module.exports = {
|
|
134
164
|
initSDK,
|
|
165
|
+
requireRealtimeXSDK,
|
|
135
166
|
resolveCredentials,
|
|
136
167
|
resolveDefaultWorkspaceThreadContext,
|
|
137
168
|
parseEnvFile,
|