@rool-dev/sdk 0.2.0-dev.f798776 → 0.3.0-dev.31aef9f

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/space.d.ts CHANGED
@@ -1,257 +1,55 @@
1
- import { EventEmitter } from './event-emitter.js';
2
1
  import type { GraphQLClient } from './graphql.js';
3
2
  import type { MediaClient } from './media.js';
4
- import type { AuthManager } from './auth.js';
5
- import type { Logger } from './logger.js';
6
- import type { RoolSpaceData, RoolObject, RoolObjectStat, SpaceEvents, RoolUserRole, SpaceMember, PromptOptions, FindObjectsOptions, CreateObjectOptions, UpdateObjectOptions, MediaInfo, MediaResponse, Interaction, ConversationInfo, LinkAccess } from './types.js';
7
- export declare function generateEntityId(): string;
3
+ import type { RoolChannel } from './channel.js';
4
+ import type { RoolUserRole, LinkAccess, SpaceMember, ChannelInfo } from './types.js';
8
5
  export interface SpaceConfig {
9
6
  id: string;
10
7
  name: string;
11
8
  role: RoolUserRole;
12
9
  linkAccess: LinkAccess;
13
- /** Current user's ID (for identifying own interactions) */
14
- userId: string;
15
- initialData: RoolSpaceData;
16
- /** Optional conversation ID for AI context continuity. If not provided, a new conversation is created. */
17
- conversationId?: string;
10
+ /** Initial channel summaries (for getChannels without a round-trip) */
11
+ channels: ChannelInfo[];
18
12
  graphqlClient: GraphQLClient;
19
13
  mediaClient: MediaClient;
20
- graphqlUrl: string;
21
- authManager: AuthManager;
22
- logger: Logger;
23
- onClose: (spaceId: string) => void;
14
+ /** Callback to open a channel via the client */
15
+ openChannelFn: (spaceId: string, channelId: string) => Promise<RoolChannel>;
24
16
  }
25
17
  /**
26
- * First-class Space object.
18
+ * A space is a container for objects, schema, metadata, and channels.
27
19
  *
28
- * Features:
29
- * - High-level object operations
30
- * - Built-in undo/redo with checkpoints
31
- * - Metadata management
32
- * - Event emission for state changes
33
- * - Real-time updates via space-specific subscription
20
+ * RoolSpace is a lightweight handle for space-level admin operations:
21
+ * user management, link access, channel management, and export.
22
+ * It does not have a real-time subscription use channels for live data.
23
+ *
24
+ * To work with objects and AI, open a channel on the space.
34
25
  */
