@rool-dev/sdk 0.8.1 → 0.8.2-dev.d82ea25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +465 -1005
  2. package/dist/channel.d.ts +93 -248
  3. package/dist/channel.d.ts.map +1 -1
  4. package/dist/channel.js +410 -577
  5. package/dist/channel.js.map +1 -1
  6. package/dist/client.d.ts +14 -40
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +31 -116
  9. package/dist/client.js.map +1 -1
  10. package/dist/graphql.d.ts +11 -35
  11. package/dist/graphql.d.ts.map +1 -1
  12. package/dist/graphql.js +72 -298
  13. package/dist/graphql.js.map +1 -1
  14. package/dist/index.d.ts +4 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +4 -4
  17. package/dist/index.js.map +1 -1
  18. package/dist/path.d.ts +6 -0
  19. package/dist/path.d.ts.map +1 -0
  20. package/dist/path.js +47 -0
  21. package/dist/path.js.map +1 -0
  22. package/dist/reroute.d.ts +22 -0
  23. package/dist/reroute.d.ts.map +1 -0
  24. package/dist/reroute.js +61 -0
  25. package/dist/reroute.js.map +1 -0
  26. package/dist/rest.d.ts +27 -0
  27. package/dist/rest.d.ts.map +1 -0
  28. package/dist/rest.js +78 -0
  29. package/dist/rest.js.map +1 -0
  30. package/dist/router.d.ts.map +1 -1
  31. package/dist/router.js +25 -10
  32. package/dist/router.js.map +1 -1
  33. package/dist/space.d.ts +23 -16
  34. package/dist/space.d.ts.map +1 -1
  35. package/dist/space.js +115 -67
  36. package/dist/space.js.map +1 -1
  37. package/dist/subscription.d.ts.map +1 -1
  38. package/dist/subscription.js +47 -36
  39. package/dist/subscription.js.map +1 -1
  40. package/dist/types.d.ts +86 -203
  41. package/dist/types.d.ts.map +1 -1
  42. package/dist/types.js +0 -4
  43. package/dist/types.js.map +1 -1
  44. package/dist/webdav.d.ts +176 -0
  45. package/dist/webdav.d.ts.map +1 -0
  46. package/dist/webdav.js +495 -0
  47. package/dist/webdav.js.map +1 -0
  48. package/package.json +2 -1
  49. package/dist/apps.d.ts +0 -30
  50. package/dist/apps.d.ts.map +0 -1
  51. package/dist/apps.js +0 -81
  52. package/dist/apps.js.map +0 -1
  53. package/dist/media.d.ts +0 -76
  54. package/dist/media.d.ts.map +0 -1
  55. package/dist/media.js +0 -249
  56. 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 { MediaClient } from './media.js';
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, MediaInfo, MediaResponse, ChannelEvent, Interaction, Channel, ConversationInfo, LinkAccess, SpaceSchema, CollectionDef, FieldDef, ExtensionManifest } from './types.js';
6
+ import type { RoolObject, GetObjectsResult, RoolObjectStat, ChannelEvents, RoolUserRole, PromptOptions, UpdateObjectOptions, MoveObjectOptions, ChannelEvent, Interaction, Channel, ConversationInfo, LinkAccess, SpaceSchema, CollectionDef, FieldDef, CollectionOptions } from './types.js';
6
7
  export declare function generateEntityId(): string;
