@rool-dev/sdk 0.1.0-dev.8511433

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 (54) hide show
  1. package/README.md +1070 -0
  2. package/dist/apps.d.ts +29 -0
  3. package/dist/apps.d.ts.map +1 -0
  4. package/dist/apps.js +88 -0
  5. package/dist/apps.js.map +1 -0
  6. package/dist/auth-browser.d.ts +80 -0
  7. package/dist/auth-browser.d.ts.map +1 -0
  8. package/dist/auth-browser.js +370 -0
  9. package/dist/auth-browser.js.map +1 -0
  10. package/dist/auth-node.d.ts +46 -0
  11. package/dist/auth-node.d.ts.map +1 -0
  12. package/dist/auth-node.js +315 -0
  13. package/dist/auth-node.js.map +1 -0
  14. package/dist/auth.d.ts +56 -0
  15. package/dist/auth.d.ts.map +1 -0
  16. package/dist/auth.js +96 -0
  17. package/dist/auth.js.map +1 -0
  18. package/dist/client.d.ts +202 -0
  19. package/dist/client.d.ts.map +1 -0
  20. package/dist/client.js +472 -0
  21. package/dist/client.js.map +1 -0
  22. package/dist/event-emitter.d.ts +38 -0
  23. package/dist/event-emitter.d.ts.map +1 -0
  24. package/dist/event-emitter.js +80 -0
  25. package/dist/event-emitter.js.map +1 -0
  26. package/dist/graphql.d.ts +71 -0
  27. package/dist/graphql.d.ts.map +1 -0
  28. package/dist/graphql.js +487 -0
  29. package/dist/graphql.js.map +1 -0
  30. package/dist/index.d.ts +6 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +11 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/jsonld.d.ts +47 -0
  35. package/dist/jsonld.d.ts.map +1 -0
  36. package/dist/jsonld.js +137 -0
  37. package/dist/jsonld.js.map +1 -0
  38. package/dist/media.d.ts +52 -0
  39. package/dist/media.d.ts.map +1 -0
  40. package/dist/media.js +173 -0
  41. package/dist/media.js.map +1 -0
  42. package/dist/space.d.ts +358 -0
  43. package/dist/space.d.ts.map +1 -0
  44. package/dist/space.js +1121 -0
  45. package/dist/space.js.map +1 -0
  46. package/dist/subscription.d.ts +57 -0
  47. package/dist/subscription.d.ts.map +1 -0
  48. package/dist/subscription.js +296 -0
  49. package/dist/subscription.js.map +1 -0
  50. package/dist/types.d.ts +409 -0
  51. package/dist/types.d.ts.map +1 -0
  52. package/dist/types.js +6 -0
  53. package/dist/types.js.map +1 -0
  54. package/package.json +65 -0
