@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 +98 -24
- package/dist/channel.d.ts +131 -4
- package/dist/channel.d.ts.map +1 -1
- package/dist/channel.js +294 -30
- package/dist/channel.js.map +1 -1
- package/dist/graphql.d.ts +14 -10
- package/dist/graphql.d.ts.map +1 -1
- package/dist/graphql.js +54 -31
- package/dist/graphql.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/subscription.d.ts.map +1 -1
- package/dist/subscription.js +2 -0
- package/dist/subscription.js.map +1 -1
- package/dist/types.d.ts +36 -6
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
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
|
|
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
|
|
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 (
|
|
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
|
|
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
|
|
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
|
|
976
|
+
// Get interactions for the current conversation
|
|
938
977
|
const interactions = channel.getInteractions();
|
|
939
978
|
// Returns: Interaction[]
|
|
940
979
|
```
|
|
941
980
|
|
|
942
|
-
###
|
|
981
|
+
### Conversation History Methods
|
|
943
982
|
|
|
944
983
|
| Method | Description |
|
|
945
984
|
|--------|-------------|
|
|
946
|
-
| `getInteractions(): Interaction[]` | Get interactions for
|
|
947
|
-
| `getSystemInstruction(): string \| undefined` | Get system instruction for
|
|
948
|
-
| `setSystemInstruction(instruction): Promise<void>` | Set system instruction for
|
|
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
|
|
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
|
|
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
|
-
//
|
|
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
|
|
1008
|
-
- **Page refresh** — Store the channelId in localStorage to resume
|
|
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
|
|
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
|
|
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 `
|
|
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
|
-
//
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
package/dist/channel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,aAAa,EAGb,WAAW,EACX,OAAO,EACP,UAAU,EACV,WAAW,EACX,aAAa,EACb,QAAQ,EACT,MAAM,YAAY,CAAC;AAKpB,wBAAgB,gBAAgB,IAAI,MAAM,CAMzC;AAKD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,wBAAwB;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,6CAA6C;IAC7C,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,WAAY,SAAQ,YAAY,CAAC,aAAa,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,MAAM,CAAS;IAGvB,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,UAAU,CAAW;IAC7B,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,aAAa,CAAS;IAI9B,OAAO,CAAC,iBAAiB,CAAwC;IAEjE,OAAO,CAAC,gBAAgB,CAAgD;IAExE,OAAO,CAAC,aAAa,CAAiC;gBAE1C,MAAM,EAAE,aAAa;
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
|