@rool-dev/sdk 0.1.0
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/README.md +1070 -0
- package/dist/apps.d.ts +29 -0
- package/dist/apps.d.ts.map +1 -0
- package/dist/apps.js +88 -0
- package/dist/apps.js.map +1 -0
- package/dist/auth-browser.d.ts +80 -0
- package/dist/auth-browser.d.ts.map +1 -0
- package/dist/auth-browser.js +370 -0
- package/dist/auth-browser.js.map +1 -0
- package/dist/auth-node.d.ts +46 -0
- package/dist/auth-node.d.ts.map +1 -0
- package/dist/auth-node.js +316 -0
- package/dist/auth-node.js.map +1 -0
- package/dist/auth.d.ts +56 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +96 -0
- package/dist/auth.js.map +1 -0
- package/dist/client.d.ts +202 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +472 -0
- package/dist/client.js.map +1 -0
- package/dist/event-emitter.d.ts +38 -0
- package/dist/event-emitter.d.ts.map +1 -0
- package/dist/event-emitter.js +80 -0
- package/dist/event-emitter.js.map +1 -0
- package/dist/graphql.d.ts +71 -0
- package/dist/graphql.d.ts.map +1 -0
- package/dist/graphql.js +487 -0
- package/dist/graphql.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/jsonld.d.ts +47 -0
- package/dist/jsonld.d.ts.map +1 -0
- package/dist/jsonld.js +137 -0
- package/dist/jsonld.js.map +1 -0
- package/dist/media.d.ts +52 -0
- package/dist/media.d.ts.map +1 -0
- package/dist/media.js +173 -0
- package/dist/media.js.map +1 -0
- package/dist/space.d.ts +358 -0
- package/dist/space.d.ts.map +1 -0
- package/dist/space.js +1121 -0
- package/dist/space.js.map +1 -0
- package/dist/subscription.d.ts +57 -0
- package/dist/subscription.d.ts.map +1 -0
- package/dist/subscription.js +296 -0
- package/dist/subscription.js.map +1 -0
- package/dist/types.d.ts +409 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/package.json +65 -0
package/dist/graphql.js
ADDED
|
@@ -0,0 +1,487 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// GraphQL Client
|
|
3
|
+
// Handles all GraphQL queries and mutations for the Rool API
|
|
4
|
+
// =============================================================================
|
|
5
|
+
import { gzipSync } from 'fflate';
|
|
6
|
+
const COMPRESSION_THRESHOLD = 2048; // Compress payloads > 2KB
|
|
7
|
+
/** Get the client's IANA timezone (e.g., "America/New_York") */
|
|
8
|
+
function getTimezone() {
|
|
9
|
+
try {
|
|
10
|
+
return Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export class GraphQLClient {
|
|
17
|
+
config;
|
|
18
|
+
constructor(config) {
|
|
19
|
+
this.config = config;
|
|
20
|
+
}
|
|
21
|
+
get graphqlUrl() {
|
|
22
|
+
return this.config.graphqlUrl;
|
|
23
|
+
}
|
|
24
|
+
async listSpaces() {
|
|
25
|
+
const query = `
|
|
26
|
+
query ListSpaces {
|
|
27
|
+
listSpaces {
|
|
28
|
+
id
|
|
29
|
+
name
|
|
30
|
+
role
|
|
31
|
+
ownerId
|
|
32
|
+
size
|
|
33
|
+
createdAt
|
|
34
|
+
updatedAt
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
`;
|
|
38
|
+
const response = await this.request(query);
|
|
39
|
+
return response.listSpaces;
|
|
40
|
+
}
|
|
41
|
+
async getSpace(spaceId) {
|
|
42
|
+
const query = `
|
|
43
|
+
query GetSpace($id: String!) {
|
|
44
|
+
getSpace(id: $id) {
|
|
45
|
+
data
|
|
46
|
+
name
|
|
47
|
+
role
|
|
48
|
+
userId
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
`;
|
|
52
|
+
const response = await this.request(query, { id: spaceId });
|
|
53
|
+
return {
|
|
54
|
+
data: JSON.parse(response.getSpace.data),
|
|
55
|
+
name: response.getSpace.name,
|
|
56
|
+
role: response.getSpace.role,
|
|
57
|
+
userId: response.getSpace.userId,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
// ===========================================================================
|
|
61
|
+
// Space Lifecycle Operations (called from RoolClient)
|
|
62
|
+
// These use a placeholder conversationId since client events aren't filtered
|
|
63
|
+
// ===========================================================================
|
|
64
|
+
async createSpace(spaceId, name, conversationId) {
|
|
65
|
+
const mutation = `
|
|
66
|
+
mutation CreateSpace($id: String!, $name: String!, $conversationId: String!) {
|
|
67
|
+
createSpace(id: $id, name: $name, conversationId: $conversationId)
|
|
68
|
+
}
|
|
69
|
+
`;
|
|
70
|
+
await this.request(mutation, {
|
|
71
|
+
id: spaceId,
|
|
72
|
+
name,
|
|
73
|
+
conversationId,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
async deleteSpace(spaceId, conversationId) {
|
|
77
|
+
const mutation = `
|
|
78
|
+
mutation DeleteSpace($id: String!, $conversationId: String!) {
|
|
79
|
+
deleteSpace(id: $id, conversationId: $conversationId)
|
|
80
|
+
}
|
|
81
|
+
`;
|
|
82
|
+
await this.request(mutation, {
|
|
83
|
+
id: spaceId,
|
|
84
|
+
conversationId,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
async renameSpace(spaceId, name, conversationId) {
|
|
88
|
+
const mutation = `
|
|
89
|
+
mutation RenameSpace($id: String!, $name: String!, $conversationId: String!) {
|
|
90
|
+
renameSpace(id: $id, name: $name, conversationId: $conversationId)
|
|
91
|
+
}
|
|
92
|
+
`;
|
|
93
|
+
await this.request(mutation, {
|
|
94
|
+
id: spaceId,
|
|
95
|
+
name,
|
|
96
|
+
conversationId,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
// ===========================================================================
|
|
100
|
+
// Space Content Operations (called from RoolSpace)
|
|
101
|
+
// These require conversationId for AI context
|
|
102
|
+
// ===========================================================================
|
|
103
|
+
async setSpaceMeta(spaceId, meta, conversationId) {
|
|
104
|
+
const mutation = `
|
|
105
|
+
mutation SetSpaceMeta($id: String!, $meta: String!, $conversationId: String!) {
|
|
106
|
+
setSpaceMeta(id: $id, meta: $meta, conversationId: $conversationId)
|
|
107
|
+
}
|
|
108
|
+
`;
|
|
109
|
+
await this.request(mutation, {
|
|
110
|
+
id: spaceId,
|
|
111
|
+
meta: JSON.stringify(meta),
|
|
112
|
+
conversationId,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
async link(spaceId, source, relation, target, conversationId) {
|
|
116
|
+
const mutation = `
|
|
117
|
+
mutation Link($spaceId: String!, $source: String!, $relation: String!, $target: String!, $conversationId: String!) {
|
|
118
|
+
link(spaceId: $spaceId, source: $source, relation: $relation, target: $target, conversationId: $conversationId)
|
|
119
|
+
}
|
|
120
|
+
`;
|
|
121
|
+
await this.request(mutation, {
|
|
122
|
+
spaceId,
|
|
123
|
+
source,
|
|
124
|
+
relation,
|
|
125
|
+
target,
|
|
126
|
+
conversationId,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
async unlink(spaceId, source, relation, target, conversationId) {
|
|
130
|
+
const mutation = `
|
|
131
|
+
mutation Unlink($spaceId: String!, $source: String!, $relation: String, $target: String, $conversationId: String!) {
|
|
132
|
+
unlink(spaceId: $spaceId, source: $source, relation: $relation, target: $target, conversationId: $conversationId)
|
|
133
|
+
}
|
|
134
|
+
`;
|
|
135
|
+
await this.request(mutation, {
|
|
136
|
+
spaceId,
|
|
137
|
+
source,
|
|
138
|
+
relation: relation ?? null,
|
|
139
|
+
target: target ?? null,
|
|
140
|
+
conversationId,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
async deleteObjects(spaceId, ids, conversationId) {
|
|
144
|
+
const mutation = `
|
|
145
|
+
mutation DeleteObjects($spaceId: String!, $ids: [String!]!, $conversationId: String!) {
|
|
146
|
+
deleteObjects(spaceId: $spaceId, ids: $ids, conversationId: $conversationId)
|
|
147
|
+
}
|
|
148
|
+
`;
|
|
149
|
+
await this.request(mutation, {
|
|
150
|
+
spaceId,
|
|
151
|
+
ids,
|
|
152
|
+
conversationId,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
async deleteConversation(spaceId, conversationId) {
|
|
156
|
+
const mutation = `
|
|
157
|
+
mutation DeleteConversation($spaceId: String!, $conversationId: String!) {
|
|
158
|
+
deleteConversation(spaceId: $spaceId, conversationId: $conversationId)
|
|
159
|
+
}
|
|
160
|
+
`;
|
|
161
|
+
await this.request(mutation, {
|
|
162
|
+
spaceId,
|
|
163
|
+
conversationId,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
async renameConversation(spaceId, conversationId, name) {
|
|
167
|
+
const mutation = `
|
|
168
|
+
mutation RenameConversation($spaceId: String!, $conversationId: String!, $name: String!) {
|
|
169
|
+
renameConversation(spaceId: $spaceId, conversationId: $conversationId, name: $name)
|
|
170
|
+
}
|
|
171
|
+
`;
|
|
172
|
+
await this.request(mutation, {
|
|
173
|
+
spaceId,
|
|
174
|
+
conversationId,
|
|
175
|
+
name,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
async listConversations(spaceId) {
|
|
179
|
+
const query = `
|
|
180
|
+
query ListConversations($spaceId: String!) {
|
|
181
|
+
listConversations(spaceId: $spaceId) {
|
|
182
|
+
id
|
|
183
|
+
name
|
|
184
|
+
createdAt
|
|
185
|
+
interactionCount
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
`;
|
|
189
|
+
const result = await this.request(query, {
|
|
190
|
+
spaceId,
|
|
191
|
+
});
|
|
192
|
+
return result.listConversations;
|
|
193
|
+
}
|
|
194
|
+
// ===========================================================================
|
|
195
|
+
// Checkpoint / Undo / Redo Operations
|
|
196
|
+
// ===========================================================================
|
|
197
|
+
async checkpoint(spaceId, label, conversationId) {
|
|
198
|
+
const mutation = `
|
|
199
|
+
mutation Checkpoint($spaceId: String!, $label: String, $conversationId: String!) {
|
|
200
|
+
checkpoint(spaceId: $spaceId, label: $label, conversationId: $conversationId) {
|
|
201
|
+
checkpointId
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
`;
|
|
205
|
+
const result = await this.request(mutation, {
|
|
206
|
+
spaceId,
|
|
207
|
+
label,
|
|
208
|
+
conversationId,
|
|
209
|
+
});
|
|
210
|
+
return result.checkpoint;
|
|
211
|
+
}
|
|
212
|
+
async undo(spaceId, conversationId) {
|
|
213
|
+
const mutation = `
|
|
214
|
+
mutation Undo($spaceId: String!, $conversationId: String!) {
|
|
215
|
+
undo(spaceId: $spaceId, conversationId: $conversationId) {
|
|
216
|
+
success
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
`;
|
|
220
|
+
const result = await this.request(mutation, {
|
|
221
|
+
spaceId,
|
|
222
|
+
conversationId,
|
|
223
|
+
});
|
|
224
|
+
return result.undo;
|
|
225
|
+
}
|
|
226
|
+
async redo(spaceId, conversationId) {
|
|
227
|
+
const mutation = `
|
|
228
|
+
mutation Redo($spaceId: String!, $conversationId: String!) {
|
|
229
|
+
redo(spaceId: $spaceId, conversationId: $conversationId) {
|
|
230
|
+
success
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
`;
|
|
234
|
+
const result = await this.request(mutation, {
|
|
235
|
+
spaceId,
|
|
236
|
+
conversationId,
|
|
237
|
+
});
|
|
238
|
+
return result.redo;
|
|
239
|
+
}
|
|
240
|
+
async checkpointStatus(spaceId, conversationId) {
|
|
241
|
+
const query = `
|
|
242
|
+
query CheckpointStatus($spaceId: String!, $conversationId: String!) {
|
|
243
|
+
checkpointStatus(spaceId: $spaceId, conversationId: $conversationId) {
|
|
244
|
+
canUndo
|
|
245
|
+
canRedo
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
`;
|
|
249
|
+
const result = await this.request(query, {
|
|
250
|
+
spaceId,
|
|
251
|
+
conversationId,
|
|
252
|
+
});
|
|
253
|
+
return result.checkpointStatus;
|
|
254
|
+
}
|
|
255
|
+
async clearCheckpointHistory(spaceId, conversationId) {
|
|
256
|
+
const mutation = `
|
|
257
|
+
mutation ClearCheckpointHistory($spaceId: String!, $conversationId: String!) {
|
|
258
|
+
clearCheckpointHistory(spaceId: $spaceId, conversationId: $conversationId)
|
|
259
|
+
}
|
|
260
|
+
`;
|
|
261
|
+
await this.request(mutation, {
|
|
262
|
+
spaceId,
|
|
263
|
+
conversationId,
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
async createObject(spaceId, data, conversationId, prompt, ephemeral) {
|
|
267
|
+
const mutation = `
|
|
268
|
+
mutation CreateObject($spaceId: String!, $data: String!, $prompt: String, $conversationId: String!, $ephemeral: Boolean) {
|
|
269
|
+
createObject(spaceId: $spaceId, data: $data, prompt: $prompt, conversationId: $conversationId, ephemeral: $ephemeral)
|
|
270
|
+
}
|
|
271
|
+
`;
|
|
272
|
+
const result = await this.request(mutation, {
|
|
273
|
+
spaceId,
|
|
274
|
+
data: JSON.stringify(data),
|
|
275
|
+
prompt,
|
|
276
|
+
conversationId,
|
|
277
|
+
ephemeral,
|
|
278
|
+
});
|
|
279
|
+
return result.createObject;
|
|
280
|
+
}
|
|
281
|
+
async updateObject(spaceId, id, conversationId, data, prompt, ephemeral) {
|
|
282
|
+
const mutation = `
|
|
283
|
+
mutation UpdateObject($spaceId: String!, $id: String!, $data: String, $prompt: String, $conversationId: String!, $ephemeral: Boolean) {
|
|
284
|
+
updateObject(spaceId: $spaceId, id: $id, data: $data, prompt: $prompt, conversationId: $conversationId, ephemeral: $ephemeral)
|
|
285
|
+
}
|
|
286
|
+
`;
|
|
287
|
+
const result = await this.request(mutation, {
|
|
288
|
+
spaceId,
|
|
289
|
+
id,
|
|
290
|
+
data: data ? JSON.stringify(data) : undefined,
|
|
291
|
+
prompt,
|
|
292
|
+
conversationId,
|
|
293
|
+
ephemeral,
|
|
294
|
+
});
|
|
295
|
+
return result.updateObject;
|
|
296
|
+
}
|
|
297
|
+
async findObjects(spaceId, options, conversationId) {
|
|
298
|
+
const query = `
|
|
299
|
+
query FindObjects($spaceId: String!, $where: String, $prompt: String, $limit: Int, $objectIds: [String!], $order: String, $conversationId: String!, $ephemeral: Boolean) {
|
|
300
|
+
findObjects(spaceId: $spaceId, where: $where, prompt: $prompt, limit: $limit, objectIds: $objectIds, order: $order, conversationId: $conversationId, ephemeral: $ephemeral) {
|
|
301
|
+
objects
|
|
302
|
+
message
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
`;
|
|
306
|
+
const result = await this.request(query, {
|
|
307
|
+
spaceId,
|
|
308
|
+
where: options.where ? JSON.stringify(options.where) : undefined,
|
|
309
|
+
prompt: options.prompt,
|
|
310
|
+
limit: options.limit,
|
|
311
|
+
objectIds: options.objectIds ?? [],
|
|
312
|
+
order: options.order,
|
|
313
|
+
conversationId,
|
|
314
|
+
ephemeral: options.ephemeral,
|
|
315
|
+
});
|
|
316
|
+
return {
|
|
317
|
+
objects: JSON.parse(result.findObjects.objects),
|
|
318
|
+
message: result.findObjects.message,
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
// ===========================================================================
|
|
322
|
+
// AI Operations
|
|
323
|
+
// ===========================================================================
|
|
324
|
+
async prompt(spaceId, prompt, conversationId, options = {}) {
|
|
325
|
+
const mutation = `
|
|
326
|
+
mutation Prompt($spaceId: String!, $prompt: String!, $objectIds: [String!], $responseSchema: JSON, $conversationId: String!, $effort: PromptEffort, $ephemeral: Boolean, $readOnly: Boolean) {
|
|
327
|
+
prompt(spaceId: $spaceId, prompt: $prompt, objectIds: $objectIds, responseSchema: $responseSchema, conversationId: $conversationId, effort: $effort, ephemeral: $ephemeral, readOnly: $readOnly) {
|
|
328
|
+
message
|
|
329
|
+
modifiedObjectIds
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
`;
|
|
333
|
+
const response = await this.request(mutation, {
|
|
334
|
+
spaceId,
|
|
335
|
+
prompt,
|
|
336
|
+
objectIds: options.objectIds ?? [],
|
|
337
|
+
responseSchema: options.responseSchema,
|
|
338
|
+
conversationId,
|
|
339
|
+
effort: options.effort,
|
|
340
|
+
ephemeral: options.ephemeral,
|
|
341
|
+
readOnly: options.readOnly,
|
|
342
|
+
});
|
|
343
|
+
return response.prompt;
|
|
344
|
+
}
|
|
345
|
+
// ===========================================================================
|
|
346
|
+
// User / Collaboration Operations
|
|
347
|
+
// ===========================================================================
|
|
348
|
+
async getAccount() {
|
|
349
|
+
const query = `
|
|
350
|
+
query GetAccount {
|
|
351
|
+
getAccount {
|
|
352
|
+
id
|
|
353
|
+
email
|
|
354
|
+
name
|
|
355
|
+
slug
|
|
356
|
+
plan
|
|
357
|
+
creditsBalance
|
|
358
|
+
createdAt
|
|
359
|
+
lastActivity
|
|
360
|
+
processedAt
|
|
361
|
+
storage
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
`;
|
|
365
|
+
const response = await this.request(query);
|
|
366
|
+
return response.getAccount;
|
|
367
|
+
}
|
|
368
|
+
async setSlug(slug) {
|
|
369
|
+
const mutation = `
|
|
370
|
+
mutation SetSlug($slug: String!) {
|
|
371
|
+
setSlug(slug: $slug)
|
|
372
|
+
}
|
|
373
|
+
`;
|
|
374
|
+
await this.request(mutation, { slug });
|
|
375
|
+
}
|
|
376
|
+
async setUserStorage(key, value) {
|
|
377
|
+
const mutation = `
|
|
378
|
+
mutation SetUserStorage($key: String!, $value: JSON) {
|
|
379
|
+
setUserStorage(key: $key, value: $value)
|
|
380
|
+
}
|
|
381
|
+
`;
|
|
382
|
+
await this.request(mutation, { key, value: value ?? null });
|
|
383
|
+
}
|
|
384
|
+
async searchUser(email) {
|
|
385
|
+
const query = `
|
|
386
|
+
query SearchUser($email: String!) {
|
|
387
|
+
searchUser(email: $email) {
|
|
388
|
+
id
|
|
389
|
+
email
|
|
390
|
+
name
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
`;
|
|
394
|
+
try {
|
|
395
|
+
const response = await this.request(query, { email });
|
|
396
|
+
return response.searchUser;
|
|
397
|
+
}
|
|
398
|
+
catch {
|
|
399
|
+
return null;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
async listSpaceUsers(spaceId) {
|
|
403
|
+
const query = `
|
|
404
|
+
query ListSpaceUsers($spaceId: String!) {
|
|
405
|
+
listSpaceUsers(spaceId: $spaceId) {
|
|
406
|
+
id
|
|
407
|
+
email
|
|
408
|
+
role
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
`;
|
|
412
|
+
const response = await this.request(query, { spaceId });
|
|
413
|
+
return response.listSpaceUsers;
|
|
414
|
+
}
|
|
415
|
+
async addSpaceUser(spaceId, userId, role) {
|
|
416
|
+
const mutation = `
|
|
417
|
+
mutation AddSpaceUser($spaceId: String!, $userId: String!, $role: String!) {
|
|
418
|
+
addSpaceUser(spaceId: $spaceId, userId: $userId, role: $role)
|
|
419
|
+
}
|
|
420
|
+
`;
|
|
421
|
+
await this.request(mutation, { spaceId, userId, role });
|
|
422
|
+
}
|
|
423
|
+
async removeSpaceUser(spaceId, userId) {
|
|
424
|
+
const mutation = `
|
|
425
|
+
mutation RemoveSpaceUser($spaceId: String!, $userId: String!) {
|
|
426
|
+
removeSpaceUser(spaceId: $spaceId, userId: $userId)
|
|
427
|
+
}
|
|
428
|
+
`;
|
|
429
|
+
await this.request(mutation, { spaceId, userId });
|
|
430
|
+
}
|
|
431
|
+
// ===========================================================================
|
|
432
|
+
// Generic Query (escape hatch for app-specific queries)
|
|
433
|
+
// ===========================================================================
|
|
434
|
+
/**
|
|
435
|
+
* Execute an arbitrary GraphQL query or mutation.
|
|
436
|
+
* Use this for app-specific operations not covered by the typed methods.
|
|
437
|
+
*/
|
|
438
|
+
async query(query, variables) {
|
|
439
|
+
return this.request(query, variables);
|
|
440
|
+
}
|
|
441
|
+
// ===========================================================================
|
|
442
|
+
// Private Methods
|
|
443
|
+
// ===========================================================================
|
|
444
|
+
async request(query, variables) {
|
|
445
|
+
const token = await this.config.authManager.getToken();
|
|
446
|
+
if (!token) {
|
|
447
|
+
throw new Error('Not authenticated');
|
|
448
|
+
}
|
|
449
|
+
const body = JSON.stringify({ query, variables });
|
|
450
|
+
const headers = {
|
|
451
|
+
'Content-Type': 'application/json',
|
|
452
|
+
Authorization: `Bearer ${token}`,
|
|
453
|
+
};
|
|
454
|
+
const timezone = getTimezone();
|
|
455
|
+
if (timezone) {
|
|
456
|
+
headers['X-Timezone'] = timezone;
|
|
457
|
+
}
|
|
458
|
+
let fetchBody = body;
|
|
459
|
+
// Compress large payloads
|
|
460
|
+
if (body.length > COMPRESSION_THRESHOLD) {
|
|
461
|
+
const gzipped = gzipSync(new TextEncoder().encode(body));
|
|
462
|
+
headers['Content-Encoding'] = 'gzip';
|
|
463
|
+
// Convert to ArrayBuffer for fetch compatibility
|
|
464
|
+
fetchBody = gzipped.buffer.slice(gzipped.byteOffset, gzipped.byteOffset + gzipped.byteLength);
|
|
465
|
+
}
|
|
466
|
+
const response = await fetch(this.graphqlUrl, {
|
|
467
|
+
method: 'POST',
|
|
468
|
+
headers,
|
|
469
|
+
body: fetchBody,
|
|
470
|
+
});
|
|
471
|
+
if (!response.ok) {
|
|
472
|
+
throw new Error(`GraphQL request failed: ${response.status} ${response.statusText}`);
|
|
473
|
+
}
|
|
474
|
+
const result = await response.json();
|
|
475
|
+
if (result.errors && result.errors.length > 0) {
|
|
476
|
+
const error = result.errors[0];
|
|
477
|
+
const err = new Error(error.message);
|
|
478
|
+
err.extensions = error.extensions;
|
|
479
|
+
throw err;
|
|
480
|
+
}
|
|
481
|
+
if (!result.data) {
|
|
482
|
+
throw new Error('GraphQL response missing data');
|
|
483
|
+
}
|
|
484
|
+
return result.data;
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
//# sourceMappingURL=graphql.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../src/graphql.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { RoolClient } from './client.js';
|
|
2
|
+
export { RoolSpace, generateEntityId } from './space.js';
|
|
3
|
+
export { EventEmitter } from './event-emitter.js';
|
|
4
|
+
export type { JsonLdDocument, JsonLdNode } from './jsonld.js';
|
|
5
|
+
export type { RoolObject, RoolObjectEntry, RoolObjectStat, RoolSpaceData, RoolSpaceInfo, JSONPatchOp, ClientEvent, ClientEventType, SpaceEvent, SpaceEventType, RoolEventSource, SpaceMember, RoolUserRole, UserResult, CurrentUser, AuthUser, MediaInfo, MediaResponse, PublishAppOptions, PublishedAppInfo, PromptOptions, FindObjectsOptions, ConnectionState, SpaceEvents, ObjectCreatedEvent, ObjectUpdatedEvent, ObjectDeletedEvent, LinkedEvent, UnlinkedEvent, MetadataUpdatedEvent, ConversationUpdatedEvent, SpaceResetEvent, Conversation, ConversationInfo, Interaction, RoolClientConfig, RoolClientEvents, AuthTokens, AuthProvider, } from './types.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9D,YAAY,EAEV,UAAU,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACb,aAAa,EACb,WAAW,EAGX,WAAW,EACX,eAAe,EACf,UAAU,EACV,cAAc,EACd,eAAe,EAGf,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,QAAQ,EAGR,SAAS,EACT,aAAa,EAGb,iBAAiB,EACjB,gBAAgB,EAGhB,aAAa,EACb,kBAAkB,EAGlB,eAAe,EAGf,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EAGf,YAAY,EACZ,gBAAgB,EAChB,WAAW,EAGX,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,YAAY,GACb,MAAM,YAAY,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// Rool Client
|
|
3
|
+
// Generic TypeScript client library for the Rool server API
|
|
4
|
+
// =============================================================================
|
|
5
|
+
// Main client
|
|
6
|
+
export { RoolClient } from './client.js';
|
|
7
|
+
// Space class
|
|
8
|
+
export { RoolSpace, generateEntityId } from './space.js';
|
|
9
|
+
// Event emitter (for extending)
|
|
10
|
+
export { EventEmitter } from './event-emitter.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,cAAc;AACd,4DAA4D;AAC5D,gFAAgF;AAEhF,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,cAAc;AACd,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEzD,gCAAgC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/jsonld.d.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { RoolSpaceData } from './types.js';
|
|
2
|
+
export interface JsonLdDocument {
|
|
3
|
+
'@context': {
|
|
4
|
+
'@vocab': string;
|
|
5
|
+
id: string;
|
|
6
|
+
};
|
|
7
|
+
'@graph': JsonLdNode[];
|
|
8
|
+
}
|
|
9
|
+
export interface JsonLdNode {
|
|
10
|
+
id: string;
|
|
11
|
+
[key: string]: unknown;
|
|
12
|
+
}
|
|
13
|
+
export interface ParsedImport {
|
|
14
|
+
objects: Array<{
|
|
15
|
+
id: string;
|
|
16
|
+
data: Record<string, unknown>;
|
|
17
|
+
relations: Array<{
|
|
18
|
+
relation: string;
|
|
19
|
+
targetId: string;
|
|
20
|
+
}>;
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Convert space data to JSON-LD format.
|
|
25
|
+
* Filters out orphan links (links to non-existent objects) to ensure clean exports.
|
|
26
|
+
*/
|
|
27
|
+
export declare function toJsonLd(data: RoolSpaceData): JsonLdDocument;
|
|
28
|
+
/**
|
|
29
|
+
* Parse JSON-LD into objects and relations for import.
|
|
30
|
+
*
|
|
31
|
+
* Uses two-pass parsing to distinguish relations from data:
|
|
32
|
+
* - First pass: collect all object IDs in the graph
|
|
33
|
+
* - Second pass: string arrays where ALL values are valid object IDs are treated as relations;
|
|
34
|
+
* otherwise they are treated as data fields
|
|
35
|
+
*/
|
|
36
|
+
export declare function fromJsonLd(jsonld: unknown): ParsedImport;
|
|
37
|
+
/**
|
|
38
|
+
* Recursively find all string values in a JSON-LD document.
|
|
39
|
+
* Used to detect media URLs for archive export.
|
|
40
|
+
*/
|
|
41
|
+
export declare function findAllStrings(doc: JsonLdDocument): Set<string>;
|
|
42
|
+
/**
|
|
43
|
+
* Rewrite string values in a JSON-LD document using a mapping.
|
|
44
|
+
* Returns a new document (does not mutate the original).
|
|
45
|
+
*/
|
|
46
|
+
export declare function rewriteStrings(doc: JsonLdDocument, mapping: Map<string, string>): JsonLdDocument;
|
|
47
|
+
//# sourceMappingURL=jsonld.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonld.d.ts","sourceRoot":"","sources":["../src/jsonld.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,SAAS,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC1D,CAAC,CAAC;CACJ;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,cAAc,CAwB5D;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,CA4DxD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAmB/D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,cAAc,CAoBhB"}
|