@rool-dev/sdk 0.10.2-dev.425fd65 → 0.10.2-dev.491e451

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
@@ -2,8 +2,6 @@
2
2
 
3
3
  The TypeScript SDK for Rool, a persistent and collaborative environment for organizing objects.
4
4
 
5
- > **Building a new Rool extension?** Start with [`@rool-dev/extension`](/extension/) — it handles hosting, dev server, and gives you a reactive Svelte channel out of the box. This SDK is for advanced use cases: integrating Rool into an existing application, building Node.js scripts, or working outside the extension sandbox.
6
-
7
5
  The SDK manages authentication, real-time synchronization, and per-space file storage. Core primitives:
8
6
 
9
7
  - **Spaces** — Containers for objects, schema, metadata, channels, and files
@@ -65,10 +63,9 @@ const { message, objects } = await channel.prompt(
65
63
  console.log(message); // AI explains what it did
66
64
  console.log(`Modified ${objects.length} objects`);
67
65
 
68
- // Query with natural language
69
- const { objects: innerPlanets } = await channel.findObjects({
70
- prompt: 'planets closer to the sun than Earth'
71
- });
66
+ // Read an object by location
67
+ const loadedEarth = await channel.getObject(earth.location);
68
+ console.log(loadedEarth?.body.name);
72
69
 
73
70
  // Clean up
74
71
  channel.close();
@@ -229,7 +226,7 @@ References are just data — no special API is needed to create or remove them.
229
226
  #### Location helpers
230
227
 
231
228
  ```typescript
232
- import { loc, parseLocation, normalizeLocation, generateBasename } from '@rool-dev/sdk';
229
+ import { loc, parseLocation, normalizeLocation } from '@rool-dev/sdk';
233
230
 
234
231
  loc('article', 'welcome'); // '/space/article/welcome.json'
235
232
  parseLocation('/space/article/welcome.json'); // { collection: 'article', basename: 'welcome' }
@@ -237,9 +234,6 @@ parseLocation('/space/article/welcome.json'); // { collection: 'article', basena
237
234
  // normalizeLocation accepts canonical or short form and returns canonical
238
235
  normalizeLocation('article/welcome'); // '/space/article/welcome.json'
239
236
  normalizeLocation('/space/article/welcome.json'); // unchanged
240
-
241
- // 6-char random basename — same generator the SDK uses by default
242
- generateBasename(); // e.g., 'X7kQ9p'
243
237
  ```
244
238
 
245
239
  SDK methods that accept a location (`getObject`, `updateObject`, `deleteObjects`, `moveObject`, etc.) accept either form and normalize internally. SDK return values always use the canonical full form.
@@ -320,24 +314,24 @@ await channel.createObject('article', {
320
314
 
321
315
  ### Real-time Sync
322
316
 
323
- Events fire for both local and remote changes. The `source` field indicates origin:
324
-
325
- - `local_user` — This client made the change
326
- - `remote_user` — Another user/client made the change
327
- - `remote_agent` — AI agent made the change
328
- - `system` — Resync after error
317
+ Object and file reactivity is WebDAV-based. Listen for space-level file change notifications, then reconcile with `webdav.syncCollection()` using your sync token. This covers both object files under `/space` and user files under `/rool-drive`.
329
318
 
330
319
  ```typescript
331
- // All UI updates happen in one place, regardless of change source
332
- channel.on('objectUpdated', ({ location, object, source }) => {
333
- renderObject(location, object);
334
- if (source === 'remote_agent') {
335
- doLayout(); // AI might have added content
336
- }
337
- });
320
+ let token: string | null = null;
338
321
 
339
- // Caller just makes the change - event handler does the UI work
340
- channel.updateObject(location, { prompt: 'expand this' });
322
+ async function syncFiles() {
323
+ const result = await space.webdav.syncCollection('/', {
324
+ token,
325
+ level: 'infinite',
326
+ props: ['displayname', 'getetag', 'getlastmodified', 'resourcetype'],
327
+ });
328
+ token = result.token;
329
+ updateFileTree(result.responses);
330
+ }
331
+
332
+ space.on('filesChanged', syncFiles);
333
+ space.on('filesReset', () => { token = null; syncFiles(); });
334
+ await syncFiles();
341
335
  ```
342
336
 
343
337
  ### Locations & Basenames
@@ -358,7 +352,7 @@ await channel.createObject('article',
358
352
 
359
353
  ```typescript
360
354
  // Fire-and-forget: create and reference without waiting
361
- const basename = RoolClient.generateBasename();
355
+ const basename = 'idea-seed';
362
356
  const location = loc('note', basename);
363
357
 
364
358
  channel.createObject('note', { text: '{{expand this idea}}' }, { basename });
@@ -574,7 +568,7 @@ await space.addUser(user.id, 'editor');
574
568
  | `owner` | Full control, can delete space and manage all users |
575
569
  | `admin` | All editor capabilities, plus can manage users (except other admins/owners) |
576
570
  | `editor` | Can create, modify, move, and delete objects |
577
- | `viewer` | Read-only access (can query with `prompt` and `findObjects`) |
571
+ | `viewer` | Read-only access (can query with `prompt` and read objects/files) |
578
572
 
579
573
  ### Space Collaboration Methods
580
574
 
@@ -621,18 +615,9 @@ When a user accesses a space via URL, they're granted the corresponding role (`v
621
615
 
622
616
  ### Real-time Collaboration
623
617
 
624
- When multiple users have a space open, changes sync in real-time. The `source` field in events tells you who made the change:
618
+ When multiple users have a space open, object and file changes are announced by `space.on('filesChanged')` and reconciled through WebDAV `syncCollection()`. Channel/conversation state still emits channel events; filesystem state does not use channel object events.
625
619
 
626
- ```typescript
627
- channel.on('objectUpdated', ({ location, object, source }) => {
628
- if (source === 'remote_user') {
629
- // Another user made this change
630
- showCollaboratorActivity(object);
631
- }
632
- });
633
- ```
634
-
635
- See [Real-time Sync](#real-time-sync) for more on event sources.
620
+ See [Real-time Sync](#real-time-sync) for a WebDAV sync-token example.
636
621
 
637
622
  ## RoolClient API
638
623
 
@@ -663,8 +648,6 @@ const client = new RoolClient({
663
648
  | `duplicateSpace(sourceSpaceId, name): Promise<RoolSpace>` | Duplicate an existing space. Returns a handle to the new space. |
664
649
  | `deleteSpace(id): Promise<void>` | Permanently delete a space (cannot be undone) |
665
650
  | `importArchive(name, archive): Promise<RoolSpace>` | Import from a zip archive, creating a new space |
666
- | `webdav(spaceId): RoolWebDAV` | Open a WebDAV client for a space's file storage |
667
- | `getSpaceStorageUsage(spaceId): Promise<SpaceFileStorageUsage>` | Get WebDAV quota usage for a space |
668
651
 
669
652
  ### Channel Management
670
653
 
@@ -719,7 +702,7 @@ client.on('userStorageChanged', ({ key, value, source }) => {
719
702
 
720
703
  ### Extensions
721
704
 
722
- Manage and publish extensions. See [`@rool-dev/extension`](/extension/) for building extensions.
705
+ Manage and publish extensions.
723
706
 
724
707
  There are two distinct domains: your **personal library** (extensions you've created or installed) and the **published extensions** (extensions discoverable by all users). Each has its own return type.
725
708
 
@@ -748,8 +731,7 @@ Discover and install extensions published by other users.
748
731
 
749
732
  | Method | Description |
750
733
  |--------|-------------|
751
- | `RoolClient.generateBasename(): string` | Generate a 6-char alphanumeric basename for new object identities. |
752
- | `RoolClient.generateId(): string` | Same as `generateBasename()`; retained for callers minting non-object IDs (interactions, conversations, channels). |
734
+ | `RoolClient.generateId(): string` | Generate a unique 6-character alphanumeric ID. |
753
735
  | `destroy(): void` | Clean up resources |
754
736
 
755
737
  ### Client Events
@@ -867,8 +849,6 @@ All methods that accept a location accept either the canonical form or the short
867
849
  |--------|-------------|
868
850
  | `getObject(location): Promise<RoolObject \| undefined>` | Get an object, or undefined if not found. |
869
851
  | `stat(location): RoolObjectStat \| undefined` | Get audit info for an object: when it was last modified, by whom, and where (channel/conversation/interaction). Sync read from local cache. |
870
- | `findObjects(options): Promise<{ objects, message }>` | Find objects using structured filters and/or natural language. Results sorted by modifiedAt (desc by default). |
871
- | `getObjectLocations(options?): string[]` | Get all object locations. Sorted by modifiedAt (desc by default). Options: `{ limit?, order? }`. |
872
852
  | `createObject(collection, body, options?): Promise<{ object, message }>` | Create a new object in `collection`. The SDK mints a random basename unless you pass `options.basename`. |
873
853
  | `updateObject(location, options): Promise<{ object, message }>` | Update an existing object's body. |
874
854
  | `moveObject(from, to, options?): Promise<{ object, message }>` | Rename or relocate an object. See [Moving and Renaming](#moving-and-renaming). |
@@ -961,59 +941,6 @@ await channel.moveObject(from, to, {
961
941
  | `ephemeral` | If true, the operation won't be recorded in interaction history. |
962
942
  | `parentInteractionId` | Conversation tree parent. Omit to auto-continue; pass `null` for a new root. |
963
943
 
964
- #### findObjects
965
-
966
- Find objects using structured filters and/or natural language.
967
-
968
- - **`where` only** — exact-match filtering, no AI, no credits.
969
- - **`collection` only** — filter by collection name, no AI, no credits.
970
- - **`prompt` only** — AI-powered semantic query over all objects.
971
- - **`where` + `prompt`** — `where` (and `locations`) narrow the data set first, then the AI queries within the constrained set.
972
-
973
- | Option | Description |
974
- |--------|-------------|
975
- | `where` | Exact-match body-field filter (e.g. `{ status: 'published' }`). Values must match literally — no operators or `{{placeholders}}`. When combined with `prompt`, constrains which objects the AI can see. |
976
- | `collection` | Filter by collection name. |
977
- | `prompt` | Natural language query. Triggers AI evaluation (uses credits). |
978
- | `limit` | Maximum number of results. |
979
- | `locations` | Scope to specific object locations. Constrains the candidate set in both structured and AI queries. |
980
- | `order` | Sort order by modifiedAt: `'asc'` or `'desc'` (default: `'desc'`). |
981
- | `ephemeral` | If true, the query won't be recorded in interaction history. Useful for responsive search. |
982
-
983
- **Examples:**
984
-
985
- ```typescript
986
- // Filter by collection (no AI, no credits)
987
- const { objects } = await channel.findObjects({
988
- collection: 'article'
989
- });
990
-
991
- // Exact field matching (no AI, no credits)
992
- const { objects } = await channel.findObjects({
993
- where: { status: 'published' }
994
- });
995
-
996
- // Combine collection and field filters
997
- const { objects } = await channel.findObjects({
998
- collection: 'article',
999
- where: { status: 'published' }
1000
- });
1001
-
1002
- // Pure natural language query (AI interprets)
1003
- const { objects, message } = await channel.findObjects({
1004
- prompt: 'articles about space exploration published this year'
1005
- });
1006
-
1007
- // Combined: collection + where narrow the data, prompt queries within it
1008
- const { objects } = await channel.findObjects({
1009
- collection: 'article',
1010
- prompt: 'that discuss climate solutions positively',
1011
- limit: 10
1012
- });
1013
- ```
1014
-
1015
- When `where` or `locations` are provided with a `prompt`, the AI only sees the filtered subset — not the full space. The returned `message` explains the query result.
1016
-
1017
944
  ### Undo/Redo
1018
945
 
1019
946
  | Method | Description |
@@ -1041,12 +968,13 @@ Store arbitrary data alongside the space without it being part of an object's bo
1041
968
 
1042
969
  Every space has authenticated file storage. WebDAV is the SDK surface for that storage: paths are relative to the space root and collection operations use WebDAV collection semantics. Human/AI file links use `rool-machine:/rool-drive/...`; resolve those links with `resolveMachineResource()` and fetch file resources with `space.fetchMachineResource(resource)`.
1043
970
 
1044
- Use `client.webdav(spaceId)` when you only have an ID, or `space.webdav` when you already have an open space.
971
+ Open a space, then use `space.webdav`.
1045
972
 
1046
973
  ```typescript
1047
974
  import { resolveMachineResource } from '@rool-dev/sdk';
1048
975
 
1049
- const webdav = client.webdav('space-id');
976
+ const space = await client.openSpace('space-id');
977
+ const webdav = space.webdav;
1050
978
 
1051
979
  await webdav.mkcol('docs');
1052
980
  await webdav.put('docs/readme.md', '# Hello', {
@@ -1091,8 +1019,6 @@ Paths are space-relative (`docs/readme.md`, not `/docs/readme.md`). WebDAV metho
1091
1019
 
1092
1020
  | Method | Description |
1093
1021
  |--------|-------------|
1094
- | `client.webdav(spaceId)` | Create a WebDAV client for a space |
1095
- | `client.getSpaceStorageUsage(spaceId)` | Get WebDAV quota usage for a space |
1096
1022
  | `space.webdav` | WebDAV client for an open space |
1097
1023
  | `space.getStorageUsage()` | Get WebDAV quota usage for an open space |
1098
1024
  | `webdav.getStorageUsage()` | Get WebDAV quota usage through the WebDAV client |
@@ -1225,37 +1151,23 @@ The archive bundles `data.json` (objects, metadata, and channels) together with
1225
1151
 
1226
1152
  ### Channel Events
1227
1153
 
1228
- Semantic events describe what changed. Events fire for both local changes and remote changes.
1154
+ Channel events are for channel/conversation state. Object and file reactivity goes through `space.on('filesChanged' | 'filesReset')` plus WebDAV `syncCollection()`.
1229
1155
 
1230
1156
  ```typescript
1231
- // source indicates origin:
1232
- // - 'local_user': This client made the change
1233
- // - 'remote_user': Another user/client made the change
1234
- // - 'remote_agent': AI agent made the change
1235
- // - 'system': Resync after error
1236
-
1237
- // Object events — payload includes the full RoolObject
1238
- channel.on('objectCreated', ({ location, object, source }) => void)
1239
- channel.on('objectUpdated', ({ location, object, source }) => void)
1240
- channel.on('objectDeleted', ({ location, source }) => void)
1241
- channel.on('objectMoved', ({ from, to, object, source }) => void)
1242
-
1243
- // Space metadata
1244
- channel.on('metadataUpdated', ({ metadata, source }) => void)
1245
-
1246
- // Collection schema changed
1247
- channel.on('schemaUpdated', ({ schema, source }) => void)
1248
-
1249
1157
  // Channel metadata updated (name, extensionUrl)
1250
1158
  channel.on('channelUpdated', ({ channelId, source }) => void)
1251
1159
 
1252
1160
  // Conversation interaction history updated
1253
1161
  channel.on('conversationUpdated', ({ conversationId, channelId, source }) => void)
1254
1162
 
1163
+ // Space metadata / schema compatibility events
1164
+ channel.on('metadataUpdated', ({ metadata, source }) => void)
1165
+ channel.on('schemaUpdated', ({ schema, source }) => void)
1166
+
1255
1167
  // Full state replacement (undo/redo, resync after error)
1256
1168
  channel.on('reset', ({ source }) => void)
1257
1169
 
1258
- // Sync error occurred, channel resynced from server
1170
+ // Sync error occurred
1259
1171
  channel.on('syncError', (error: Error) => void)
1260
1172
  ```
1261
1173
 
package/dist/channel.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { EventEmitter } from './event-emitter.js';
2
2
  import type { GraphQLClient } from './graphql.js';
3
3
  import type { RestClient } from './rest.js';
4
- import type { RoolWebDAV } from './webdav.js';
4
+ import { type RoolWebDAV } from './webdav.js';
5
5
  import type { Logger } from './logger.js';
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
+ import type { RoolObject, GetObjectsResult, RoolObjectStat, ChannelEvents, RoolUserRole, PromptOptions, CreateObjectOptions, UpdateObjectOptions, MoveObjectOptions, ChannelEvent, Interaction, Channel, ConversationInfo, LinkAccess, SpaceSchema, CollectionDef, FieldDef, CollectionOptions, ExtensionManifest } from './types.js';
7
7
  export declare function generateEntityId(): string;
8
8
  export interface ChannelConfig {
9
9
  id: string;
@@ -12,8 +12,6 @@ export interface ChannelConfig {
12
12
  linkAccess: LinkAccess;
13
13
  /** Current user's ID (for identifying own interactions) */
14
14
  userId: string;
15
- /** Object locations in the space (sorted by modifiedAt desc) */
16
- objectLocations: string[];
17
15
  /** Object stats keyed by location */
18
16
  objectStats: Record<string, RoolObjectStat>;
19
17
  /** Collection schema */
@@ -38,9 +36,9 @@ export interface ChannelConfig {
38
36
  * open a second one.
39
37
  *
40
38
  * 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
43
- * arrive via SSE semantic events and are emitted as SDK events.
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.
44
42
  */
45
43
  export declare class RoolChannel extends EventEmitter<ChannelEvents> {
46
44
  private _id;
@@ -59,12 +57,8 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
59
57
  private _meta;
60
58
  private _schema;
61
59
  private _channel;
62
- private _objectLocations;
63
60
  private _objectStats;
64
61
  private _activeLeaves;
65
- private _pendingMutations;
66
- private _objectResolvers;
67
- private _objectBuffer;
68
62
  constructor(config: ChannelConfig);
69
63
  /**
70
64
  * Handle an event from the shared space subscription.
@@ -80,7 +74,6 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
80
74
  _applyResyncData(data: {
81
75
  meta: Record<string, unknown>;
82
76
  schema: SpaceSchema;
83
- objectLocations: string[];
84
77
  objectStats: Record<string, RoolObjectStat>;
85
78
  channel: Channel | undefined;
86
79
  }): void;
@@ -178,6 +171,8 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
178
171
  redo(): Promise<boolean>;
179
172
  /** Clear the space's checkpoint history. */
180
173
  clearHistory(): Promise<void>;
174
+ private davHeaders;
175
+ private readObject;
181
176
  /**
182
177
  * Get an object by location. Fetches from the server on each call.
183
178
  *
@@ -185,39 +180,25 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
185
180
  * or the short form (`<collection>/<basename>`).
186
181
  */
187
182
  getObject(location: string): Promise<RoolObject | undefined>;
183
+ /**
184
+ * Get objects by location in bulk.
185
+ *
186
+ * Accepts either canonical locations (`/space/<collection>/<basename>.json`)
187
+ * or short locations (`<collection>/<basename>`). Duplicate locations are
188
+ * fetched once, preserving their first requested order.
189
+ */
190
+ getObjects(locations: string[]): Promise<GetObjectsResult>;
188
191
  /**
189
192
  * Get an object's stat (audit information).
190
193
  * Returns the cached stat or undefined if not known.
191
194
  */
192
195
  stat(location: string): RoolObjectStat | undefined;
193
- /**
194
- * Find objects using structured filters and/or natural language.
195
- */
196
- findObjects(options: FindObjectsOptions): Promise<{
197
- objects: RoolObject[];
198
- message: string;
199
- }>;
200
- /** @internal */
201
- _findObjectsImpl(options: FindObjectsOptions, conversationId: string): Promise<{
202
- objects: RoolObject[];
203
- message: string;
204
- }>;
205
- /**
206
- * Get all object locations (sync, from local cache).
207
- * The list is loaded on open and kept current via SSE events.
208
- */
209
- getObjectLocations(options?: {
210
- limit?: number;
211
- order?: 'asc' | 'desc';
212
- }): string[];
213
196
  /**
214
197
  * Create a new object in the given collection.
215
198
  *
216
199
  * @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.
200
+ * @param body - Object body fields. Fields prefixed with `_` are hidden from AI.
219
201
  * @param options.basename - Specific basename to use. If omitted, the SDK generates a random one.
220
- * @param options.ephemeral - If true, the operation won't be recorded in interaction history.
221
202
  * @returns The created object and a status message.
222
203
  */
223
204
  createObject(collection: string, body: Record<string, unknown>, options?: CreateObjectOptions): Promise<{
@@ -233,9 +214,7 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
233
214
  * Update an existing object.
234
215
  *
235
216
  * @param location - The object's location (canonical or short form)
236
- * @param options.data - Fields to add or update. Pass `null` to delete a field. Use `{{placeholder}}` for AI-generated content.
237
- * @param options.prompt - AI prompt to drive the update.
238
- * @param options.ephemeral - If true, the operation won't be recorded in interaction history.
217
+ * @param options.data - Fields to add or update. Pass `null` to delete a field.
239
218
  */
240
219
  updateObject(location: string, options: UpdateObjectOptions): Promise<{
241
220
  object: RoolObject;
@@ -253,7 +232,6 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
253
232
  * @param from - Current location
254
233
  * @param to - New location
255
234
  * @param options.body - Replace the body atomically as part of the move.
256
- * @param options.ephemeral - If true, the operation won't be recorded in interaction history.
257
235
  */
258
236
  moveObject(from: string, to: string, options?: MoveObjectOptions): Promise<{
259
237
  object: RoolObject;
@@ -274,13 +252,13 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
274
252
  /** Get the current schema for this space. */
275
253
  getSchema(): SpaceSchema;
276
254
  /** Create a new collection schema. */
277
- createCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
255
+ createCollection(name: string, fields: FieldDef[] | CollectionDef, options?: CollectionOptions): Promise<CollectionDef>;
278
256
  /** @internal */
279
- _createCollectionImpl(name: string, fields: FieldDef[], conversationId: string): Promise<CollectionDef>;
257
+ _createCollectionImpl(name: string, fields: FieldDef[] | CollectionDef, options: CollectionOptions | undefined, conversationId: string): Promise<CollectionDef>;
280
258
  /** Alter an existing collection schema, replacing its field definitions. */
281
- alterCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
259
+ alterCollection(name: string, fields: FieldDef[] | CollectionDef, options?: CollectionOptions): Promise<CollectionDef>;
282
260
  /** @internal */
283
- _alterCollectionImpl(name: string, fields: FieldDef[], conversationId: string): Promise<CollectionDef>;
261
+ _alterCollectionImpl(name: string, fields: FieldDef[] | CollectionDef, options: CollectionOptions | undefined, conversationId: string): Promise<CollectionDef>;
284
262
  /** Drop a collection schema. */
285
263
  dropCollection(name: string): Promise<void>;
286
264
  /** @internal */
@@ -334,28 +312,11 @@ export declare class RoolChannel extends EventEmitter<ChannelEvents> {
334
312
  }): Promise<Response>;
335
313
  private uploadAttachment;
336
314
  private ensureCollection;
337
- /**
338
- * Register a collector that resolves when the object arrives via SSE.
339
- * @internal
340
- */
341
- private _collectObject;
342
- /** @internal */
343
- private _cancelCollector;
344
- /** @internal */
345
- private _deliverObject;
346
315
  /**
347
316
  * Handle a channel event from the subscription.
348
317
  * @internal
349
318
  */
350
319
  private handleChannelEvent;
351
- /** @internal */
352
- private _handleObjectCreated;
353
- /** @internal */
354
- private _handleObjectUpdated;
355
- /** @internal */
356
- private _handleObjectDeleted;
357
- /** @internal */
358
- private _handleObjectMoved;
359
320
  }
360
321
  /**
361
322
  * A lightweight handle for a specific conversation within a channel.
@@ -382,11 +343,6 @@ export declare class ConversationHandle {
382
343
  setSystemInstruction(instruction: string | null): Promise<void>;
383
344
  /** Rename this conversation. */
384
345
  rename(name: string): Promise<void>;
385
- /** Find objects using structured filters and/or natural language. */
386
- findObjects(options: FindObjectsOptions): Promise<{
387
- objects: RoolObject[];
388
- message: string;
389
- }>;
390
346
  /** Create a new object. */
391
347
  createObject(collection: string, body: Record<string, unknown>, options?: CreateObjectOptions): Promise<{
392
348
  object: RoolObject;
@@ -410,9 +366,9 @@ export declare class ConversationHandle {
410
366
  objects: RoolObject[];
411
367
  }>;
412
368
  /** Create a new collection schema. */
413
- createCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
369
+ createCollection(name: string, fields: FieldDef[] | CollectionDef, options?: CollectionOptions): Promise<CollectionDef>;
414
370
  /** Alter an existing collection schema. */
415
- alterCollection(name: string, fields: FieldDef[]): Promise<CollectionDef>;
371
+ alterCollection(name: string, fields: FieldDef[] | CollectionDef, options?: CollectionOptions): Promise<CollectionDef>;
416
372
  /** Drop a collection schema. */
417
373
  dropCollection(name: string): Promise<void>;
418
374
  setMetadata(key: string, value: unknown): void;
@@ -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":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAQpB,wBAAgB,gBAAgB,IAAI,MAAM,CAMzC;AAwJD,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,qCAAqC;IACrC,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,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;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,eAAe,CAAS;IAChC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,MAAM,CAAS;IAGvB,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,YAAY,CAA8B;IAGlD,OAAO,CAAC,aAAa,CAA6B;gBAEtC,MAAM,EAAE,aAAa;IAuBjC;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAIvC;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE;QACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,EAAE,WAAW,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC5C,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;KAC9B,GAAG,IAAI;IAUR,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,YAAY,CAEvB;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,2DAA2D;IAC3D,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,IAAI,CAE/B;IAED;;;OAGG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;OAGG;IACH,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,MAAM,GAAG,IAAI,CAEhC;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,IAAI,CAE/B;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,iBAAiB,GAAG,IAAI,CAEvC;IAED;;;OAGG;IACH,eAAe,IAAI,WAAW,EAAE;IAIhC,gBAAgB;IAChB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,EAAE;IAa3D;;;OAGG;IACH,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;IAItC,gBAAgB;IAChB,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;IAMjE;;;OAGG;IACH,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAErC;IAED,gBAAgB;IAChB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI9D;;;OAGG;IACH,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAI1C,gBAAgB;IAChB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAavE;;;OAGG;IACH,gBAAgB,IAAI,gBAAgB,EAAE;IAYtC;;;OAGG;IACG,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/D;;OAEG;IACH,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,kBAAkB;IAIxD;;;OAGG;IACH,KAAK,IAAI,IAAI;IAOb;;OAEG;IACG,UAAU,CAAC,KAAK,GAAE,MAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAS3D,iDAAiD;IAC3C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAKjC,iDAAiD;IAC3C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAKjC,uDAAuD;IACjD,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAK9B,mDAAmD;IAC7C,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAK9B,4CAA4C;IACtC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC,OAAO,CAAC,UAAU;YASJ,UAAU;IAaxB;;;;;OAKG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAIlE;;;;;;OAMG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoBhE;;;OAGG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIlD;;;;;;;OAOG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAInD,gBAAgB;IACV,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,mBAAmB,GAAG,SAAS,EACxC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAsBnD;;;;;OAKG;IACG,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAInD,gBAAgB;IACV,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,mBAAmB,EAC5B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAwBnD;;;;;;;OAOG;IACG,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAInD,gBAAgB;IACV,eAAe,CACnB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,iBAAiB,GAAG,SAAS,EACtC,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAkCnD;;;OAGG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,gBAAgB;IACV,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBpF,6CAA6C;IAC7C,SAAS,IAAI,WAAW;IAIxB,sCAAsC;IAChC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI7H,gBAAgB;IACV,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,OAAO,EAAE,iBAAiB,GAAG,SAAS,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAwBrK,4EAA4E;IACtE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI5H,gBAAgB;IACV,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,OAAO,EAAE,iBAAiB,GAAG,SAAS,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAuBpK,gCAAgC;IAC1B,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,gBAAgB;IACV,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9E;;OAEG;IACH,oBAAoB,IAAI,MAAM,GAAG,SAAS;IAI1C,gBAAgB;IAChB,yBAAyB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIrE,+DAA+D;IACzD,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrE,gBAAgB;IACV,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwClG,uCAAuC;IACjC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,gBAAgB;IACV,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgClF,gBAAgB;IAChB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAiBrD,wCAAwC;IACxC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAI9C,gBAAgB;IAChB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAW3E,wCAAwC;IACxC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIjC,oCAAoC;IACpC,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIzC;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAI1G,gBAAgB;IACV,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,SAAS,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IA0DlJ,2BAA2B;IACrB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB5C;;OAEG;IACG,KAAK,CACT,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3E,OAAO,CAAC,QAAQ,CAAC;YAIN,gBAAgB;YAgBhB,gBAAgB;IAO9B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CA0F3B;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,eAAe,CAAS;IAEhC,gBAAgB;gBACJ,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM;IAKxD,oDAAoD;IACpD,IAAI,cAAc,IAAI,MAAM,CAAiC;IAE7D,gFAAgF;IAChF,eAAe,IAAI,WAAW,EAAE;IAIhC,iDAAiD;IACjD,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;IAItC,iEAAiE;IACjE,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAErC;IAED,+DAA+D;IAC/D,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAI1C,wDAAwD;IACxD,oBAAoB,IAAI,MAAM,GAAG,SAAS;IAI1C,4EAA4E;IACtE,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrE,gCAAgC;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,2BAA2B;IACrB,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAInD,iCAAiC;IAC3B,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAIpH,wCAAwC;IAClC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAIzH,kCAAkC;IAC5B,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,4EAA4E;IACtE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAIxG,sCAAsC;IAChC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI7H,2CAA2C;IACrC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI5H,gCAAgC;IAC1B,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;CAG/C"}