@realtimex/sdk 1.6.0 → 1.7.4
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/dist/chunk-PDAMNSF2.mjs +665 -0
- package/dist/errors-DoCX7LOD.d.mts +445 -0
- package/dist/errors-DoCX7LOD.d.ts +445 -0
- package/dist/index.d.mts +9 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.js +662 -0
- package/dist/index.mjs +18 -0
- package/dist/v1/index.d.mts +117 -0
- package/dist/v1/index.d.ts +117 -0
- package/dist/v1/index.js +828 -0
- package/dist/v1/index.mjs +154 -0
- package/package.json +11 -3
- package/skills/realtimex-moderator-sdk/SKILL.md +3 -3
- package/skills/realtimex-moderator-sdk/references/api-reference.md +374 -2
- package/skills/realtimex-moderator-sdk/references/known-issues.md +1 -1
- package/skills/realtimex-moderator-sdk/scripts/lib/sdk-init.js +1 -1
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AuthenticationError,
|
|
3
|
+
DeveloperApiClient,
|
|
4
|
+
DeveloperApiError,
|
|
5
|
+
NotFoundError,
|
|
6
|
+
ServerError,
|
|
7
|
+
V1AdminModule,
|
|
8
|
+
V1ApiNamespace,
|
|
9
|
+
V1AuthModule,
|
|
10
|
+
V1DocumentModule,
|
|
11
|
+
V1EmbedModule,
|
|
12
|
+
V1OpenAIModule,
|
|
13
|
+
V1SystemModule,
|
|
14
|
+
V1ThreadModule,
|
|
15
|
+
V1UsersModule,
|
|
16
|
+
V1WorkspaceModule,
|
|
17
|
+
ValidationError
|
|
18
|
+
} from "../chunk-PDAMNSF2.mjs";
|
|
19
|
+
|
|
20
|
+
// src/v1/overrides/v1WorkspaceStreaming.ts
|
|
21
|
+
async function* streamWorkspaceChat(client, slug, body) {
|
|
22
|
+
const response = await client.requestRaw("POST", `/v1/workspace/${slug}/stream-chat`, body);
|
|
23
|
+
if (!response.body) {
|
|
24
|
+
throw new Error("Response body is null \u2014 streaming is not supported in this environment");
|
|
25
|
+
}
|
|
26
|
+
const reader = response.body.getReader();
|
|
27
|
+
const decoder = new TextDecoder();
|
|
28
|
+
let buffer = "";
|
|
29
|
+
let isErrorEvent = false;
|
|
30
|
+
try {
|
|
31
|
+
while (true) {
|
|
32
|
+
const { done, value } = await reader.read();
|
|
33
|
+
if (done) break;
|
|
34
|
+
buffer += decoder.decode(value, { stream: true });
|
|
35
|
+
const lines = buffer.split("\n");
|
|
36
|
+
buffer = lines.pop() ?? "";
|
|
37
|
+
for (const line of lines) {
|
|
38
|
+
if (line.startsWith("event: error")) {
|
|
39
|
+
isErrorEvent = true;
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (line.startsWith("data: ")) {
|
|
43
|
+
const jsonStr = line.slice(6).trim();
|
|
44
|
+
if (jsonStr === "[DONE]") {
|
|
45
|
+
isErrorEvent = false;
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
let data;
|
|
49
|
+
try {
|
|
50
|
+
data = JSON.parse(jsonStr);
|
|
51
|
+
} catch {
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (isErrorEvent) {
|
|
55
|
+
throw new Error(data.error ?? "Unknown streaming error from server");
|
|
56
|
+
}
|
|
57
|
+
yield data;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
} finally {
|
|
62
|
+
reader.releaseLock();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// src/v1/overrides/v1ThreadStreaming.ts
|
|
67
|
+
async function* streamThreadChat(client, slug, threadSlug, body) {
|
|
68
|
+
const response = await client.requestRaw(
|
|
69
|
+
"POST",
|
|
70
|
+
`/v1/workspace/${slug}/thread/${threadSlug}/stream-chat`,
|
|
71
|
+
body
|
|
72
|
+
);
|
|
73
|
+
if (!response.body) {
|
|
74
|
+
throw new Error("Response body is null \u2014 streaming is not supported in this environment");
|
|
75
|
+
}
|
|
76
|
+
const reader = response.body.getReader();
|
|
77
|
+
const decoder = new TextDecoder();
|
|
78
|
+
let buffer = "";
|
|
79
|
+
let isErrorEvent = false;
|
|
80
|
+
try {
|
|
81
|
+
while (true) {
|
|
82
|
+
const { done, value } = await reader.read();
|
|
83
|
+
if (done) break;
|
|
84
|
+
buffer += decoder.decode(value, { stream: true });
|
|
85
|
+
const lines = buffer.split("\n");
|
|
86
|
+
buffer = lines.pop() ?? "";
|
|
87
|
+
for (const line of lines) {
|
|
88
|
+
if (line.startsWith("event: error")) {
|
|
89
|
+
isErrorEvent = true;
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
if (line.startsWith("data: ")) {
|
|
93
|
+
const jsonStr = line.slice(6).trim();
|
|
94
|
+
if (jsonStr === "[DONE]") {
|
|
95
|
+
isErrorEvent = false;
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
let data;
|
|
99
|
+
try {
|
|
100
|
+
data = JSON.parse(jsonStr);
|
|
101
|
+
} catch {
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
if (isErrorEvent) {
|
|
105
|
+
throw new Error(data.error ?? "Unknown streaming error from server");
|
|
106
|
+
}
|
|
107
|
+
yield data;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
} finally {
|
|
112
|
+
reader.releaseLock();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// src/v1/overrides/v1DocumentUpload.ts
|
|
117
|
+
async function uploadFile(client, file, options = {}) {
|
|
118
|
+
const form = new FormData();
|
|
119
|
+
const filename = options.filename ?? (file instanceof File ? file.name : "upload");
|
|
120
|
+
form.append("file", file, filename);
|
|
121
|
+
return client.requestMultipart("POST", `/v1/document/upload`, form);
|
|
122
|
+
}
|
|
123
|
+
async function uploadFileToFolder(client, file, folderName, options = {}) {
|
|
124
|
+
const form = new FormData();
|
|
125
|
+
const filename = options.filename ?? (file instanceof File ? file.name : "upload");
|
|
126
|
+
form.append("file", file, filename);
|
|
127
|
+
return client.requestMultipart(
|
|
128
|
+
"POST",
|
|
129
|
+
`/v1/document/upload/${encodeURIComponent(folderName)}`,
|
|
130
|
+
form
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
export {
|
|
134
|
+
AuthenticationError,
|
|
135
|
+
DeveloperApiClient,
|
|
136
|
+
DeveloperApiError,
|
|
137
|
+
NotFoundError,
|
|
138
|
+
ServerError,
|
|
139
|
+
V1AdminModule,
|
|
140
|
+
V1ApiNamespace,
|
|
141
|
+
V1AuthModule,
|
|
142
|
+
V1DocumentModule,
|
|
143
|
+
V1EmbedModule,
|
|
144
|
+
V1OpenAIModule,
|
|
145
|
+
V1SystemModule,
|
|
146
|
+
V1ThreadModule,
|
|
147
|
+
V1UsersModule,
|
|
148
|
+
V1WorkspaceModule,
|
|
149
|
+
ValidationError,
|
|
150
|
+
streamThreadChat,
|
|
151
|
+
streamWorkspaceChat,
|
|
152
|
+
uploadFile,
|
|
153
|
+
uploadFileToFolder
|
|
154
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@realtimex/sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.4",
|
|
4
4
|
"description": "SDK for building Local Apps that integrate with RealtimeX",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -10,15 +10,23 @@
|
|
|
10
10
|
"import": "./dist/index.mjs",
|
|
11
11
|
"require": "./dist/index.js",
|
|
12
12
|
"types": "./dist/index.d.ts"
|
|
13
|
+
},
|
|
14
|
+
"./v1": {
|
|
15
|
+
"import": "./dist/v1/index.mjs",
|
|
16
|
+
"require": "./dist/v1/index.js",
|
|
17
|
+
"types": "./dist/v1/index.d.ts"
|
|
13
18
|
}
|
|
14
19
|
},
|
|
15
20
|
"scripts": {
|
|
16
|
-
"build": "node ../scripts/generate-skill.mjs --force && tsup src/index.ts --format cjs,esm --dts --clean",
|
|
17
|
-
"dev": "tsup src/index.ts --format cjs,esm --dts --watch",
|
|
21
|
+
"build": "node ../scripts/generate-v1-sdk.mjs --force && node ../scripts/generate-skill.mjs --force && tsup src/index.ts src/v1/index.ts --format cjs,esm --dts --clean",
|
|
22
|
+
"dev": "tsup src/index.ts src/v1/index.ts --format cjs,esm --dts --watch",
|
|
18
23
|
"test": "vitest run",
|
|
19
24
|
"contract:verify": "node ../scripts/verify-contract-compat.mjs",
|
|
20
25
|
"skill:generate": "node ../scripts/generate-skill.mjs",
|
|
21
26
|
"skill:update": "node ../scripts/generate-skill.mjs --force",
|
|
27
|
+
"sdk:generate": "node ../scripts/generate-v1-sdk.mjs",
|
|
28
|
+
"sdk:generate:force": "node ../scripts/generate-v1-sdk.mjs --force",
|
|
29
|
+
"sdk:diff": "node ../scripts/generate-v1-sdk.mjs --dry-run",
|
|
22
30
|
"prepublishOnly": "npm run build"
|
|
23
31
|
},
|
|
24
32
|
"keywords": [
|
|
@@ -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. 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
|
-
generated: 2026-04-
|
|
5
|
-
sdk_version: 1.
|
|
4
|
+
generated: 2026-04-16
|
|
5
|
+
sdk_version: 1.7.4
|
|
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.
|
|
10
|
+
Interact with the RealTimeX platform (`http://localhost:3001`) using `@realtimex/sdk` **v1.7.4**. Authentication is automatic when running inside RealtimeX.
|
|
11
11
|
|
|
12
12
|
`<SKILL_DIR>` below refers to the directory containing this SKILL.md.
|
|
13
13
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# RealTimeX SDK — API Reference
|
|
2
2
|
|
|
3
|
-
> Auto-generated from `@realtimex/sdk` source · v**1.
|
|
3
|
+
> Auto-generated from `@realtimex/sdk` source · v**1.7.4** · 2026-04-16
|
|
4
4
|
|
|
5
5
|
**Package:** `@realtimex/sdk` (CJS) · **Server:** `http://localhost:3001`
|
|
6
6
|
**Developer Mode auth:** `Authorization: Bearer <apiKey>`
|
|
@@ -51,9 +51,10 @@
|
|
|
51
51
|
- `database: DatabaseModule`
|
|
52
52
|
- `auth: AuthModule`
|
|
53
53
|
- `credentials: CredentialsModule`
|
|
54
|
+
- `v1: V1ApiNamespace | undefined`
|
|
54
55
|
|
|
55
56
|
```ts
|
|
56
|
-
//
|
|
57
|
+
// Developer API (v1) — requires apiKey to be set in config.
|
|
57
58
|
async register(permissions?: string[]): void
|
|
58
59
|
|
|
59
60
|
// Get environment variable (works in Node.js and browser)
|
|
@@ -662,3 +663,374 @@ async getPort(): Promise<number>
|
|
|
662
663
|
```
|
|
663
664
|
|
|
664
665
|
---
|
|
666
|
+
|
|
667
|
+
## sdk.v1.acpAuth — v1 Acp Auth
|
|
668
|
+
|
|
669
|
+
### `V1AcpAuthModule`
|
|
670
|
+
|
|
671
|
+
```ts
|
|
672
|
+
// @see GET /v1/acp/auth/profiles
|
|
673
|
+
async listProfiles(): Promise<unknown>
|
|
674
|
+
|
|
675
|
+
// @see POST /v1/acp/auth/profiles
|
|
676
|
+
async createProfile(): Promise<unknown>
|
|
677
|
+
|
|
678
|
+
// @see GET /v1/acp/auth/status
|
|
679
|
+
async getStatus(): Promise<unknown>
|
|
680
|
+
|
|
681
|
+
// @see DELETE /v1/acp/auth/profiles/{id}
|
|
682
|
+
async deleteProfile(id: string): Promise<unknown>
|
|
683
|
+
```
|
|
684
|
+
|
|
685
|
+
---
|
|
686
|
+
|
|
687
|
+
## sdk.v1.acpCommands — v1 Acp Commands
|
|
688
|
+
|
|
689
|
+
### `V1AcpCommandsModule`
|
|
690
|
+
|
|
691
|
+
```ts
|
|
692
|
+
// @see POST /v1/acp/command
|
|
693
|
+
async createCommand(): Promise<unknown>
|
|
694
|
+
|
|
695
|
+
// @see POST /v1/acp/command/permission-decision
|
|
696
|
+
async permissionDecision(): Promise<unknown>
|
|
697
|
+
```
|
|
698
|
+
|
|
699
|
+
---
|
|
700
|
+
|
|
701
|
+
## sdk.v1.admin — v1 Admin
|
|
702
|
+
|
|
703
|
+
### `V1AdminModule`
|
|
704
|
+
|
|
705
|
+
```ts
|
|
706
|
+
// Check to see if the instance is in multi-user-mode first. Methods are disabled until multi user mode is enabled via the UI.
|
|
707
|
+
async getIsMultiUserMode(): Promise<unknown>
|
|
708
|
+
|
|
709
|
+
// Check to see if the instance is in multi-user-mode first. Methods are disabled until multi user mode is enabled via the UI.
|
|
710
|
+
async listUsers(): Promise<unknown>
|
|
711
|
+
|
|
712
|
+
// Create a new user with username and password. Methods are disabled until multi user mode is enabled via the UI.
|
|
713
|
+
async createUser(body?: Record<string, unknown>): Promise<unknown>
|
|
714
|
+
|
|
715
|
+
// Update existing user settings. Methods are disabled until multi user mode is enabled via the UI.
|
|
716
|
+
async updateUser(id: string, body?: Record<string, unknown>): Promise<unknown>
|
|
717
|
+
|
|
718
|
+
// Delete existing user by id. Methods are disabled until multi user mode is enabled via the UI.
|
|
719
|
+
async deleteUser(id: string): Promise<unknown>
|
|
720
|
+
|
|
721
|
+
// List all existing invitations to instance regardless of status. Methods are disabled until multi user mode is enabled via the UI.
|
|
722
|
+
async listInvites(): Promise<unknown>
|
|
723
|
+
|
|
724
|
+
// Create a new invite code for someone to use to register with instance. Methods are disabled until multi user mode is enabled via the UI.
|
|
725
|
+
async createInvite(body?: Record<string, unknown>): Promise<unknown>
|
|
726
|
+
|
|
727
|
+
// Deactivates (soft-delete) invite by id. Methods are disabled until multi user mode is enabled via the UI.
|
|
728
|
+
async deleteInvite(id: string): Promise<unknown>
|
|
729
|
+
|
|
730
|
+
// Retrieve a list of users with permissions to access the specified workspace.
|
|
731
|
+
async listWorkspaceUsers(workspaceId: string): Promise<unknown>
|
|
732
|
+
|
|
733
|
+
// Overwrite workspace permissions to only be accessible by the given user ids and admins. Methods are disabled until multi user mode is enabled via the UI.
|
|
734
|
+
async updateUsers(workspaceId: string, body?: Record<string, unknown>): Promise<unknown>
|
|
735
|
+
|
|
736
|
+
// Set workspace permissions to be accessible by the given user ids and admins. Methods are disabled until multi user mode is enabled via the UI.
|
|
737
|
+
async workspacesManageUsers(workspaceSlug: string, body?: Record<string, unknown>): Promise<unknown>
|
|
738
|
+
|
|
739
|
+
// All chats in the system ordered by most recent. Methods are disabled until multi user mode is enabled via the UI.
|
|
740
|
+
async workspaceChats(body?: Record<string, unknown>): Promise<unknown>
|
|
741
|
+
|
|
742
|
+
// Update multi-user preferences for instance. Methods are disabled until multi user mode is enabled via the UI.
|
|
743
|
+
async createPreference(body?: Record<string, unknown>): Promise<unknown>
|
|
744
|
+
```
|
|
745
|
+
|
|
746
|
+
---
|
|
747
|
+
|
|
748
|
+
## sdk.v1.auth — v1 Auth
|
|
749
|
+
|
|
750
|
+
### `V1AuthModule`
|
|
751
|
+
|
|
752
|
+
```ts
|
|
753
|
+
// Verify the attached Authentication header contains a valid API token.
|
|
754
|
+
async getAuth(): Promise<unknown>
|
|
755
|
+
```
|
|
756
|
+
|
|
757
|
+
---
|
|
758
|
+
|
|
759
|
+
## sdk.v1.credentials — v1 Credentials
|
|
760
|
+
|
|
761
|
+
### `V1CredentialsModule`
|
|
762
|
+
|
|
763
|
+
```ts
|
|
764
|
+
// @see POST /v1/credentials
|
|
765
|
+
async createCredential(): Promise<unknown>
|
|
766
|
+
|
|
767
|
+
// @see GET /v1/credentials
|
|
768
|
+
async listCredentials(): Promise<unknown>
|
|
769
|
+
|
|
770
|
+
// @see GET /v1/credentials/{id}
|
|
771
|
+
async getCredential(id: string): Promise<unknown>
|
|
772
|
+
|
|
773
|
+
// @see PUT /v1/credentials/{id}
|
|
774
|
+
async replaceCredential(id: string): Promise<unknown>
|
|
775
|
+
|
|
776
|
+
// @see DELETE /v1/credentials/{id}
|
|
777
|
+
async deleteCredential(id: string): Promise<unknown>
|
|
778
|
+
|
|
779
|
+
// @see POST /v1/credentials/{id}/restore
|
|
780
|
+
async restore(id: string): Promise<unknown>
|
|
781
|
+
```
|
|
782
|
+
|
|
783
|
+
---
|
|
784
|
+
|
|
785
|
+
## sdk.v1.customThemes — v1 Custom Themes
|
|
786
|
+
|
|
787
|
+
### `V1CustomThemesModule`
|
|
788
|
+
|
|
789
|
+
```ts
|
|
790
|
+
// @see GET /v1/custom-themes
|
|
791
|
+
async listCustomThemes(): Promise<unknown>
|
|
792
|
+
|
|
793
|
+
// @see GET /v1/custom-themes/{id}
|
|
794
|
+
async getCustomTheme(id: string): Promise<unknown>
|
|
795
|
+
|
|
796
|
+
// @see POST /v1/custom-themes/{id}
|
|
797
|
+
async updateCustomTheme(id: string): Promise<unknown>
|
|
798
|
+
|
|
799
|
+
// @see DELETE /v1/custom-themes/{id}
|
|
800
|
+
async deleteCustomTheme(id: string): Promise<unknown>
|
|
801
|
+
|
|
802
|
+
// @see POST /v1/custom-themes/new
|
|
803
|
+
async createCustomTheme(): Promise<unknown>
|
|
804
|
+
```
|
|
805
|
+
|
|
806
|
+
---
|
|
807
|
+
|
|
808
|
+
## sdk.v1.desktopEmbed — v1 Desktop Embed
|
|
809
|
+
|
|
810
|
+
### `V1DesktopEmbedModule`
|
|
811
|
+
|
|
812
|
+
```ts
|
|
813
|
+
// @see GET /v1/desktop-public-embed/status
|
|
814
|
+
async getStatus(): Promise<unknown>
|
|
815
|
+
|
|
816
|
+
// @see POST /v1/desktop-public-embed/exposures
|
|
817
|
+
async createExposure(): Promise<unknown>
|
|
818
|
+
|
|
819
|
+
// @see POST /v1/desktop-public-embed/exposures/{exposureId}/heartbeat
|
|
820
|
+
async exposuresHeartbeat(exposureId: string): Promise<unknown>
|
|
821
|
+
|
|
822
|
+
// @see GET /v1/desktop-public-embed/exposures/{exposureId}
|
|
823
|
+
async getExposure(exposureId: string): Promise<unknown>
|
|
824
|
+
|
|
825
|
+
// @see DELETE /v1/desktop-public-embed/exposures/{exposureId}
|
|
826
|
+
async deleteExposure(exposureId: string): Promise<unknown>
|
|
827
|
+
```
|
|
828
|
+
|
|
829
|
+
---
|
|
830
|
+
|
|
831
|
+
## sdk.v1.document — v1 Document
|
|
832
|
+
|
|
833
|
+
### `V1DocumentModule`
|
|
834
|
+
|
|
835
|
+
```ts
|
|
836
|
+
// Upload a new file to RealTimeX to be parsed and prepared for embedding.
|
|
837
|
+
async uploadLink(body?: Record<string, unknown>): Promise<unknown>
|
|
838
|
+
|
|
839
|
+
// Upload a file by specifying its raw text content and metadata values without having to upload a file.
|
|
840
|
+
async rawText(body?: Record<string, unknown>): Promise<unknown>
|
|
841
|
+
|
|
842
|
+
// List of all locally-stored documents in instance
|
|
843
|
+
async listDocuments(): Promise<unknown>
|
|
844
|
+
|
|
845
|
+
// Get all documents stored in a specific folder.
|
|
846
|
+
async getFolder(folderName: string): Promise<unknown>
|
|
847
|
+
|
|
848
|
+
// Check available filetypes and MIMEs that can be uploaded.
|
|
849
|
+
async listAcceptedFileTypes(): Promise<unknown>
|
|
850
|
+
|
|
851
|
+
// Get the known available metadata schema for when doing a raw-text upload and the acceptable type of value for each key.
|
|
852
|
+
async getMetadataSchema(): Promise<unknown>
|
|
853
|
+
|
|
854
|
+
// Get a single document by its unique RealTimeX document name
|
|
855
|
+
async getDocument(docName: string): Promise<unknown>
|
|
856
|
+
|
|
857
|
+
// Create a new folder inside the documents storage directory.
|
|
858
|
+
async createFolder(body?: Record<string, unknown>): Promise<unknown>
|
|
859
|
+
|
|
860
|
+
// Remove a folder and all its contents from the documents storage directory.
|
|
861
|
+
async deleteRemoveFolder(): Promise<unknown>
|
|
862
|
+
|
|
863
|
+
// Move files within the documents storage directory.
|
|
864
|
+
async moveFiles(body?: Record<string, unknown>): Promise<unknown>
|
|
865
|
+
```
|
|
866
|
+
|
|
867
|
+
---
|
|
868
|
+
|
|
869
|
+
## sdk.v1.embed — v1 Embed
|
|
870
|
+
|
|
871
|
+
### `V1EmbedModule`
|
|
872
|
+
|
|
873
|
+
```ts
|
|
874
|
+
// List all active embeds
|
|
875
|
+
async getEmbed(): Promise<unknown>
|
|
876
|
+
|
|
877
|
+
// Get all chats for a specific embed
|
|
878
|
+
async listChats(embedUuid: string): Promise<unknown>
|
|
879
|
+
|
|
880
|
+
// Get chats for a specific embed and session
|
|
881
|
+
async getChat(embedUuid: string, sessionUuid: string): Promise<unknown>
|
|
882
|
+
|
|
883
|
+
// Create a new embed configuration
|
|
884
|
+
async createEmbed(body?: Record<string, unknown>): Promise<unknown>
|
|
885
|
+
|
|
886
|
+
// Update an existing embed configuration
|
|
887
|
+
async updateEmbed(embedUuid: string, body?: Record<string, unknown>): Promise<unknown>
|
|
888
|
+
|
|
889
|
+
// Delete an existing embed configuration
|
|
890
|
+
async deleteEmbed(embedUuid: string): Promise<unknown>
|
|
891
|
+
```
|
|
892
|
+
|
|
893
|
+
---
|
|
894
|
+
|
|
895
|
+
## sdk.v1.openAI — v1 Open A I
|
|
896
|
+
|
|
897
|
+
### `V1OpenAIModule`
|
|
898
|
+
|
|
899
|
+
```ts
|
|
900
|
+
// Get all available "models" which are workspaces you can use for chatting.
|
|
901
|
+
async listModels(): Promise<unknown>
|
|
902
|
+
|
|
903
|
+
// Execute a chat with a workspace with OpenAI compatibility. Supports streaming as well. Model must be a workspace slug from /models.
|
|
904
|
+
async chatCompletions(body?: Record<string, unknown>): Promise<unknown>
|
|
905
|
+
|
|
906
|
+
// Get the embeddings of any arbitrary text string. This will use the embedder provider set in the system. Please ensure the token length of each string fits within the context of your embedder model.
|
|
907
|
+
async createEmbedding(body?: Record<string, unknown>): Promise<unknown>
|
|
908
|
+
|
|
909
|
+
// List all the vector database collections connected to RealTimeX. These are essentially workspaces but return their unique vector db identifier - this is the same as the workspace slug.
|
|
910
|
+
async listVectorStores(): Promise<unknown>
|
|
911
|
+
```
|
|
912
|
+
|
|
913
|
+
---
|
|
914
|
+
|
|
915
|
+
## sdk.v1.sttApi — v1 Stt Api
|
|
916
|
+
|
|
917
|
+
### `V1SttApiModule`
|
|
918
|
+
|
|
919
|
+
```ts
|
|
920
|
+
// @see POST /v1/stt/groq/transcribe
|
|
921
|
+
async groqTranscribe(body?: Record<string, unknown>): Promise<unknown>
|
|
922
|
+
```
|
|
923
|
+
|
|
924
|
+
---
|
|
925
|
+
|
|
926
|
+
## sdk.v1.system — v1 System
|
|
927
|
+
|
|
928
|
+
### `V1SystemModule`
|
|
929
|
+
|
|
930
|
+
```ts
|
|
931
|
+
// Dump all settings to file storage
|
|
932
|
+
async getEnvDump(): Promise<unknown>
|
|
933
|
+
|
|
934
|
+
// Get all current system settings that are defined.
|
|
935
|
+
async getSystem(): Promise<unknown>
|
|
936
|
+
|
|
937
|
+
// Number of all vectors in connected vector database
|
|
938
|
+
async getVectorCount(): Promise<unknown>
|
|
939
|
+
|
|
940
|
+
// Update a system setting or preference.
|
|
941
|
+
async updateEnv(body?: Record<string, unknown>): Promise<unknown>
|
|
942
|
+
|
|
943
|
+
// Export all of the chats from the system in a known format. Output depends on the type sent. Will be send with the correct header for the output.
|
|
944
|
+
async listExportChats(): Promise<unknown>
|
|
945
|
+
|
|
946
|
+
// Permanently remove documents from the system.
|
|
947
|
+
async deleteRemoveDocument(): Promise<unknown>
|
|
948
|
+
|
|
949
|
+
// Returns a health check object with server uptime and version.
|
|
950
|
+
async getHealth(): Promise<unknown>
|
|
951
|
+
|
|
952
|
+
// Returns a health check object with server uptime and version.
|
|
953
|
+
async getHealthVersion2(): Promise<unknown>
|
|
954
|
+
|
|
955
|
+
// Returns a health check object with server uptime and version.
|
|
956
|
+
async getHealthVersion3(): Promise<unknown>
|
|
957
|
+
```
|
|
958
|
+
|
|
959
|
+
---
|
|
960
|
+
|
|
961
|
+
## sdk.v1.thread — v1 Thread
|
|
962
|
+
|
|
963
|
+
### `V1ThreadModule`
|
|
964
|
+
|
|
965
|
+
```ts
|
|
966
|
+
// Create a new workspace thread
|
|
967
|
+
async createThread(slug: string, body?: Record<string, unknown>): Promise<unknown>
|
|
968
|
+
|
|
969
|
+
// Update thread settings by its unique slug.
|
|
970
|
+
async updateThread(slug: string, threadSlug: string, body?: Record<string, unknown>): Promise<unknown>
|
|
971
|
+
|
|
972
|
+
// Delete a workspace thread
|
|
973
|
+
async deleteThread(slug: string, threadSlug: string): Promise<unknown>
|
|
974
|
+
|
|
975
|
+
// Get chats for a workspace thread
|
|
976
|
+
async listChats(slug: string, threadSlug: string): Promise<unknown>
|
|
977
|
+
|
|
978
|
+
// Chat with a workspace thread
|
|
979
|
+
async chat(slug: string, threadSlug: string, body?: Record<string, unknown>): Promise<unknown>
|
|
980
|
+
|
|
981
|
+
async streamChat(slug: string, threadSlug: string, body?: Record<string, unknown>): Promise<Response>
|
|
982
|
+
```
|
|
983
|
+
|
|
984
|
+
---
|
|
985
|
+
|
|
986
|
+
## sdk.v1.users — v1 Users
|
|
987
|
+
|
|
988
|
+
### `V1UsersModule`
|
|
989
|
+
|
|
990
|
+
```ts
|
|
991
|
+
// List all users
|
|
992
|
+
async listUsers(): Promise<unknown>
|
|
993
|
+
|
|
994
|
+
// Issue a temporary auth token for a user
|
|
995
|
+
async getIssueAuthToken(id: string): Promise<unknown>
|
|
996
|
+
```
|
|
997
|
+
|
|
998
|
+
---
|
|
999
|
+
|
|
1000
|
+
## sdk.v1.workspace — v1 Workspace
|
|
1001
|
+
|
|
1002
|
+
### `V1WorkspaceModule`
|
|
1003
|
+
|
|
1004
|
+
```ts
|
|
1005
|
+
// Create a new workspace
|
|
1006
|
+
async createWorkspace(body?: Record<string, unknown>): Promise<unknown>
|
|
1007
|
+
|
|
1008
|
+
// List all current workspaces
|
|
1009
|
+
async listWorkspaces(): Promise<unknown>
|
|
1010
|
+
|
|
1011
|
+
// Get a workspace by its unique slug.
|
|
1012
|
+
async getWorkspace(slug: string): Promise<unknown>
|
|
1013
|
+
|
|
1014
|
+
// Deletes a workspace by its slug.
|
|
1015
|
+
async deleteWorkspace(slug: string): Promise<unknown>
|
|
1016
|
+
|
|
1017
|
+
// Update workspace settings by its unique slug.
|
|
1018
|
+
async updateWorkspace(slug: string, body?: Record<string, unknown>): Promise<unknown>
|
|
1019
|
+
|
|
1020
|
+
// Get a workspaces chats regardless of user by its unique slug.
|
|
1021
|
+
async listChats(slug: string): Promise<unknown>
|
|
1022
|
+
|
|
1023
|
+
// Add or remove documents from a workspace by its unique slug.
|
|
1024
|
+
async updateEmbeddings(slug: string, body?: Record<string, unknown>): Promise<unknown>
|
|
1025
|
+
|
|
1026
|
+
// Add or remove pin from a document in a workspace by its unique slug.
|
|
1027
|
+
async updatePin(slug: string, body?: Record<string, unknown>): Promise<unknown>
|
|
1028
|
+
|
|
1029
|
+
// Execute a chat with a workspace
|
|
1030
|
+
async chat(slug: string, body?: Record<string, unknown>): Promise<unknown>
|
|
1031
|
+
|
|
1032
|
+
// Execute a streamable chat with a workspace
|
|
1033
|
+
async vectorSearch(slug: string, body?: Record<string, unknown>): Promise<unknown>
|
|
1034
|
+
```
|
|
1035
|
+
|
|
1036
|
+
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Known Issues — Source-Detected
|
|
2
2
|
|
|
3
|
-
> Auto-generated by `scripts/generate-skill.mjs` · SDK **1.
|
|
3
|
+
> Auto-generated by `scripts/generate-skill.mjs` · SDK **1.7.4** · 2026-04-16
|
|
4
4
|
|
|
5
5
|
Run `node scripts/generate-skill.mjs --force` after SDK source changes to refresh.
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* 2. ~/.realtimex.ai/.sdk-app-id file (written by RealtimeX server)
|
|
9
9
|
* 3. RTX_APP_ID in process.env (injected by RealtimeX for local apps)
|
|
10
10
|
* 4. RTX_API_KEY in process.env (standalone dev)
|
|
11
|
-
* 5.
|
|
11
|
+
* 5. RTX_API_KEY in <envDir>/.env (standalone dev)
|
|
12
12
|
* 6. Interactive readline prompt (fallback)
|
|
13
13
|
*/
|
|
14
14
|
|