@rool-dev/sdk 0.9.0-dev.bcd88e4 → 0.9.0-dev.c1da33d
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 +328 -159
- package/dist/channel.d.ts +95 -184
- package/dist/channel.d.ts.map +1 -1
- package/dist/channel.js +363 -349
- package/dist/channel.js.map +1 -1
- package/dist/client.d.ts +32 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +57 -57
- package/dist/client.js.map +1 -1
- package/dist/graphql.d.ts +35 -19
- package/dist/graphql.d.ts.map +1 -1
- package/dist/graphql.js +112 -128
- package/dist/graphql.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/locations.d.ts +34 -0
- package/dist/locations.d.ts.map +1 -0
- package/dist/locations.js +90 -0
- package/dist/locations.js.map +1 -0
- package/dist/rest.d.ts +18 -0
- package/dist/rest.d.ts.map +1 -0
- package/dist/rest.js +46 -0
- package/dist/rest.js.map +1 -0
- package/dist/space.d.ts +11 -4
- package/dist/space.d.ts.map +1 -1
- package/dist/space.js +25 -45
- package/dist/space.js.map +1 -1
- package/dist/subscription.d.ts.map +1 -1
- package/dist/subscription.js +9 -12
- package/dist/subscription.js.map +1 -1
- package/dist/types.d.ts +62 -56
- package/dist/types.d.ts.map +1 -1
- package/dist/webdav.d.ts +159 -0
- package/dist/webdav.d.ts.map +1 -0
- package/dist/webdav.js +483 -0
- package/dist/webdav.js.map +1 -0
- package/package.json +1 -1
- package/dist/media.d.ts +0 -70
- package/dist/media.d.ts.map +0 -1
- package/dist/media.js +0 -228
- package/dist/media.js.map +0 -1
package/dist/channel.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { EventEmitter } from './event-emitter.js';
|
|
2
2
|
import type { GraphQLClient } from './graphql.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { RestClient } from './rest.js';
|
|
4
|
+
import type { RoolWebDAV } from './webdav.js';
|
|
4
5
|
import type { Logger } from './logger.js';
|
|
5
|
-
import type { RoolObject, RoolObjectStat, ChannelEvents, RoolUserRole, PromptOptions, FindObjectsOptions, CreateObjectOptions, UpdateObjectOptions,
|
|
6
|
+
import type { RoolObject, RoolObjectStat, ChannelEvents, RoolUserRole, PromptOptions, FindObjectsOptions, CreateObjectOptions, UpdateObjectOptions, MoveObjectOptions, ChannelEvent, Interaction, Channel, ConversationInfo, LinkAccess, SpaceSchema, CollectionDef, FieldDef, ExtensionManifest } from './types.js';
|
|
6
7
|
export declare function generateEntityId(): string;
|
|
7
8
|
export interface ChannelConfig {
|
|
8
9
|
id: string;
|
|
@@ -11,9 +12,9 @@ export interface ChannelConfig {
|
|
|
11
12
|
linkAccess: LinkAccess;
|
|
12
13
|
/** Current user's ID (for identifying own interactions) */
|
|
13
14
|
userId: string;
|
|
14
|
-
/** Object
|
|
15
|
-
|
|
16
|
-
/** Object stats keyed by
|
|
15
|
+
/** Object locations in the space (sorted by modifiedAt desc) */
|
|
16
|
+
objectLocations: string[];
|
|
17
|
+
/** Object stats keyed by location */
|
|
17
18
|
objectStats: Record<string, RoolObjectStat>;
|
|
18
19
|
/** Collection schema */
|
|
19
20
|
schema: SpaceSchema;
|
|
@@ -24,7 +25,8 @@ export interface ChannelConfig {
|
|
|
24
25
|
/** Channel ID for this channel (required). */
|
|
25
26
|
channelId: string;
|
|
26
27
|
graphqlClient: GraphQLClient;
|
|
27
|
-
|
|
28
|
+
restClient: RestClient;
|
|
29
|
+
webdav: RoolWebDAV;
|
|
28
30
|
logger: Logger;
|
|
29
31
|
onClose: () => void;
|
|
30
32
|
}
|
|
@@ -35,16 +37,10 @@ export interface ChannelConfig {
|
|
|
35
37
|
* at open time and cannot be changed. To use a different channel,
|
|
36
38
|
* open a second one.
|
|
37
39
|
*
|
|
38
|
-
* Objects are
|
|
39
|
-
*
|
|
40
|
+
* Objects are addressed by location (`/space/<collection>/<basename>.json`).
|
|
41
|
+
* Only schema, metadata, the live object location list, and the channel's own
|
|
42
|
+
* history are cached locally. Object bodies are fetched on demand. Changes
|
|
40
43
|
* arrive via SSE semantic events and are emitted as SDK events.
|
|
41
|
-
*
|
|
42
|
-
* Features:
|
|
43
|
-
* - High-level object operations
|
|
44
|
-
* - Built-in undo/redo with checkpoints
|
|
45
|
-
* - Metadata management
|
|
46
|
-
* - Event emission for state changes
|
|
47
|
-
* - Real-time updates via space-specific subscription
|
|
48
44
|
*/
|
|
49
45
|
export declare class RoolChannel extends EventEmitter<ChannelEvents> {
|
|
50
46
|
private _id;
|
|
@@ -56,13 +52,14 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
|
|
|
56
52
|
private _conversationId;
|
|
57
53
|
private _closed;
|
|
58
54
|
private graphqlClient;
|
|
59
|
-
private
|
|
55
|
+
private restClient;
|
|
56
|
+
private webdav;
|
|
60
57
|
private onCloseCallback;
|
|
61
58
|
private logger;
|
|
62
59
|
private _meta;
|
|
63
60
|
private _schema;
|
|
64
61
|
private _channel;
|
|
65
|
-
private
|
|
62
|
+
private _objectLocations;
|
|
66
63
|
private _objectStats;
|
|
67
64
|
private _activeLeaves;
|
|
68
65
|
private _pendingMutations;
|
|
@@ -83,7 +80,7 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
|
|
|
83
80
|
_applyResyncData(data: {
|
|
84
81
|
meta: Record<string, unknown>;
|
|
85
82
|
schema: SpaceSchema;
|
|
86
|
-
|
|
83
|
+
objectLocations: string[];
|
|
87
84
|
objectStats: Record<string, RoolObjectStat>;
|
|
88
85
|
channel: Channel | undefined;
|
|
89
86
|
}): void;
|
|
@@ -160,10 +157,6 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
|
|
|
160
157
|
deleteConversation(conversationId: string): Promise<void>;
|
|
161
158
|
/**
|
|
162
159
|
* Get a handle for a specific conversation within this channel.
|
|
163
|
-
* The handle scopes AI and mutation operations to that conversation's
|
|
164
|
-
* interaction history, while sharing the channel's single SSE connection.
|
|
165
|
-
*
|
|
166
|
-
* Conversations are auto-created on first interaction — no explicit create needed.
|
|
167
160
|
*/
|
|
168
161
|
conversation(conversationId: string): ConversationHandle;
|
|
169
162
|
/**
|
|
@@ -173,57 +166,32 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
|
|
|
173
166
|
close(): void;
|
|
174
167
|
/**
|
|
175
168
|
* Create a checkpoint of the current space state.
|
|
176
|
-
* Checkpoints are space-wide and shared across channels and users.
|
|
177
|
-
* @returns The checkpoint ID
|
|
178
169
|
*/
|
|
179
170
|
checkpoint(label?: string): Promise<string>;
|
|
180
|
-
/**
|
|
181
|
-
* Check if undo is available for this space.
|
|
182
|
-
*/
|
|
171
|
+
/** Check if undo is available for this space. */
|
|
183
172
|
canUndo(): Promise<boolean>;
|
|
184
|
-
/**
|
|
185
|
-
* Check if redo is available for this space.
|
|
186
|
-
*/
|
|
173
|
+
/** Check if redo is available for this space. */
|
|
187
174
|
canRedo(): Promise<boolean>;
|
|
188
|
-
/**
|
|
189
|
-
* Restore the space to the most recent checkpoint.
|
|
190
|
-
* @returns true if undo was performed
|
|
191
|
-
*/
|
|
175
|
+
/** Restore the space to the most recent checkpoint. */
|
|
192
176
|
undo(): Promise<boolean>;
|
|
193
|
-
/**
|
|
194
|
-
* Reapply the most recently undone checkpoint.
|
|
195
|
-
* Affects the entire space.
|
|
196
|
-
* @returns true if redo was performed
|
|
197
|
-
*/
|
|
177
|
+
/** Reapply the most recently undone checkpoint. */
|
|
198
178
|
redo(): Promise<boolean>;
|
|
199
|
-
/**
|
|
200
|
-
* Clear the space's checkpoint history.
|
|
201
|
-
*/
|
|
179
|
+
/** Clear the space's checkpoint history. */
|
|
202
180
|
clearHistory(): Promise<void>;
|
|
203
181
|
/**
|
|
204
|
-
* Get an object
|
|
205
|
-
*
|
|
182
|
+
* Get an object by location. Fetches from the server on each call.
|
|
183
|
+
*
|
|
184
|
+
* Accepts either the canonical form (`/space/<collection>/<basename>.json`)
|
|
185
|
+
* or the short form (`<collection>/<basename>`).
|
|
206
186
|
*/
|
|
207
|
-
getObject(
|
|
187
|
+
getObject(location: string): Promise<RoolObject | undefined>;
|
|
208
188
|
/**
|
|
209
189
|
* Get an object's stat (audit information).
|
|
210
|
-
* Returns
|
|
190
|
+
* Returns the cached stat or undefined if not known.
|
|
211
191
|
*/
|
|
212
|
-
stat(
|
|
192
|
+
stat(location: string): RoolObjectStat | undefined;
|
|
213
193
|
/**
|
|
214
194
|
* Find objects using structured filters and/or natural language.
|
|
215
|
-
*
|
|
216
|
-
* `where` provides exact-match filtering — values must match literally (no placeholders or operators).
|
|
217
|
-
* `prompt` enables AI-powered semantic queries. When both are provided, `where` and `objectIds`
|
|
218
|
-
* constrain the data set before the AI sees it.
|
|
219
|
-
*
|
|
220
|
-
* @param options.where - Exact-match field filter (e.g. `{ type: 'article' }`). Constrains which objects the AI can see when combined with `prompt`.
|
|
221
|
-
* @param options.prompt - Natural language query. Triggers AI evaluation (uses credits).
|
|
222
|
-
* @param options.limit - Maximum number of results to return (applies to structured filtering only; the AI controls its own result size).
|
|
223
|
-
* @param options.objectIds - Scope search to specific object IDs. Constrains the candidate set in both structured and AI queries.
|
|
224
|
-
* @param options.order - Sort order by modifiedAt: `'asc'` or `'desc'` (default: `'desc'`). Only applies to structured filtering (no `prompt`).
|
|
225
|
-
* @param options.ephemeral - If true, the query won't be recorded in interaction history.
|
|
226
|
-
* @returns The matching objects and a descriptive message.
|
|
227
195
|
*/
|
|
228
196
|
findObjects(options: FindObjectsOptions): Promise<{
|
|
229
197
|
objects: RoolObject[];
|
|
@@ -235,127 +203,116 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
|
|
|
235
203
|
message: string;
|
|
236
204
|
}>;
|
|
237
205
|
/**
|
|
238
|
-
* Get all object
|
|
206
|
+
* Get all object locations (sync, from local cache).
|
|
239
207
|
* The list is loaded on open and kept current via SSE events.
|
|
240
|
-
* @param options.limit - Maximum number of IDs to return
|
|
241
|
-
* @param options.order - Sort order by modifiedAt ('asc' or 'desc', default: 'desc')
|
|
242
208
|
*/
|
|
243
|
-
|
|
209
|
+
getObjectLocations(options?: {
|
|
244
210
|
limit?: number;
|
|
245
211
|
order?: 'asc' | 'desc';
|
|
246
212
|
}): string[];
|
|
247
213
|
/**
|
|
248
|
-
* Create a new object
|
|
249
|
-
*
|
|
214
|
+
* Create a new object in the given collection.
|
|
215
|
+
*
|
|
216
|
+
* @param collection - The collection (must exist in the schema)
|
|
217
|
+
* @param body - Object body fields. Use `{{placeholder}}` for AI-generated content.
|
|
218
|
+
* Fields prefixed with `_` are hidden from AI. Must not contain
|
|
219
|
+
* `id` or `type` (identity lives on the location).
|
|
220
|
+
* @param options.basename - Specific basename to use. If omitted, the SDK generates a random one.
|
|
250
221
|
* @param options.ephemeral - If true, the operation won't be recorded in interaction history.
|
|
251
|
-
* @returns The created object
|
|
222
|
+
* @returns The created object and a status message.
|
|
252
223
|
*/
|
|
253
|
-
createObject(
|
|
224
|
+
createObject(collection: string, body: Record<string, unknown>, options?: CreateObjectOptions): Promise<{
|
|
254
225
|
object: RoolObject;
|
|
255
226
|
message: string;
|
|
256
227
|
}>;
|
|
257
228
|
/** @internal */
|
|
258
|
-
_createObjectImpl(options: CreateObjectOptions, conversationId: string): Promise<{
|
|
229
|
+
_createObjectImpl(collection: string, body: Record<string, unknown>, options: CreateObjectOptions | undefined, conversationId: string): Promise<{
|
|
259
230
|
object: RoolObject;
|
|
260
231
|
message: string;
|
|
261
232
|
}>;
|
|
262
233
|
/**
|
|
263
234
|
* Update an existing object.
|
|
264
|
-
*
|
|
265
|
-
* @param
|
|
266
|
-
* @param options.
|
|
235
|
+
*
|
|
236
|
+
* @param location - The object's location (canonical or short form)
|
|
237
|
+
* @param options.data - Fields to add or update. Pass `null` to delete a field. Use `{{placeholder}}` for AI-generated content.
|
|
238
|
+
* @param options.prompt - AI prompt to drive the update.
|
|
267
239
|
* @param options.ephemeral - If true, the operation won't be recorded in interaction history.
|
|
268
|
-
* @returns The updated object (with AI-filled content) and message
|
|
269
240
|
*/
|
|
270
|
-
updateObject(
|
|
241
|
+
updateObject(location: string, options: UpdateObjectOptions): Promise<{
|
|
271
242
|
object: RoolObject;
|
|
272
243
|
message: string;
|
|
273
244
|
}>;
|
|
274
245
|
/** @internal */
|
|
275
|
-
_updateObjectImpl(
|
|
246
|
+
_updateObjectImpl(location: string, options: UpdateObjectOptions, conversationId: string): Promise<{
|
|
276
247
|
object: RoolObject;
|
|
277
248
|
message: string;
|
|
278
249
|
}>;
|
|
279
250
|
/**
|
|
280
|
-
*
|
|
281
|
-
*
|
|
251
|
+
* Move (rename or relocate) an object to a new location.
|
|
252
|
+
* Use this to rename, change collection, or atomically rewrite the body.
|
|
253
|
+
*
|
|
254
|
+
* @param from - Current location
|
|
255
|
+
* @param to - New location
|
|
256
|
+
* @param options.body - Replace the body atomically as part of the move.
|
|
257
|
+
* @param options.ephemeral - If true, the operation won't be recorded in interaction history.
|
|
282
258
|
*/
|
|
283
|
-
|
|
259
|
+
moveObject(from: string, to: string, options?: MoveObjectOptions): Promise<{
|
|
260
|
+
object: RoolObject;
|
|
261
|
+
message: string;
|
|
262
|
+
}>;
|
|
284
263
|
/** @internal */
|
|
285
|
-
|
|
264
|
+
_moveObjectImpl(from: string, to: string, options: MoveObjectOptions | undefined, conversationId: string): Promise<{
|
|
265
|
+
object: RoolObject;
|
|
266
|
+
message: string;
|
|
267
|
+
}>;
|
|
286
268
|
/**
|
|
287
|
-
*
|
|
288
|
-
*
|
|
269
|
+
* Delete objects by location.
|
|
270
|
+
* Other objects that reference deleted objects will retain stale ref values.
|
|
289
271
|
*/
|
|
272
|
+
deleteObjects(locations: string[]): Promise<void>;
|
|
273
|
+
/** @internal */
|
|
274
|
+
_deleteObjectsImpl(locations: string[], conversationId: string): Promise<void>;
|
|
275
|
+
/** Get the current schema for this space. */
|
|
290
276
|
getSchema(): SpaceSchema;
|
|
291
|
-
/**
|
|
292
|
-
* Create a new collection schema.
|
|
293
|
-
* @param name - Collection name (must start with a letter, alphanumeric/hyphens/underscores only)
|
|
294
|
-
* @param fields - Field definitions for the collection
|
|
295
|
-
* @returns The created CollectionDef
|
|
296
|
-
*/
|
|
277
|
+
/** Create a new collection schema. */
|
|
297
278
|
createCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
|
|
298
279
|
/** @internal */
|
|
299
280
|
_createCollectionImpl(name: string, fields: FieldDef[], conversationId: string): Promise<CollectionDef>;
|
|
300
|
-
/**
|
|
301
|
-
* Alter an existing collection schema, replacing its field definitions.
|
|
302
|
-
* @param name - Name of the collection to alter
|
|
303
|
-
* @param fields - New field definitions (replaces all existing fields)
|
|
304
|
-
* @returns The updated CollectionDef
|
|
305
|
-
*/
|
|
281
|
+
/** Alter an existing collection schema, replacing its field definitions. */
|
|
306
282
|
alterCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
|
|
307
283
|
/** @internal */
|
|
308
284
|
_alterCollectionImpl(name: string, fields: FieldDef[], conversationId: string): Promise<CollectionDef>;
|
|
309
|
-
/**
|
|
310
|
-
* Drop a collection schema.
|
|
311
|
-
* @param name - Name of the collection to drop
|
|
312
|
-
*/
|
|
285
|
+
/** Drop a collection schema. */
|
|
313
286
|
dropCollection(name: string): Promise<void>;
|
|
314
287
|
/** @internal */
|
|
315
288
|
_dropCollectionImpl(name: string, conversationId: string): Promise<void>;
|
|
316
289
|
/**
|
|
317
290
|
* Get the system instruction for the current conversation.
|
|
318
|
-
* Returns undefined if no system instruction is set.
|
|
319
291
|
*/
|
|
320
292
|
getSystemInstruction(): string | undefined;
|
|
321
293
|
/** @internal */
|
|
322
294
|
_getSystemInstructionImpl(conversationId: string): string | undefined;
|
|
323
|
-
/**
|
|
324
|
-
* Set the system instruction for the current conversation.
|
|
325
|
-
* Pass null to clear the instruction.
|
|
326
|
-
*/
|
|
295
|
+
/** Set the system instruction for the current conversation. */
|
|
327
296
|
setSystemInstruction(instruction: string | null): Promise<void>;
|
|
328
297
|
/** @internal */
|
|
329
298
|
_setSystemInstructionImpl(instruction: string | null, conversationId: string): Promise<void>;
|
|
330
|
-
/**
|
|
331
|
-
* Rename the current conversation.
|
|
332
|
-
*/
|
|
299
|
+
/** Rename the current conversation. */
|
|
333
300
|
renameConversation(name: string): Promise<void>;
|
|
334
301
|
/** @internal */
|
|
335
302
|
_renameConversationImpl(name: string, conversationId: string): Promise<void>;
|
|
336
|
-
/**
|
|
337
|
-
* Ensure a conversation exists in the local channel cache.
|
|
338
|
-
* @internal
|
|
339
|
-
*/
|
|
303
|
+
/** @internal */
|
|
340
304
|
_ensureConversationImpl(conversationId: string): void;
|
|
341
|
-
/**
|
|
342
|
-
* Set a space-level metadata value.
|
|
343
|
-
* Metadata is stored in meta and hidden from AI operations.
|
|
344
|
-
*/
|
|
305
|
+
/** Set a space-level metadata value. */
|
|
345
306
|
setMetadata(key: string, value: unknown): void;
|
|
346
307
|
/** @internal */
|
|
347
308
|
_setMetadataImpl(key: string, value: unknown, conversationId: string): void;
|
|
348
|
-
/**
|
|
349
|
-
* Get a space-level metadata value.
|
|
350
|
-
*/
|
|
309
|
+
/** Get a space-level metadata value. */
|
|
351
310
|
getMetadata(key: string): unknown;
|
|
352
|
-
/**
|
|
353
|
-
* Get all space-level metadata.
|
|
354
|
-
*/
|
|
311
|
+
/** Get all space-level metadata. */
|
|
355
312
|
getAllMetadata(): Record<string, unknown>;
|
|
356
313
|
/**
|
|
357
314
|
* Send a prompt to the AI agent for space manipulation.
|
|
358
|
-
* @returns The message from the AI and the list of objects that were created or modified
|
|
315
|
+
* @returns The message from the AI and the list of objects that were created or modified.
|
|
359
316
|
*/
|
|
360
317
|
prompt(prompt: string, options?: PromptOptions): Promise<{
|
|
361
318
|
message: string;
|
|
@@ -366,94 +323,43 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
|
|
|
366
323
|
message: string;
|
|
367
324
|
objects: RoolObject[];
|
|
368
325
|
}>;
|
|
369
|
-
/**
|
|
370
|
-
* Rename this channel.
|
|
371
|
-
*/
|
|
326
|
+
/** Rename this channel. */
|
|
372
327
|
rename(newName: string): Promise<void>;
|
|
373
|
-
/**
|
|
374
|
-
* List all media files for this space.
|
|
375
|
-
*/
|
|
376
|
-
listMedia(): Promise<MediaInfo[]>;
|
|
377
|
-
/**
|
|
378
|
-
* Upload a file to this space. Returns the URL.
|
|
379
|
-
*/
|
|
380
|
-
uploadMedia(file: File | Blob | {
|
|
381
|
-
data: string;
|
|
382
|
-
contentType: string;
|
|
383
|
-
}): Promise<string>;
|
|
384
|
-
/**
|
|
385
|
-
* Fetch any URL, returning headers and a blob() method (like fetch Response).
|
|
386
|
-
* Adds auth headers for backend media URLs, fetches external URLs via server proxy if CORS blocks.
|
|
387
|
-
* Pass `{ forceProxy: true }` to skip the direct fetch and go straight through the server proxy.
|
|
388
|
-
*/
|
|
389
|
-
fetchMedia(url: string, options?: {
|
|
390
|
-
forceProxy?: boolean;
|
|
391
|
-
}): Promise<MediaResponse>;
|
|
392
|
-
/**
|
|
393
|
-
* Delete a media file by URL.
|
|
394
|
-
*/
|
|
395
|
-
deleteMedia(url: string): Promise<void>;
|
|
396
328
|
/**
|
|
397
329
|
* Fetch an external URL via the server proxy, bypassing CORS restrictions.
|
|
398
|
-
* Requires editor role or above. Blocked for private/internal IP ranges (SSRF protection).
|
|
399
|
-
*
|
|
400
|
-
* @param url - The URL to fetch
|
|
401
|
-
* @param init - Optional method, headers, and body
|
|
402
|
-
* @returns The proxied Response
|
|
403
330
|
*/
|
|
404
331
|
fetch(url: string, init?: {
|
|
405
332
|
method?: string;
|
|
406
333
|
headers?: Record<string, string>;
|
|
407
334
|
body?: unknown;
|
|
408
335
|
}): Promise<Response>;
|
|
336
|
+
private uploadAttachment;
|
|
337
|
+
private ensureCollection;
|
|
409
338
|
/**
|
|
410
339
|
* Register a collector that resolves when the object arrives via SSE.
|
|
411
|
-
* If the object is already in the buffer (arrived before collector), resolves immediately.
|
|
412
340
|
* @internal
|
|
413
341
|
*/
|
|
414
342
|
private _collectObject;
|
|
415
|
-
/**
|
|
416
|
-
* Cancel a pending object collector (e.g., on mutation error).
|
|
417
|
-
* @internal
|
|
418
|
-
*/
|
|
343
|
+
/** @internal */
|
|
419
344
|
private _cancelCollector;
|
|
420
|
-
/**
|
|
421
|
-
* Deliver an object to a pending collector, or buffer it for later collection.
|
|
422
|
-
* @internal
|
|
423
|
-
*/
|
|
345
|
+
/** @internal */
|
|
424
346
|
private _deliverObject;
|
|
425
347
|
/**
|
|
426
348
|
* Handle a channel event from the subscription.
|
|
427
349
|
* @internal
|
|
428
350
|
*/
|
|
429
351
|
private handleChannelEvent;
|
|
430
|
-
/**
|
|
431
|
-
* Handle an object_created SSE event.
|
|
432
|
-
* Deduplicates against optimistic local creates.
|
|
433
|
-
* @internal
|
|
434
|
-
*/
|
|
352
|
+
/** @internal */
|
|
435
353
|
private _handleObjectCreated;
|
|
436
|
-
/**
|
|
437
|
-
* Handle an object_updated SSE event.
|
|
438
|
-
* Deduplicates against optimistic local updates.
|
|
439
|
-
* @internal
|
|
440
|
-
*/
|
|
354
|
+
/** @internal */
|
|
441
355
|
private _handleObjectUpdated;
|
|
442
|
-
/**
|
|
443
|
-
* Handle an object_deleted SSE event.
|
|
444
|
-
* Deduplicates against optimistic local deletes.
|
|
445
|
-
* @internal
|
|
446
|
-
*/
|
|
356
|
+
/** @internal */
|
|
447
357
|
private _handleObjectDeleted;
|
|
358
|
+
/** @internal */
|
|
359
|
+
private _handleObjectMoved;
|
|
448
360
|
}
|
|
449
361
|
/**
|
|
450
362
|
* A lightweight handle for a specific conversation within a channel.
|
|
451
|
-
*
|
|
452
|
-
* Scopes AI and mutation operations to a particular conversation's interaction
|
|
453
|
-
* history, while sharing the channel's single SSE connection and object state.
|
|
454
|
-
*
|
|
455
|
-
* Obtain via `channel.conversation('thread-id')`.
|
|
456
|
-
* Conversations are auto-created on first interaction.
|
|
457
363
|
*/
|
|
458
364
|
export declare class ConversationHandle {
|
|
459
365
|
/** @internal */
|
|
@@ -483,17 +389,22 @@ export declare class ConversationHandle {
|
|
|
483
389
|
message: string;
|
|
484
390
|
}>;
|
|
485
391
|
/** Create a new object. */
|
|
486
|
-
createObject(
|
|
392
|
+
createObject(collection: string, body: Record<string, unknown>, options?: CreateObjectOptions): Promise<{
|
|
487
393
|
object: RoolObject;
|
|
488
394
|
message: string;
|
|
489
395
|
}>;
|
|
490
396
|
/** Update an existing object. */
|
|
491
|
-
updateObject(
|
|
397
|
+
updateObject(location: string, options: UpdateObjectOptions): Promise<{
|
|
398
|
+
object: RoolObject;
|
|
399
|
+
message: string;
|
|
400
|
+
}>;
|
|
401
|
+
/** Move (rename/relocate) an object. */
|
|
402
|
+
moveObject(from: string, to: string, options?: MoveObjectOptions): Promise<{
|
|
492
403
|
object: RoolObject;
|
|
493
404
|
message: string;
|
|
494
405
|
}>;
|
|
495
|
-
/** Delete objects by
|
|
496
|
-
deleteObjects(
|
|
406
|
+
/** Delete objects by location. */
|
|
407
|
+
deleteObjects(locations: string[]): Promise<void>;
|
|
497
408
|
/** Send a prompt to the AI agent, scoped to this conversation's history. */
|
|
498
409
|
prompt(text: string, options?: PromptOptions): Promise<{
|
|
499
410
|
message: string;
|
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,
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
|