35
- export declare class RoolSpace extends EventEmitter<SpaceEvents> {
26
+ export declare class RoolSpace {
36
27
  private _id;
37
28
  private _name;
38
29
  private _role;
39
30
  private _linkAccess;
40
- private _userId;
41
- private _conversationId;
42
- private _data;
43
- private _closed;
31
+ private _channels;
44
32
  private graphqlClient;
45
33
  private mediaClient;
46
- private subscriptionManager;
47
- private onCloseCallback;
48
- private _subscriptionReady;
49
- private logger;
34
+ private _openChannelFn;
50
35
  constructor(config: SpaceConfig);
51
- /**
52
- * Wait for the real-time subscription to be established.
53
- * Called internally by openSpace/createSpace before returning the space.
54
- * @internal
55
- */
56
- _waitForSubscription(): Promise<void>;
57
36
  get id(): string;
58
37
  get name(): string;
59
38
  get role(): RoolUserRole;
60
39
  get linkAccess(): LinkAccess;
61
- /** Current user's ID (for identifying own interactions) */
62
- get userId(): string;
63
- /**
64
- * Get the conversation ID for this space instance.
65
- * Used for AI context tracking and echo suppression.
66
- */
67
- get conversationId(): string;
68
- /**
69
- * Set the conversation ID for AI context tracking.
70
- * Emits 'conversationIdChanged' event.
71
- */
72
- set conversationId(value: string);
73
- get isReadOnly(): boolean;
74
- /**
75
- * Get interactions for this space's current conversationId.
76
- * Returns the interactions array.
77
- */
78
- getInteractions(): Interaction[];
79
40
  /**
80
- * Get interactions for a specific conversation ID.
81
- * Useful for viewing other conversations in the space.
41
+ * Open a channel on this space.
42
+ * If the channel doesn't exist, the server creates it.
82
43
  */
83
- getInteractionsById(conversationId: string): Interaction[];
84
- /**
85
- * Get all conversation IDs that have conversations in this space.
86
- */
87
- getConversationIds(): string[];
44
+ openChannel(channelId: string): Promise<RoolChannel>;
88
45
  /**
89
46
  * Rename this space.
90
47
  */
91
48
  rename(newName: string): Promise<void>;
92
49
  /**
93
- * Close this space and clean up resources.
94
- * Stops real-time subscription and unregisters from client.
95
- */
96
- close(): void;
97
- /**
98
- * Create a checkpoint (seal current batch of changes).
99
- * Patches accumulate automatically - this seals them with a label.
100
- * @returns The checkpoint ID
101
- */
102
- checkpoint(label?: string): Promise<string>;
103
- /**
104
- * Check if undo is available.
105
- */
106
- canUndo(): Promise<boolean>;
107
- /**
108
- * Check if redo is available.
50
+ * Delete this space permanently. Cannot be undone.
109
51
  */
110
- canRedo(): Promise<boolean>;
111
- /**
112
- * Undo the most recent batch of changes.
113
- * Reverses your most recent batch (sealed or open).
114
- * Conflicting patches (modified by others) are silently skipped.
115
- * @returns true if undo was performed
116
- */
117
- undo(): Promise<boolean>;
118
- /**
119
- * Redo a previously undone batch of changes.
120
- * @returns true if redo was performed
121
- */
122
- redo(): Promise<boolean>;
123
- /**
124
- * Clear checkpoint history for this conversation.
125
- */
126
- clearHistory(): Promise<void>;
127
- /**
128
- * Get an object's data by ID.
129
- * Returns just the data portion (RoolObject), not the full entry with meta/links.
130
- */
131
- getObject(objectId: string): Promise<RoolObject | undefined>;
132
- /**
133
- * Get an object's stat (audit information).
134
- * Returns modification timestamp and author, or undefined if object not found.
135
- */
136
- stat(objectId: string): Promise<RoolObjectStat | undefined>;
137
- /**
138
- * Find objects using structured filters and/or natural language.
139
- *
140
- * `where` provides exact-match filtering — values must match literally (no placeholders or operators).
141
- * `prompt` enables AI-powered semantic queries. When both are provided, `where` and `objectIds`
142
- * constrain the data set before the AI sees it.
143
- *
144
- * @param options.where - Exact-match field filter (e.g. `{ type: 'article' }`). Constrains which objects the AI can see when combined with `prompt`.
145
- * @param options.prompt - Natural language query. Triggers AI evaluation (uses credits).
146
- * @param options.limit - Maximum number of results to return (applies to structured filtering only; the AI controls its own result size).
147
- * @param options.objectIds - Scope search to specific object IDs. Constrains the candidate set in both structured and AI queries.
148
- * @param options.order - Sort order by modifiedAt: `'asc'` or `'desc'` (default: `'desc'`). Only applies to structured filtering (no `prompt`).
149
- * @param options.ephemeral - If true, the query won't be recorded in conversation history.
150
- * @returns The matching objects and a descriptive message.
151
- *
152
- * @example
153
- * // Exact match (no AI, no credits)
154
- * const { objects } = await space.findObjects({ where: { type: 'article' } });
155
- *
156
- * @example
157
- * // Natural language (AI query)
158
- * const { objects, message } = await space.findObjects({
159
- * prompt: 'articles about space exploration'
160
- * });
161
- *
162
- * @example
163
- * // Combined — where narrows the data, prompt queries within it
164
- * const { objects } = await space.findObjects({
165
- * where: { type: 'article' },
166
- * prompt: 'that discuss climate solutions positively',
167
- * limit: 10
168
- * });
169
- */
170
- findObjects(options: FindObjectsOptions): Promise<{
171
- objects: RoolObject[];
172
- message: string;
173
- }>;
174
- /**
175
- * Get all object IDs.
176
- * @param options.limit - Maximum number of IDs to return
177
- * @param options.order - Sort order by modifiedAt ('asc' or 'desc', default: 'desc')
178
- */
179
- getObjectIds(options?: {
180
- limit?: number;
181
- order?: 'asc' | 'desc';
182
- }): string[];
183
- /**
184
- * Create a new object with optional AI generation.
185
- * @param options.data - Object data fields (any key-value pairs). Optionally include `id` to use a custom ID. Use {{placeholder}} for AI-generated content. Fields prefixed with _ are hidden from AI.
186
- * @param options.ephemeral - If true, the operation won't be recorded in conversation history.
187
- * @returns The created object (with AI-filled content) and message
188
- */
189
- createObject(options: CreateObjectOptions): Promise<{
190
- object: RoolObject;
191
- message: string;
192
- }>;
193
- /**
194
- * Update an existing object.
195
- * @param objectId - The ID of the object to update
196
- * @param options.data - Fields to add or update. Pass null or undefined to delete a field. Use {{placeholder}} for AI-generated content. Fields prefixed with _ are hidden from AI.
197
- * @param options.prompt - AI prompt for content editing (optional).
198
- * @param options.ephemeral - If true, the operation won't be recorded in conversation history.
199
- * @returns The updated object (with AI-filled content) and message
200
- */
201
- updateObject(objectId: string, options: UpdateObjectOptions): Promise<{
202
- object: RoolObject;
203
- message: string;
204
- }>;
205
- /**
206
- * Delete objects by IDs.
207
- * Other objects that reference deleted objects via data fields will retain stale ref values.
208
- */
209
- deleteObjects(objectIds: string[]): Promise<void>;
210
- /**
211
- * Delete a conversation and its interaction history.
212
- * Defaults to the current conversation if no conversationId is provided.
213
- */
214
- deleteConversation(conversationId?: string): Promise<void>;
215
- /**
216
- * Rename a conversation.
217
- * If the conversation doesn't exist, it will be created with the given name.
218
- */
219
- renameConversation(conversationId: string, name: string): Promise<void>;
220
- /**
221
- * List all conversations in this space with summary info.
222
- */
223
- listConversations(): Promise<ConversationInfo[]>;
224
- /**
225
- * Get the system instruction for the current conversation.
226
- * Returns undefined if no system instruction is set.
227
- */
228
- getSystemInstruction(): string | undefined;
229
- /**
230
- * Set the system instruction for the current conversation.
231
- * Pass null to clear the instruction.
232
- */
233
- setSystemInstruction(instruction: string | null): Promise<void>;
234
- /**
235
- * Set a space-level metadata value.
236
- * Metadata is stored in meta and hidden from AI operations.
237
- */
238
- setMetadata(key: string, value: unknown): void;
239
- /**
240
- * Get a space-level metadata value.
241
- */
242
- getMetadata(key: string): unknown;
243
- /**
244
- * Get all space-level metadata.
245
- */
246
- getAllMetadata(): Record<string, unknown>;
247
- /**
248
- * Send a prompt to the AI agent for space manipulation.
249
- * @returns The message from the AI and the list of objects that were created or modified
250
- */
251
- prompt(prompt: string, options?: PromptOptions): Promise<{
252
- message: string;
253
- objects: RoolObject[];
254
- }>;
52
+ delete(): Promise<void>;
255
53
  /**
256
54
  * List users with access to this space.
257
55
  */
@@ -267,63 +65,26 @@ export declare class RoolSpace extends EventEmitter<SpaceEvents> {
267
65
  /**
268
66
  * Set the link sharing level for this space.
269
67
  * Requires owner or admin role.
270
- * @param linkAccess - 'none' (no link access), 'viewer' (read-only), or 'editor' (full edit)
271
68
  */
272
69
  setLinkAccess(linkAccess: LinkAccess): Promise<void>;
273
70
  /**
274
- * List all media files for this space.
275
- */
276
- listMedia(): Promise<MediaInfo[]>;
277
- /**
278
- * Upload a file to this space. Returns the URL.
279
- */
280
- uploadMedia(file: File | Blob | {
281
- data: string;
282
- contentType: string;
283
- }): Promise<string>;
284
- /**
285
- * Fetch any URL, returning headers and a blob() method (like fetch Response).
286
- * Adds auth headers for backend media URLs, fetches external URLs via server proxy if CORS blocks.
71
+ * List channels in this space.
72
+ * Returns from cached snapshot (populated at open time).
73
+ * Call refresh() to update from server.
287
74
  */
288
- fetchMedia(url: string): Promise<MediaResponse>;
75
+ getChannels(): ChannelInfo[];
289
76
  /**
290
- * Delete a media file by URL.
77
+ * Delete a channel from this space.
291
78
  */
292
- deleteMedia(url: string): Promise<void>;
293
- /**
294
- * Get the full space data.
295
- * Use sparingly - prefer specific operations.
296
- */
297
- getData(): RoolSpaceData;
79
+ deleteChannel(channelId: string): Promise<void>;
298
80
  /**
299
81
  * Export space data and media as a zip archive.
300
- * The archive contains a data.json file with objects, relations, metadata,
301
- * and conversations, plus a media/ folder with all media files.
302
- * @returns A Blob containing the zip archive
303
82
  */
304
83
  exportArchive(): Promise<Blob>;
305
84
  /**
306
- * Handle a space event from the subscription.
307
- * @internal
308
- */
309
- private handleSpaceEvent;
310
- /**
311
- * Check if a patch would actually change the current data.
312
- * Used to deduplicate events when patches don't change anything (e.g., optimistic updates).
313
- * @internal
314
- */
315
- private didPatchChangeAnything;
316
- /**
317
- * Handle a patch event from another client.
318
- * Checks for version gaps to detect missed patches.
319
- * @internal
320
- */
321
- private handleRemotePatch;
322
- /**
323
- * Parse JSON patch operations and emit semantic events.
324
- * @internal
85
+ * Refresh space data from the server.
86
+ * Updates name, role, linkAccess, and channel list.
325
87
  */
326
- private emitSemanticEventsFromPatch;
327
- private resyncFromServer;
88
+ refresh(): Promise<void>;
328
89
  }
329
90
  //# sourceMappingURL=space.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../src/space.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../src/space.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,uEAAuE;IACvE,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,WAAW,CAAC;IACzB,gDAAgD;IAChD,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;CAC7E;AAED;;;;;;;;GAQG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAA+D;gBAEzE,MAAM,EAAE,WAAW;IAe/B,IAAI,EAAE,IAAI,MAAM,CAAqB;IACrC,IAAI,IAAI,IAAI,MAAM,CAAuB;IACzC,IAAI,IAAI,IAAI,YAAY,CAAuB;IAC/C,IAAI,UAAU,IAAI,UAAU,CAA6B;IAMzD;;;OAGG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAQ1D;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5C;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ7B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAIzC;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;;OAGG;IACG,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAe1D;;;;OAIG;IACH,WAAW,IAAI,WAAW,EAAE;IAI5B;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASrD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAQpC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAO/B"}