7
8
  export interface ChannelConfig {
8
9
  id: string;
@@ -11,9 +12,7 @@ export interface ChannelConfig {
11
12
  linkAccess: LinkAccess;
12
13
  /** Current user's ID (for identifying own interactions) */
13
14
  userId: string;
14
- /** Object IDs in the space (sorted by modifiedAt desc) */
15
- objectIds: string[];
16
- /** Object stats keyed by object ID */
15
+ /** Object stats keyed by path */
17
16
  objectStats: Record<string, RoolObjectStat>;
18
17
  /** Collection schema */
19
18
  schema: SpaceSchema;
@@ -24,7 +23,8 @@ export interface ChannelConfig {
24
23
  /** Channel ID for this channel (required). */
25
24
  channelId: string;
26
25
  graphqlClient: GraphQLClient;
27
- mediaClient: MediaClient;
26
+ restClient: RestClient;
27
+ webdav: RoolWebDAV;
28
28
  logger: Logger;
29
29
  onClose: () => void;
30
30
  }
@@ -35,16 +35,10 @@ export interface ChannelConfig {
35
35
  * at open time and cannot be changed. To use a different channel,
36
36
  * open a second one.
37
37
  *
38
- * Objects are fetched on demand from the server; only schema, metadata,
39
- * and the channel's own history are cached locally. Object changes
40
- * 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
38
+ * Objects are addressed by machine path (`/space/.../*.json`).
39
+ * Only schema, metadata, object stats, and the channel's own history are cached
40
+ * locally. Object bodies are fetched on demand. Object/file reactivity is
41
+ * exposed at the space level via WebDAV sync notifications.
48
42
  */
49
43
  export declare class RoolChannel extends EventEmitter<ChannelEvents> {
50
44
  private _id;
@@ -56,18 +50,15 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
56
50
  private _conversationId;
57
51
  private _closed;
58
52
  private graphqlClient;
59
- private mediaClient;
53
+ private restClient;
54
+ private webdav;
60
55
  private onCloseCallback;
61
56
  private logger;
62
57
  private _meta;
63
58
  private _schema;
64
59
  private _channel;
65
- private _objectIds;
66
60
  private _objectStats;
67
61
  private _activeLeaves;
68
- private _pendingMutations;
69
- private _objectResolvers;
70
- private _objectBuffer;
71
62
  constructor(config: ChannelConfig);
72
63
  /**
73
64
  * Handle an event from the shared space subscription.
@@ -83,7 +74,6 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
83
74
  _applyResyncData(data: {
84
75
  meta: Record<string, unknown>;
85
76
  schema: SpaceSchema;
86
- objectIds: string[];
87
77
  objectStats: Record<string, RoolObjectStat>;
88
78
  channel: Channel | undefined;
89
79
  }): void;
@@ -108,18 +98,6 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
108
98
  */
109
99
  get conversationId(): string;
110
100
  get isReadOnly(): boolean;
111
- /**
112
- * Get the extension URL if this channel was created via installExtension, or null.
113
- */
114
- get extensionUrl(): string | null;
115
- /**
116
- * Get the extension ID if this channel has an installed extension, or null.
117
- */
118
- get extensionId(): string | null;
119
- /**
120
- * Get the extension manifest if this channel has an installed extension, or null.
121
- */
122
- get manifest(): ExtensionManifest | null;
123
101
  /**
124
102
  * Get the active branch of the current conversation as a flat array (root → leaf).
125
103
  * Walks from the active leaf up through parentId pointers.
@@ -160,10 +138,6 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
160
138
  deleteConversation(conversationId: string): Promise<void>;
161
139
  /**
162
140
  * 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
141
  */
168
142
  conversation(conversationId: string): ConversationHandle;
169
143
  /**
@@ -173,189 +147,103 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
173
147
  close(): void;
174
148
  /**
175
149
  * 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
150
  */
179
151
  checkpoint(label?: string): Promise<string>;
180
- /**
181
- * Check if undo is available for this space.
182
- */
152
+ /** Check if undo is available for this space. */
183
153
  canUndo(): Promise<boolean>;
184
- /**
185
- * Check if redo is available for this space.
186
- */
154
+ /** Check if redo is available for this space. */
187
155
  canRedo(): Promise<boolean>;
188
- /**
189
- * Restore the space to the most recent checkpoint.
190
- * @returns true if undo was performed
191
- */
156
+ /** Restore the space to the most recent checkpoint. */
192
157
  undo(): Promise<boolean>;
193
- /**
194
- * Reapply the most recently undone checkpoint.
195
- * Affects the entire space.
196
- * @returns true if redo was performed
197
- */
158
+ /** Reapply the most recently undone checkpoint. */
198
159
  redo(): Promise<boolean>;
199
- /**
200
- * Clear the space's checkpoint history.
201
- */
160
+ /** Clear the space's checkpoint history. */
202
161
  clearHistory(): Promise<void>;
203
- /**
204
- * Get an object's data by ID.
205
- * Fetches from the server on each call.
206
- */
207
- getObject(objectId: string): Promise<RoolObject | undefined>;
208
- /**
209
- * Get an object's stat (audit information).
210
- * Returns modification timestamp and author, or undefined if object not found.
211
- */
212
- stat(objectId: string): RoolObjectStat | undefined;
213
- /**
214
- * 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
- */
228
- findObjects(options: FindObjectsOptions): Promise<{
229
- objects: RoolObject[];
162
+ private davHeaders;
163
+ private readObject;
164
+ /** Get an object JSON file by machine path. Fetches from the server on each call. */
165
+ getObject(path: string): Promise<RoolObject | undefined>;
166
+ /** Get object JSON files by machine path in bulk. Duplicate paths are fetched once. */
167
+ getObjects(paths: string[]): Promise<GetObjectsResult>;
168
+ /** Get an object's cached audit information. */
169
+ stat(path: string): RoolObjectStat | undefined;
170
+ /** Create or replace an object JSON file at an exact machine path. */
171
+ putObject(path: string, body: Record<string, unknown>): Promise<{
172
+ object: RoolObject;
230
173
  message: string;
231
174
  }>;
232
175
  /** @internal */
233
- _findObjectsImpl(options: FindObjectsOptions, conversationId: string): Promise<{
234
- objects: RoolObject[];
176
+ _putObjectImpl(path: string, body: Record<string, unknown>, conversationId: string): Promise<{
177
+ object: RoolObject;
235
178
  message: string;
236
179
  }>;
237
- /**
238
- * Get all object IDs (sync, from local cache).
239
- * 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
- */
243
- getObjectIds(options?: {
244
- limit?: number;
245
- order?: 'asc' | 'desc';
246
- }): string[];
247
- /**
248
- * Create a new object with optional AI generation.
249
- * @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.
250
- * @param options.ephemeral - If true, the operation won't be recorded in interaction history.
251
- * @returns The created object (with AI-filled content) and message
252
- */
253
- createObject(options: CreateObjectOptions): Promise<{
180
+ /** Patch an existing object. Null or undefined deletes a field. */
181
+ patchObject(path: string, options: UpdateObjectOptions): Promise<{
254
182
  object: RoolObject;
255
183
  message: string;
256
184
  }>;
257
185
  /** @internal */
258
- _createObjectImpl(options: CreateObjectOptions, conversationId: string): Promise<{
186
+ _patchObjectImpl(path: string, options: UpdateObjectOptions, conversationId: string): Promise<{
259
187
  object: RoolObject;
260
188
  message: string;
261
189
  }>;
262
- /**
263
- * Update an existing object.
264
- * @param objectId - The ID of the object to update
265
- * @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.
266
- * @param options.prompt - AI prompt for content editing (optional).
267
- * @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
- */
270
- updateObject(objectId: string, options: UpdateObjectOptions): Promise<{
190
+ /** Move an object JSON file to a new machine path, optionally replacing its body. */
191
+ moveObject(from: string, to: string, options?: MoveObjectOptions): Promise<{
271
192
  object: RoolObject;
272
193
  message: string;
273
194
  }>;
274
195
  /** @internal */
275
- _updateObjectImpl(objectId: string, options: UpdateObjectOptions, conversationId: string): Promise<{
196
+ _moveObjectImpl(from: string, to: string, options: MoveObjectOptions | undefined, conversationId: string): Promise<{
276
197
  object: RoolObject;
277
198
  message: string;
278
199
  }>;
279
- /**
280
- * Delete objects by IDs.
281
- * Other objects that reference deleted objects via data fields will retain stale ref values.
282
- */
283
- deleteObjects(objectIds: string[]): Promise<void>;
200
+ /** Delete object JSON files by machine path. */
201
+ deleteObjects(paths: string[]): Promise<void>;
202
+ /** @deprecated Use deleteObjects instead. */
203
+ deletePaths(paths: string[]): Promise<void>;
284
204
  /** @internal */
285
- _deleteObjectsImpl(objectIds: string[], conversationId: string): Promise<void>;
286
- /**
287
- * Get the current schema for this space.
288
- * Returns a map of collection names to their definitions.
289
- */
205
+ _deleteObjectsImpl(paths: string[], conversationId: string): Promise<void>;
206
+ /** Get the current schema for this space. */
290
207
  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
- */
297
- createCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
208
+ /** Create a new collection schema. */
209
+ createCollection(name: string, fields: FieldDef[] | CollectionDef, options?: CollectionOptions): Promise<CollectionDef>;
298
210
  /** @internal */
299
- _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
- */
306
- alterCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
211
+ _createCollectionImpl(name: string, fields: FieldDef[] | CollectionDef, options: CollectionOptions | undefined, conversationId: string): Promise<CollectionDef>;
212
+ /** Alter an existing collection schema, replacing its field definitions. */
213
+ alterCollection(name: string, fields: FieldDef[] | CollectionDef, options?: CollectionOptions): Promise<CollectionDef>;
307
214
  /** @internal */
308
- _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
- */
215
+ _alterCollectionImpl(name: string, fields: FieldDef[] | CollectionDef, options: CollectionOptions | undefined, conversationId: string): Promise<CollectionDef>;
216
+ /** Drop a collection schema. */
313
217
  dropCollection(name: string): Promise<void>;
314
218
  /** @internal */
315
219
  _dropCollectionImpl(name: string, conversationId: string): Promise<void>;
316
220
  /**
317
221
  * Get the system instruction for the current conversation.
318
- * Returns undefined if no system instruction is set.
319
222
  */
320
223
  getSystemInstruction(): string | undefined;
321
224
  /** @internal */
322
225
  _getSystemInstructionImpl(conversationId: string): string | undefined;
323
- /**
324
- * Set the system instruction for the current conversation.
325
- * Pass null to clear the instruction.
326
- */
226
+ /** Set the system instruction for the current conversation. */
327
227
  setSystemInstruction(instruction: string | null): Promise<void>;
328
228
  /** @internal */
329
229
  _setSystemInstructionImpl(instruction: string | null, conversationId: string): Promise<void>;
330
- /**
331
- * Rename the current conversation.
332
- */
230
+ /** Rename the current conversation. */
333
231
  renameConversation(name: string): Promise<void>;
334
232
  /** @internal */
335
233
  _renameConversationImpl(name: string, conversationId: string): Promise<void>;
336
- /**
337
- * Ensure a conversation exists in the local channel cache.
338
- * @internal
339
- */
234
+ /** @internal */
340
235
  _ensureConversationImpl(conversationId: string): void;
341
- /**
342
- * Set a space-level metadata value.
343
- * Metadata is stored in meta and hidden from AI operations.
344
- */
236
+ /** Set a space-level metadata value. */
345
237
  setMetadata(key: string, value: unknown): void;
346
238
  /** @internal */
347
239
  _setMetadataImpl(key: string, value: unknown, conversationId: string): void;
348
- /**
349
- * Get a space-level metadata value.
350
- */
240
+ /** Get a space-level metadata value. */
351
241
  getMetadata(key: string): unknown;
352
- /**
353
- * Get all space-level metadata.
354
- */
242
+ /** Get all space-level metadata. */
355
243
  getAllMetadata(): Record<string, unknown>;
356
244
  /**
357
245
  * 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
246
+ * @returns The message from the AI and the list of objects that were created or modified.
359
247
  */
360
248
  prompt(prompt: string, options?: PromptOptions): Promise<{
361
249
  message: string;
@@ -367,93 +255,43 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
367
255
  objects: RoolObject[];
368
256
  }>;
369
257
  /**
370
- * Rename this channel.
371
- */
372
- 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.
258
+ * Stop the in-flight interaction on the default conversation, if any.
259
+ *
260
+ * No-op returning `false` when the active leaf is already finished or the
261
+ * conversation has no interactions. Stopping is best-effort: the server
262
+ * halts the agent loop and closes the stream, but an LLM turn already in
263
+ * flight keeps generating server-side and is billed.
388
264
  */
389
- fetchMedia(url: string, options?: {
390
- forceProxy?: boolean;
391
- }): Promise<MediaResponse>;
265
+ stop(): Promise<boolean>;
392
266
  /**
393
- * Delete a media file by URL.
267
+ * Request that the server stop a specific in-flight interaction by ID.
268
+ *
269
+ * Returns whether the server stopped an interaction (`false` if it had
270
+ * already finished). Stopping is best-effort — see {@link stop}.
394
271
  */
395
- deleteMedia(url: string): Promise<void>;
272
+ stopInteraction(interactionId: string): Promise<boolean>;
273
+ /** @internal */
274
+ _stopImpl(conversationId: string): Promise<boolean>;
275
+ /** Rename this channel. */
276
+ rename(newName: string): Promise<void>;
396
277
  /**
397
278
  * 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
279
  */
404
280
  fetch(url: string, init?: {
405
281
  method?: string;
406
282
  headers?: Record<string, string>;
407
283
  body?: unknown;
408
284
  }): Promise<Response>;
409
- /**
410
- * 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
- * @internal
413
- */
414
- private _collectObject;
415
- /**
416
- * Cancel a pending object collector (e.g., on mutation error).
417
- * @internal
418
- */
419
- private _cancelCollector;
420
- /**
421
- * Deliver an object to a pending collector, or buffer it for later collection.
422
- * @internal
423
- */
424
- private _deliverObject;
285
+ private uploadAttachment;
286
+ private ensureCollection;
425
287
  /**
426
288
  * Handle a channel event from the subscription.
427
289
  * @internal
428
290
  */
429
291
  private handleChannelEvent;
430
- /**
431
- * Handle an object_created SSE event.
432
- * Deduplicates against optimistic local creates.
433
- * @internal
434
- */
435
- private _handleObjectCreated;
436
- /**
437
- * Handle an object_updated SSE event.
438
- * Deduplicates against optimistic local updates.
439
- * @internal
440
- */
441
- private _handleObjectUpdated;
442
- /**
443
- * Handle an object_deleted SSE event.
444
- * Deduplicates against optimistic local deletes.
445
- * @internal
446
- */
447
- private _handleObjectDeleted;
448
292
  }
449
293
  /**
450
294
  * 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
295
  */
458
296
  export declare class ConversationHandle {
459
297
  /** @internal */
@@ -477,35 +315,42 @@ export declare class ConversationHandle {
477
315
  setSystemInstruction(instruction: string | null): Promise<void>;
478
316
  /** Rename this conversation. */
479
317
  rename(name: string): Promise<void>;
480
- /** Find objects using structured filters and/or natural language. */
481
- findObjects(options: FindObjectsOptions): Promise<{
482
- objects: RoolObject[];
318
+ /** Create or replace an object JSON file. */
319
+ putObject(path: string, body: Record<string, unknown>): Promise<{
320
+ object: RoolObject;
483
321
  message: string;
484
322
  }>;
485
- /** Create a new object. */
486
- createObject(options: CreateObjectOptions): Promise<{
323
+ /** Patch an existing object JSON file. */
324
+ patchObject(path: string, options: UpdateObjectOptions): Promise<{
487
325
  object: RoolObject;
488
326
  message: string;
489
327
  }>;
490
- /** Update an existing object. */
491
- updateObject(objectId: string, options: UpdateObjectOptions): Promise<{
328
+ /** Move (rename/relocate) an object. */
329
+ moveObject(from: string, to: string, options?: MoveObjectOptions): Promise<{
492
330
  object: RoolObject;
493
331
  message: string;
494
332
  }>;
495
- /** Delete objects by IDs. */
496
- deleteObjects(objectIds: string[]): Promise<void>;
333
+ /** Delete object JSON files by path. */
334
+ deleteObjects(paths: string[]): Promise<void>;
335
+ /** @deprecated Use deleteObjects instead. */
336
+ deletePaths(paths: string[]): Promise<void>;
497
337
  /** Send a prompt to the AI agent, scoped to this conversation's history. */
498
338
  prompt(text: string, options?: PromptOptions): Promise<{
499
339
  message: string;
500
340
  objects: RoolObject[];
501
341
  }>;
342
+ /**
343
+ * Stop this conversation's in-flight interaction, if any. No-op returning
344
+ * `false` when nothing is running. Stopping is best-effort — see
345
+ * {@link RoolChannel.stop}.
346
+ */
347
+ stop(): Promise<boolean>;
502
348
  /** Create a new collection schema. */
503
- createCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
349
+ createCollection(name: string, fields: FieldDef[] | CollectionDef, options?: CollectionOptions): Promise<CollectionDef>;
504
350
  /** Alter an existing collection schema. */
505
- alterCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
351
+ alterCollection(name: string, fields: FieldDef[] | CollectionDef, options?: CollectionOptions): Promise<CollectionDef>;
506
352
  /** Drop a collection schema. */
507
353
  dropCollection(name: string): Promise<void>;
508
- /** Set a space-level metadata value. */
509
354
  setMetadata(key: string, value: unknown): void;
510
355
  }
511
356
  //# 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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"}