@rool-dev/sdk 0.3.1-dev.07199fc → 0.3.1-dev.163d0ef

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 CHANGED
@@ -10,7 +10,8 @@ Use Rool to programmatically instruct agents to generate content, research topic
10
10
 
11
11
  **Core primitives:**
12
12
  - **Spaces** — Containers for objects, schema, metadata, and channels
13
- - **Channels** — Named contexts within a space, each with independent interaction history. All object and AI operations go through a channel.
13
+ - **Channels** — Named contexts within a space. All object and AI operations go through a channel.
14
+ - **Conversations** — Independent interaction histories within a channel. Most apps use a single `'default'` conversation; multi-conversation apps (e.g., chat with multiple threads) can open additional ones.
14
15
  - **Objects** — Key-value records with any fields you define. References between objects are data fields whose values are object IDs.
15
16
  - **AI operations** — Create, update, or query objects using natural language and `{{placeholders}}`
16
17
 
@@ -84,7 +85,7 @@ channel.close();
84
85
 
85
86
  ### Spaces and Channels
86
87
 
87
- A **space** is a container that holds objects, schema, metadata, and channels. A **channel** is a named context within a space — it's the handle you use for all object and AI operations. Each channel has its own interaction history.
88
+ A **space** is a container that holds objects, schema, metadata, and channels. A **channel** is a named context within a space — it's the handle you use for all object and AI operations. Each channel contains one or more **conversations**, each with independent interaction history.
88
89
 
89
90
  There are two main handles:
90
91
  - **`RoolSpace`** — Lightweight admin handle for user management, link access, channel management, and export. No real-time subscription.
@@ -111,6 +112,40 @@ The `channelId` is fixed when you open a channel and cannot be changed. To use a
111
112
  - 1–32 characters
112
113
  - Only alphanumeric characters, hyphens (`-`), and underscores (`_`)
113
114
 
115
+ ### Conversations
116
+
117
+ A **conversation** is a named interaction history within a channel. By default, all operations use the `'default'` conversation — most apps never need to think about conversations at all.
118
+
119
+ For apps that need multiple independent interaction threads (e.g., a chat sidebar with multiple threads), use `channel.conversation()` to get a handle scoped to a specific conversation:
120
+
121
+ ```typescript
122
+ // Default conversation — most apps use this
123
+ const channel = await client.openChannel('space-id', 'main');
124
+ await channel.prompt('Hello'); // Uses 'default' conversation
125
+
126
+ // Conversation handle — for multi-thread UIs
127
+ const thread = channel.conversation('thread-42');
128
+ await thread.prompt('Hello'); // Uses 'thread-42' conversation
129
+ thread.getInteractions(); // Interactions for thread-42 only
130
+ ```
131
+
132
+ Each conversation has its own interaction history and optional system instruction. Conversations are auto-created on first interaction — no explicit create step needed. The 50-message cap applies per conversation. All conversations share one SSE connection per channel.
133
+
134
+ ```typescript
135
+ // System instructions are per-conversation
136
+ const thread = channel.conversation('research');
137
+ await thread.setSystemInstruction('Respond in haiku');
138
+
139
+ // List all conversations in this channel
140
+ const conversations = channel.getConversations();
141
+
142
+ // Delete a conversation (cannot delete 'default')
143
+ await channel.deleteConversation('old-thread');
144
+
145
+ // Rename a conversation
146
+ await thread.rename('Research Thread');
147
+ ```
148
+
114
149
  ### Objects & References
115
150
 
116
151
  **Objects** are plain key-value records. The `id` field is reserved; everything else is application-defined.
@@ -658,6 +693,7 @@ A channel is a named context within a space. All object operations, AI prompts,
658
693
  |--------|-------------|
659
694
  | `close(): void` | Clean up resources and stop receiving updates |
660
695
  | `rename(name): Promise<void>` | Rename this channel |