@@ -0,0 +1,409 @@
1
+ /**
2
+ * Object data - the user content portion of an object.
3
+ * Always contains `id` (the object's unique identifier).
4
+ * Free-form JSON with any additional fields. While `type` is a common convention
5
+ * (e.g., 'article', 'note', 'task'), it's not required by the framework.
6
+ * Consumer applications define their own object schemas.
7
+ */
8
+ export interface RoolObject {
9
+ id: string;
10
+ [key: string]: unknown;
11
+ }
12
+ /**
13
+ * Object stat - audit information about an object.
14
+ * Returned by space.stat(objectId).
15
+ */
16
+ export interface RoolObjectStat {
17
+ modifiedAt: number;
18
+ modifiedBy: string;
19
+ modifiedByName: string | null;
20
+ }
21
+ /**
22
+ * Internal storage structure for a space object.
23
+ * - links: Outbound relationships { relation: [targetId1, targetId2, ...] }
24
+ * - data: The user content (RoolObject). Fields prefixed with _ are hidden from AI.
25
+ */
26
+ export interface RoolObjectEntry {
27
+ links: Record<string, string[]>;
28
+ data: RoolObject;
29
+ modifiedAt: number;
30
+ modifiedBy: string;
31
+ modifiedByName: string | null;
32
+ }
33
+ /**
34
+ * A tool call record - captures what the agent did during an interaction.
35
+ */
36
+ export interface ToolCall {
37
+ name: string;
38
+ input: unknown;
39
+ result: string;
40
+ }
41
+ /**
42
+ * An interaction entry - combines request and response in a single record.
43
+ */
44
+ export interface Interaction {
45
+ id: string;
46
+ timestamp: number;
47
+ userId: string;
48
+ userName?: string | null;
49
+ operation: 'prompt' | 'createObject' | 'updateObject' | 'link' | 'unlink' | 'deleteObjects';
50
+ input: string;
51
+ output: string | null;
52
+ ai: boolean;
53
+ modifiedObjectIds: string[];
54
+ toolCalls: ToolCall[];
55
+ }
56
+ /**
57
+ * A conversation container with metadata and interaction history.
58
+ */
59
+ export interface Conversation {
60
+ name?: string;
61
+ createdAt?: number;
62
+ interactions: Interaction[];
63
+ }
64
+ /**
65
+ * Conversation info for listing - summary without full interaction history.
66
+ */
67
+ export interface ConversationInfo {
68
+ id: string;
69
+ name: string | null;
70
+ createdAt: number | null;
71
+ interactionCount: number;
72
+ }
73
+ /**
74
+ * Space structure - objects keyed by ID.
75
+ * meta is space-level metadata, preserved but hidden from AI operations.
76
+ * conversations contains conversation data keyed by conversationId.
77
+ */
78
+ export interface RoolSpaceData {
79
+ objects: Record<string, RoolObjectEntry>;
80
+ meta: Record<string, unknown>;
81
+ /** Conversations keyed by conversationId */
82
+ conversations?: Record<string, Conversation>;
83
+ }
84
+ export type JSONPatchOp = {
85
+ op: 'add';
86
+ path: string;
87
+ value: unknown;
88
+ } | {
89
+ op: 'remove';
90
+ path: string;
91
+ } | {
92
+ op: 'replace';
93
+ path: string;
94
+ value: unknown;
95
+ } | {
96
+ op: 'move';
97
+ path: string;
98
+ from: string;
99
+ } | {
100
+ op: 'copy';
101
+ path: string;
102
+ from: string;
103
+ } | {
104
+ op: 'test';
105
+ path: string;
106
+ value: unknown;
107
+ };
108
+ export type RoolUserRole = 'owner' | 'editor' | 'viewer';
109
+ export interface RoolSpaceInfo {
110
+ id: string;
111
+ name: string;
112
+ role: RoolUserRole;
113
+ ownerId: string;
114
+ size: number;
115
+ createdAt: string;
116
+ updatedAt: string;
117
+ }
118
+ export interface UserResult {
119
+ id: string;
120
+ email: string;
121
+ name: string | null;
122
+ }
123
+ export interface SpaceMember {
124
+ id: string;
125
+ email: string;
126
+ role: RoolUserRole;
127
+ }
128
+ export interface CurrentUser {
129
+ id: string;
130
+ email: string;
131
+ name: string | null;
132
+ slug: string;
133
+ plan: string;
134
+ creditsBalance: number;
135
+ createdAt: string;
136
+ lastActivity: string;
137
+ processedAt: string;
138
+ storage: Record<string, unknown>;
139
+ }
140
+ export interface MediaInfo {
141
+ uuid: string;
142
+ url: string;
143
+ contentType: string;
144
+ size: number;
145
+ createdAt: string;
146
+ }
147
+ /**
148
+ * Response from fetchMedia, similar to fetch() Response.
149
+ * Headers are available immediately; call blob() to get the body.
150
+ */
151
+ export interface MediaResponse {
152
+ /** MIME type from Content-Type header */
153
+ contentType: string;
154
+ /** Size in bytes from Content-Length header, or null if not available */
155
+ size: number | null;
156
+ /** Get the response body as a Blob */
157
+ blob(): Promise<Blob>;
158
+ }
159
+ /**
160
+ * Options for publishing an app.
161
+ */
162
+ export interface PublishAppOptions {
163
+ /** Display name for the app */
164
+ name: string;
165
+ /** Zip bundle containing the app files (must include index.html at root) */
166
+ bundle: File | Blob;
167
+ /** Enable SPA routing (404s serve index.html). Defaults to true. */
168
+ spa?: boolean;
169
+ }
170
+ /**
171
+ * Info about a published app.
172
+ */
173
+ export interface PublishedAppInfo {
174
+ /** App identifier (URL-safe) */
175
+ appId: string;
176
+ /** Display name */
177
+ name: string;
178
+ /** Public URL where the app is accessible */
179
+ url: string;
180
+ /** Whether SPA routing is enabled */
181
+ spa: boolean;
182
+ /** Bundle size in bytes */
183
+ sizeBytes: number;
184
+ /** ISO timestamp of creation */
185
+ createdAt: string;
186
+ /** ISO timestamp of last update */
187
+ updatedAt: string;
188
+ }
189
+ /**
190
+ * Effort level for AI operations.
191
+ * - 'QUICK': Fast responses, read-only (no object mutations)
192
+ * - 'STANDARD': Default behavior with full capabilities
193
+ * - 'REASONING': Extended reasoning for complex tasks
194
+ * - 'RESEARCH': Pre-analysis and context gathering (reserved for future use)
195
+ */
196
+ export type PromptEffort = 'QUICK' | 'STANDARD' | 'REASONING' | 'RESEARCH';
197
+ export interface PromptOptions {
198
+ objectIds?: string[];
199
+ responseSchema?: Record<string, unknown>;
200
+ /** Effort level for the AI operation. Defaults to 'STANDARD'. */
201
+ effort?: PromptEffort;
202
+ /** If true, the prompt won't be recorded in conversation history. Useful for transient operations like tab completion. */
203
+ ephemeral?: boolean;
204
+ /** If true, mutation tools (create, update, link, unlink) are disabled. Defaults to false. */
205
+ readOnly?: boolean;
206
+ }
207
+ export interface FindObjectsOptions {
208
+ where?: Record<string, unknown>;
209
+ prompt?: string;
210
+ limit?: number;
211
+ objectIds?: string[];
212
+ /** Sort order by modifiedAt. Default: 'desc' (most recent first) */
213
+ order?: 'asc' | 'desc';
214
+ /** If true, the query won't be recorded in conversation history. Useful for responsive search. */
215
+ ephemeral?: boolean;
216
+ }
217
+ export type ConnectionState = 'connected' | 'disconnected' | 'reconnecting';
218
+ export type RoolEventSource = 'user' | 'agent';
219
+ export type ClientEventType = 'space_created' | 'space_deleted' | 'space_renamed' | 'user_storage_changed';
220
+ export interface ClientEvent {
221
+ type: ClientEventType;
222
+ spaceId?: string;
223
+ timestamp: number;
224
+ name?: string;
225
+ ownerId?: string;
226
+ size?: number;
227
+ createdAt?: string;
228
+ updatedAt?: string;
229
+ role?: string;
230
+ key?: string;
231
+ value?: unknown;
232
+ }
233
+ export type SpaceEventType = 'space_patched' | 'space_changed';
234
+ export interface SpaceEvent {
235
+ type: SpaceEventType;
236
+ spaceId: string;
237
+ timestamp: number;
238
+ patch?: JSONPatchOp[];
239
+ source: RoolEventSource;
240
+ conversationId?: string;
241
+ }
242
+ /**
243
+ * External auth provider interface for Electron or custom auth flows.
244
+ * When provided, rool-client delegates all auth operations to this provider.
245
+ */
246
+ export interface AuthProvider {
247
+ /** Initialize the provider (e.g. check for callbacks, start timers) */
248
+ initialize?: () => boolean;
249
+ /** Get current access token */
250
+ getToken: () => Promise<string | undefined>;
251
+ /** Get auth identity from current session (decoded from token) */
252
+ getAuthUser: () => {
253
+ email: string | null;
254
+ name: string | null;
255
+ };
256
+ /** Check if currently authenticated (validates token is usable) */
257
+ isAuthenticated: () => Promise<boolean>;
258
+ /** Initiate login with application name */
259
+ login: (appName: string) => Promise<void> | void;
260
+ /** Logout and clear session */
261
+ logout: () => void;
262
+ /** Clean up resources (e.g. stop timers) */
263
+ destroy?: () => void;
264
+ /** Get cached storage data */
265
+ getStorage: () => Record<string, unknown> | null;
266
+ /** Set cached storage data */
267
+ setStorage: (data: Record<string, unknown>) => void;
268
+ }
269
+ export interface RoolClientConfig {
270
+ /** Base URL of the Rool deployment (e.g., 'https://api.dev.rool.dev') */
271
+ baseUrl: string;
272
+ /** Override GraphQL endpoint (default: {baseUrl}/graphql) */
273
+ graphqlUrl?: string;
274
+ /** Override media endpoint (default: {baseUrl}/media) */
275
+ mediaUrl?: string;
276
+ /** Override auth endpoint (default: {baseUrl}/auth) */
277
+ authUrl?: string;
278
+ /**
279
+ * External auth provider.
280
+ * When provided, rool-client uses this instead of built-in browser auth.
281
+ */
282
+ authProvider?: AuthProvider;
283
+ }
284
+ /** Source of a user storage change */
285
+ export type UserStorageSource = 'local' | 'remote';
286
+ /** Event payload for user storage changes */
287
+ export interface UserStorageChangedEvent {
288
+ key: string;
289
+ value: unknown;
290
+ source: UserStorageSource;
291
+ }
292
+ /**
293
+ * Client-level events (space lifecycle, auth, connection, user storage).
294
+ */
295
+ export interface RoolClientEvents {
296
+ /** Emitted when authentication state changes */
297
+ authStateChanged: (authenticated: boolean) => void;
298
+ /** Emitted when a new space is created (by any client) */
299
+ spaceCreated: (space: RoolSpaceInfo) => void;
300
+ /** Emitted when a space is deleted (by any client) */
301
+ spaceDeleted: (spaceId: string) => void;
302
+ /** Emitted when a space is renamed (by any client) */
303
+ spaceRenamed: (spaceId: string, newName: string) => void;
304
+ /** Emitted when user storage changes (local or remote) */
305
+ userStorageChanged: (event: UserStorageChangedEvent) => void;
306
+ /** Emitted when SSE connection state changes */
307
+ connectionStateChanged: (state: ConnectionState) => void;
308
+ /** Emitted on errors */
309
+ error: (error: Error, context?: string) => void;
310
+ /** Index signature for EventEmitter compatibility */
311
+ [key: string]: (...args: any[]) => void;
312
+ }
313
+ /**
314
+ * Source of a space change event.
315
+ * - 'local_user': This client made the change
316
+ * - 'remote_user': Another user/client made the change
317
+ * - 'remote_agent': AI agent made the change
318
+ * - 'system': Resync after error
319
+ */
320
+ export type ChangeSource = 'local_user' | 'remote_user' | 'remote_agent' | 'system';
321
+ export interface ObjectCreatedEvent {
322
+ objectId: string;
323
+ object: RoolObject;
324
+ source: ChangeSource;
325
+ }
326
+ export interface ObjectUpdatedEvent {
327
+ objectId: string;
328
+ object: RoolObject;
329
+ source: ChangeSource;
330
+ }
331
+ export interface ObjectDeletedEvent {
332
+ objectId: string;
333
+ source: ChangeSource;
334
+ }
335
+ export interface LinkedEvent {
336
+ sourceId: string;
337
+ relation: string;
338
+ targetId: string;
339
+ source: ChangeSource;
340
+ }
341
+ export interface UnlinkedEvent {
342
+ sourceId: string;
343
+ relation: string;
344
+ targetId: string;
345
+ source: ChangeSource;
346
+ }
347
+ export interface MetadataUpdatedEvent {
348
+ metadata: Record<string, unknown>;
349
+ source: ChangeSource;
350
+ }
351
+ export interface SpaceResetEvent {
352
+ source: ChangeSource;
353
+ }
354
+ export interface ConversationUpdatedEvent {
355
+ conversationId: string;
356
+ source: ChangeSource;
357
+ }
358
+ export interface ConversationIdChangedEvent {
359
+ previousConversationId: string;
360
+ newConversationId: string;
361
+ }
362
+ /**
363
+ * Space-level events (content changes within a specific space).
364
+ *
365
+ * Semantic events describe what changed:
366
+ * - `objectCreated`, `objectUpdated`, `objectDeleted`: Object changes
367
+ * - `linked`, `unlinked`: Link changes
368
+ * - `metadataUpdated`: Space metadata changes
369
+ * - `conversationUpdated`: Conversation interaction history changed
370
+ * - `conversationIdChanged`: ConversationId was changed on the space
371
+ * - `reset`: Full state replacement (undo/redo, resync)
372
+ *
373
+ * Events fire for both local changes and remote changes (from other users or AI agents).
374
+ * Use the `source` field to determine the origin of the change.
375
+ */
376
+ export interface SpaceEvents {
377
+ /** A new object was created */
378
+ objectCreated: (event: ObjectCreatedEvent) => void;
379
+ /** An existing object was updated */
380
+ objectUpdated: (event: ObjectUpdatedEvent) => void;
381
+ /** An object was deleted */
382
+ objectDeleted: (event: ObjectDeletedEvent) => void;
383
+ /** A link was added between objects */
384
+ linked: (event: LinkedEvent) => void;
385
+ /** A link was removed between objects */
386
+ unlinked: (event: UnlinkedEvent) => void;
387
+ /** Space metadata was updated */
388
+ metadataUpdated: (event: MetadataUpdatedEvent) => void;
389
+ /** Conversation interaction history was updated */
390
+ conversationUpdated: (event: ConversationUpdatedEvent) => void;
391
+ /** Full state replacement (undo/redo, resync) */
392
+ reset: (event: SpaceResetEvent) => void;
393
+ /** Emitted when conversationId is changed */
394
+ conversationIdChanged: (event: ConversationIdChangedEvent) => void;
395
+ /** Emitted when a sync error occurs and the space resyncs from server */
396
+ syncError: (error: Error) => void;
397
+ /** Index signature for EventEmitter compatibility */
398
+ [key: string]: (...args: any[]) => void;
399
+ }
400
+ export interface AuthTokens {
401
+ accessToken: string;
402
+ refreshToken: string | null;
403
+ expiresAt: number;
404
+ }
405
+ export interface AuthUser {
406
+ email: string | null;
407
+ name: string | null;
408
+ }
409
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,6 @@
1
+ // =============================================================================
2
+ // Rool Client Types
3
+ // Generic types for space-based applications using the Rool server API
4
+ // =============================================================================
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,oBAAoB;AACpB,uEAAuE;AACvE,gFAAgF"}
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "@rool-dev/sdk",
3
+ "version": "0.1.0-dev.8511433",
4
+ "description": "TypeScript SDK for the Rool platform",
5
+ "packageManager": "pnpm@10.17.1",
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "module": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "import": "./dist/index.js",
13
+ "types": "./dist/index.d.ts"
14
+ },
15
+ "./node": {
16
+ "import": "./dist/auth-node.js",
17
+ "types": "./dist/auth-node.d.ts"
18
+ }
19
+ },
20
+ "files": [
21
+ "dist"
22
+ ],
23
+ "scripts": {
24
+ "build": "tsc",
25
+ "dev": "tsc --watch",
26
+ "typecheck": "tsc --noEmit",
27
+ "clean": "rm -rf dist",
28
+ "eval": "node --import tsx eval/main.ts"
29
+ },
30
+ "publishConfig": {
31
+ "access": "public"
32
+ },
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "git+https://github.com/rool-dev/rool-js.git",
36
+ "directory": "packages/sdk"
37
+ },
38
+ "keywords": [
39
+ "rool",
40
+ "sdk",
41
+ "graph",
42
+ "hypergraph",
43
+ "api-client",
44
+ "real-time"
45
+ ],
46
+ "author": {
47
+ "name": "Lightpost One",
48
+ "email": "info@lightpost.one",
49
+ "url": "https://lightpost.one"
50
+ },
51
+ "license": "MIT",
52
+ "dependencies": {
53
+ "fflate": "^0.8.2",
54
+ "graphql-sse": "^2.6.0",
55
+ "immutable-json-patch": "^6.0.2",
56
+ "open": "^11.0.0"
57
+ },
58
+ "devDependencies": {
59
+ "@types/chai": "^5.2.3",
60
+ "@types/node": "^25.0.2",
61
+ "chai": "^6.2.2",
62
+ "tsx": "^4.19.4",
63
+ "typescript": "^5.9.3"
64
+ }
65
+ }