696
+ | `conversation(conversationId): ConversationHandle` | Get a handle scoped to a specific conversation (see [Conversations](#conversations)) |
661
697
 
662
698
  ### Object Operations
663
699
 
@@ -891,9 +927,12 @@ channel.on('metadataUpdated', ({ metadata, source }) => void)
891
927
  // Collection schema changed
892
928
  channel.on('schemaUpdated', ({ schema, source }) => void)
893
929
 
894
- // Channel updated (fetch with getInteractions())
930
+ // Channel metadata updated (name, appUrl)
895
931
  channel.on('channelUpdated', ({ channelId, source }) => void)
896
932
 
933
+ // Conversation interaction history updated
934
+ channel.on('conversationUpdated', ({ conversationId, channelId, source }) => void)
935
+
897
936
  // Full state replacement (undo/redo, resync after error)
898
937
  channel.on('reset', ({ source }) => void)
899
938
 
@@ -919,13 +958,13 @@ try {
919
958
 
920
959
  ## Interaction History
921
960
 
922
- Each channel has a `channelId` that identifies it. The history records all meaningful interactions (prompts, object mutations) as self-contained entries, each capturing the request and its result. History is stored in the space data itself and syncs in real-time to all clients.
961
+ Each channel contains one or more conversations, each with its own interaction history. The history records all meaningful interactions (prompts, object mutations) as self-contained entries, each capturing the request and its result. History is stored in the space data itself and syncs in real-time to all clients.
923
962
 
924
963
  ### What the AI Receives
925
964
 
926
965
  AI operations (`prompt`, `createObject`, `updateObject`, `findObjects`) automatically receive:
927
966
 
928
- - **Interaction history** — Previous interactions and their results from this channel
967
+ - **Interaction history** — Previous interactions and their results from the current conversation
929
968
  - **Recently modified objects** — Objects in the space recently created or changed
930
969
  - **Selected objects** — Objects passed via `objectIds` are given primary focus
931
970
 
@@ -934,24 +973,27 @@ This context flows automatically — no configuration needed. The AI sees enough
934
973
  ### Accessing History
935
974
 
936
975
  ```typescript
937
- // Get interactions for this channel
976
+ // Get interactions for the current conversation
938
977
  const interactions = channel.getInteractions();
939
978
  // Returns: Interaction[]
940
979
  ```
941
980
 
942
- ### Channel History Methods
981
+ ### Conversation History Methods
943
982
 
944
983
  | Method | Description |
945
984
  |--------|-------------|
946
- | `getInteractions(): Interaction[]` | Get interactions for this channel |
947
- | `getSystemInstruction(): string \| undefined` | Get system instruction for this channel |
948
- | `setSystemInstruction(instruction): Promise<void>` | Set system instruction for this channel. Pass `null` to clear. |
985
+ | `getInteractions(): Interaction[]` | Get interactions for the default conversation |
986
+ | `getSystemInstruction(): string \| undefined` | Get system instruction for the default conversation |
987
+ | `setSystemInstruction(instruction): Promise<void>` | Set system instruction for the default conversation. Pass `null` to clear. |
988
+ | `getConversations(): ConversationInfo[]` | List all conversations in this channel |
989
+ | `deleteConversation(conversationId): Promise<void>` | Delete a conversation (cannot delete `'default'`) |
990
+ | `renameConversation(name): Promise<void>` | Rename the default conversation |
949
991
 
950
992
  Channel management (listing, renaming, deleting channels) is done via the client — see [Channel Management](#channel-management).
951
993
 
952
994
  ### System Instructions
953
995
 
954
- System instructions customize how the AI behaves within a channel. The instruction persists across all prompts in that channel.
996
+ System instructions customize how the AI behaves within a conversation. The instruction persists across all prompts in that conversation.
955
997
 
956
998
  ```typescript
957
999
  // Make the AI behave like an SQL interpreter
@@ -978,19 +1020,25 @@ System instructions are useful for:
978
1020
  ### Listening for Updates
979
1021
 
980
1022
  ```typescript
1023
+ // Listen for conversation updates (interaction history changes)
1024
+ channel.on('conversationUpdated', ({ conversationId, channelId, source }) => {
1025
+ const interactions = channel.getInteractions();
1026
+ renderInteractions(interactions);
1027
+ });
1028
+
1029
+ // channelUpdated also fires for the active conversation (backward compat)
981
1030
  channel.on('channelUpdated', ({ channelId, source }) => {
982
- // Channel updated - refresh if needed
983
1031
  const interactions = channel.getInteractions();
984
1032
  renderInteractions(interactions);
985
1033
  });
986
1034
  ```
987
1035
 
988
- ### Multiple Channels
1036
+ ### Multiple Channels and Conversations
989
1037
 
990
- Each channel has its own interaction history. To work with multiple independent histories on the same space, open multiple channels:
1038
+ Each channel contains conversations with independent interaction history. For most apps, a single channel with the default conversation is sufficient. For multi-thread UIs, use conversation handles within one channel:
991
1039
 
992
1040
  ```typescript
993
- // Open two channels on the same space
1041
+ // Multiple channels on the same space
994
1042
  const research = await client.openChannel('space-id', 'research');
995
1043
  const main = await client.openChannel('space-id', 'main');
996
1044
 
@@ -998,19 +1046,27 @@ const main = await client.openChannel('space-id', 'main');
998
1046
  await research.prompt("Analyze this data");
999
1047
  await main.prompt("Summarize findings");
1000
1048
 
1049
+ // Multiple conversations within one channel (shared SSE connection)
1050
+ const channel = await client.openChannel('space-id', 'main');
1051
+ const thread1 = channel.conversation('thread-1');
1052
+ const thread2 = channel.conversation('thread-2');
1053
+
1054
+ await thread1.prompt("Research topic A");
1055
+ await thread2.prompt("Research topic B");
1056
+
1001
1057
  // Close when done
1002
1058
  research.close();
1003
1059
  main.close();
1004
1060
  ```
1005
1061
 
1006
1062
  **Use cases:**
1007
- - **Chat app with sidebar** — Each sidebar entry is a channel with a different channelId
1008
- - **Page refresh** — Store the channelId in localStorage to resume the same channel
1063
+ - **Chat app with sidebar** — Each sidebar entry is a conversation handle within the same channel
1064
+ - **Page refresh** — Store the channelId and conversationId in localStorage to resume
1009
1065
  - **Collaborative channels** — Share a channelId between users to enable shared AI interaction history
1010
1066
 
1011
- **Tip:** Use the user's id as channelId to share context across tabs/devices, or a fixed string like `'shared'` to share context across all users.
1067
+ **Tip:** Use the user's id as conversationId to give each user their own interaction history within a shared channel.
1012
1068
 
1013
- Note: Interaction history is truncated to the most recent 50 entries to manage space size.
1069
+ Note: Interaction history is truncated to the most recent 50 entries per conversation.
1014
1070
 
1015
1071
  ### The ai Field
1016
1072
 
@@ -1020,7 +1076,7 @@ The `ai` field in interactions distinguishes AI-generated responses from synthet
1020
1076
 
1021
1077
  ### Tool Calls
1022
1078
 
1023
- The `toolCalls` array captures what the AI agent did during execution. Use it to build responsive UIs that show progress while the agent works — the `channelUpdated` event fires when each tool starts and completes. A tool call without a `result` is still running; once `result` is present, the tool has finished.
1079
+ The `toolCalls` array captures what the AI agent did during execution. Use it to build responsive UIs that show progress while the agent works — the `conversationUpdated` event fires when each tool starts and completes. A tool call without a `result` is still running; once `result` is present, the tool has finished.
1024
1080
 
1025
1081
  ## Data Types
1026
1082
 
@@ -1071,18 +1127,36 @@ interface RoolObjectStat {
1071
1127
  }
1072
1128
  ```
1073
1129
 
1074
- ### Channels
1130
+ ### Channels and Conversations
1075
1131
 
1076
1132
  ```typescript
1077
- // Channel container with metadata
1133
+ // Conversation holds interaction history and optional system instruction
1134
+ interface Conversation {
1135
+ name?: string; // Conversation name (optional)
1136
+ systemInstruction?: string; // Custom system instruction for AI
1137
+ createdAt: number; // Timestamp when conversation was created
1138
+ createdBy: string; // User ID who created the conversation
1139
+ interactions: Interaction[]; // Interaction history
1140
+ }
1141
+
1142
+ // Conversation summary info (returned by channel.getConversations())
1143
+ interface ConversationInfo {
1144
+ id: string;
1145
+ name: string | null;
1146
+ systemInstruction: string | null;
1147
+ createdAt: number;
1148
+ createdBy: string;
1149
+ interactionCount: number;
1150
+ }
1151
+
1152
+ // Channel container with metadata and conversations
1078
1153
  interface Channel {
1079
1154
  name?: string; // Channel name (optional)
1080
1155
  createdAt: number; // Timestamp when channel was created
1081
1156
  createdBy: string; // User ID who created the channel
1082
1157
  createdByName?: string; // Display name at time of creation
1083
- systemInstruction?: string; // Custom system instruction for AI
1084
1158
  appUrl?: string; // URL of installed app (set by installApp)
1085
- interactions: Interaction[]; // Interaction history
1159
+ conversations: Record<string, Conversation>; // Keyed by conversation ID
1086
1160
  }
1087
1161
 
1088
1162
  // Channel summary info (returned by client.getChannels)
package/dist/channel.d.ts CHANGED
@@ -3,7 +3,7 @@ import type { GraphQLClient } from './graphql.js';
3
3
  import type { MediaClient } from './media.js';
4
4
  import type { AuthManager } from './auth.js';
5
5
  import type { Logger } from './logger.js';
6
- import type { RoolObject, RoolObjectStat, ChannelEvents, RoolUserRole, PromptOptions, FindObjectsOptions, CreateObjectOptions, UpdateObjectOptions, MediaInfo, MediaResponse, Interaction, Channel, LinkAccess, SpaceSchema, CollectionDef, FieldDef } from './types.js';
6
+ import type { RoolObject, RoolObjectStat, ChannelEvents, RoolUserRole, PromptOptions, FindObjectsOptions, CreateObjectOptions, UpdateObjectOptions, MediaInfo, MediaResponse, Interaction, Channel, ConversationInfo, LinkAccess, SpaceSchema, CollectionDef, FieldDef } from './types.js';
7
7
  export declare function generateEntityId(): string;
8
8
  export interface ChannelConfig {
9
9
  id: string;
@@ -56,6 +56,7 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
56
56
  private _linkAccess;
57
57
  private _userId;
58
58
  private _channelId;
59
+ private _conversationId;
59
60
  private _closed;
60
61
  private graphqlClient;
61
62
  private mediaClient;
@@ -94,15 +95,40 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
94
95
  * Fixed at open time — cannot be changed.
95
96
  */
96
97
  get channelId(): string;
98
+ /**
99
+ * Get the conversation ID for this channel.
100
+ * Defaults to 'default' for most apps.
101
+ */
102
+ get conversationId(): string;
97
103
  get isReadOnly(): boolean;
98
104
  /**
99
105
  * Get the app URL if this channel was created via installApp, or null.
100
106
  */
101
107
  get appUrl(): string | null;
102
108
  /**
103
- * Get interactions for this channel.
109
+ * Get interactions for the current conversation.
104
110
  */
105
111
  getInteractions(): Interaction[];
112
+ /** @internal */
113
+ _getInteractionsImpl(conversationId: string): Interaction[];
114
+ /**
115
+ * Get all conversations in this channel.
116
+ * Returns summary info (no full interaction data) for each conversation.
117
+ */
118
+ getConversations(): ConversationInfo[];
119
+ /**
120
+ * Delete a conversation from this channel.
121
+ * Cannot delete the conversation you are currently using.
122
+ */
123
+ deleteConversation(conversationId: string): Promise<void>;
124
+ /**
125
+ * Get a handle for a specific conversation within this channel.
126
+ * The handle scopes AI and mutation operations to that conversation's
127
+ * interaction history, while sharing the channel's single SSE connection.
128
+ *
129
+ * Conversations are auto-created on first interaction — no explicit create needed.
130
+ */
131
+ conversation(conversationId: string): ConversationHandle;
106
132
  /**
107
133
  * Close this channel and clean up resources.
108
134
  * Stops real-time subscription and unregisters from client.
@@ -166,6 +192,11 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
166
192
  objects: RoolObject[];
167
193
  message: string;
168
194
  }>;
195
+ /** @internal */
196
+ _findObjectsImpl(options: FindObjectsOptions, conversationId: string): Promise<{
197
+ objects: RoolObject[];
198
+ message: string;
199
+ }>;
169
200
  /**
170
201
  * Get all object IDs (sync, from local cache).
171
202
  * The list is loaded on open and kept current via SSE events.
@@ -186,6 +217,11 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
186
217
  object: RoolObject;
187
218
  message: string;
188
219
  }>;
220
+ /** @internal */
221
+ _createObjectImpl(options: CreateObjectOptions, conversationId: string): Promise<{
222
+ object: RoolObject;
223
+ message: string;
224
+ }>;
189
225
  /**
190
226
  * Update an existing object.
191
227
  * @param objectId - The ID of the object to update
@@ -198,11 +234,18 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
198
234
  object: RoolObject;
199
235
  message: string;
200
236
  }>;
237
+ /** @internal */
238
+ _updateObjectImpl(objectId: string, options: UpdateObjectOptions, conversationId: string): Promise<{
239
+ object: RoolObject;
240
+ message: string;
241
+ }>;
201
242
  /**
202
243
  * Delete objects by IDs.
203
244
  * Other objects that reference deleted objects via data fields will retain stale ref values.
204
245
  */
205
246
  deleteObjects(objectIds: string[]): Promise<void>;
247
+ /** @internal */
248
+ _deleteObjectsImpl(objectIds: string[], conversationId: string): Promise<void>;
206
249
  /**
207
250
  * Get the current schema for this space.
208
251
  * Returns a map of collection names to their definitions.
@@ -215,6 +258,8 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
215
258
  * @returns The created CollectionDef
216
259
  */
217
260
  createCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
261
+ /** @internal */
262
+ _createCollectionImpl(name: string, fields: FieldDef[], conversationId: string): Promise<CollectionDef>;
218
263
  /**
219
264
  * Alter an existing collection schema, replacing its field definitions.
220
265
  * @param name - Name of the collection to alter
@@ -222,26 +267,47 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
222
267
  * @returns The updated CollectionDef
223
268
  */
224
269
  alterCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
270
+ /** @internal */
271
+ _alterCollectionImpl(name: string, fields: FieldDef[], conversationId: string): Promise<CollectionDef>;
225
272
  /**
226
273
  * Drop a collection schema.
227
274
  * @param name - Name of the collection to drop
228
275
  */
229
276
  dropCollection(name: string): Promise<void>;
277
+ /** @internal */
278
+ _dropCollectionImpl(name: string, conversationId: string): Promise<void>;
230
279
  /**
231
- * Get the system instruction for this channel.
280
+ * Get the system instruction for the current conversation.
232
281
  * Returns undefined if no system instruction is set.
233
282
  */
234
283
  getSystemInstruction(): string | undefined;
284
+ /** @internal */
285
+ _getSystemInstructionImpl(conversationId: string): string | undefined;
235
286
  /**
236
- * Set the system instruction for this channel.
287
+ * Set the system instruction for the current conversation.
237
288
  * Pass null to clear the instruction.
238
289
  */
239
290
  setSystemInstruction(instruction: string | null): Promise<void>;
291
+ /** @internal */
292
+ _setSystemInstructionImpl(instruction: string | null, conversationId: string): Promise<void>;
293
+ /**
294
+ * Rename the current conversation.
295
+ */
296
+ renameConversation(name: string): Promise<void>;
297
+ /** @internal */
298
+ _renameConversationImpl(name: string, conversationId: string): Promise<void>;
299
+ /**
300
+ * Ensure a conversation exists in the local channel cache.
301
+ * @internal
302
+ */
303
+ _ensureConversationImpl(conversationId: string): void;
240
304
  /**
241
305
  * Set a space-level metadata value.
242
306
  * Metadata is stored in meta and hidden from AI operations.
243
307
  */
244
308
  setMetadata(key: string, value: unknown): void;
309
+ /** @internal */
310
+ _setMetadataImpl(key: string, value: unknown, conversationId: string): void;
245
311
  /**
246
312
  * Get a space-level metadata value.
247
313
  */
@@ -258,6 +324,11 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
258
324
  message: string;
259
325
  objects: RoolObject[];
260
326
  }>;
327
+ /** @internal */
328
+ _promptImpl(prompt: string, options: PromptOptions | undefined, conversationId: string): Promise<{
329
+ message: string;
330
+ objects: RoolObject[];
331
+ }>;
261
332
  /**
262
333
  * Rename this channel.
263
334
  */
@@ -325,4 +396,60 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
325
396
  */
326
397
  private _handleObjectDeleted;
327
398
  }
399
+ /**
400
+ * A lightweight handle for a specific conversation within a channel.
401
+ *
402
+ * Scopes AI and mutation operations to a particular conversation's interaction
403
+ * history, while sharing the channel's single SSE connection and object state.
404
+ *
405
+ * Obtain via `channel.conversation('thread-id')`.
406
+ * Conversations are auto-created on first interaction.
407
+ */
408
+ export declare class ConversationHandle {
409
+ /** @internal */
410
+ private _channel;
411
+ private _conversationId;
412
+ /** @internal */
413
+ constructor(channel: RoolChannel, conversationId: string);
414
+ /** The conversation ID this handle is scoped to. */
415
+ get conversationId(): string;
416
+ /** Get interactions for this conversation. */
417
+ getInteractions(): Interaction[];
418
+ /** Get the system instruction for this conversation. */
419
+ getSystemInstruction(): string | undefined;
420
+ /** Set the system instruction for this conversation. Pass null to clear. */
421
+ setSystemInstruction(instruction: string | null): Promise<void>;
422
+ /** Rename this conversation. */
423
+ rename(name: string): Promise<void>;
424
+ /** Find objects using structured filters and/or natural language. */
425
+ findObjects(options: FindObjectsOptions): Promise<{
426
+ objects: RoolObject[];
427
+ message: string;
428
+ }>;
429
+ /** Create a new object. */
430
+ createObject(options: CreateObjectOptions): Promise<{
431
+ object: RoolObject;
432
+ message: string;
433
+ }>;
434
+ /** Update an existing object. */
435
+ updateObject(objectId: string, options: UpdateObjectOptions): Promise<{
436
+ object: RoolObject;
437
+ message: string;
438
+ }>;
439
+ /** Delete objects by IDs. */
440
+ deleteObjects(objectIds: string[]): Promise<void>;
441
+ /** Send a prompt to the AI agent, scoped to this conversation's history. */
442
+ prompt(text: string, options?: PromptOptions): Promise<{
443
+ message: string;
444
+ objects: RoolObject[];
445
+ }>;
446
+ /** Create a new collection schema. */
447
+ createCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
448
+ /** Alter an existing collection schema. */
449
+ alterCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
450
+ /** Drop a collection schema. */
451
+ dropCollection(name: string): Promise<void>;
452
+ /** Set a space-level metadata value. */
453
+ setMetadata(key: string, value: unknown): void;
454
+ }
328
455
  //# sourceMappingURL=channel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}