@rool-dev/sdk 0.10.2-dev.d6bf9eb → 0.10.2-dev.eeb9773

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 (51) hide show
  1. package/README.md +6 -49
  2. package/dist/channel.d.ts +29 -73
  3. package/dist/channel.d.ts.map +1 -1
  4. package/dist/channel.js +110 -155
  5. package/dist/channel.js.map +1 -1
  6. package/dist/client.d.ts +2 -40
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +6 -66
  9. package/dist/client.js.map +1 -1
  10. package/dist/graphql.d.ts +2 -7
  11. package/dist/graphql.d.ts.map +1 -1
  12. package/dist/graphql.js +8 -53
  13. package/dist/graphql.js.map +1 -1
  14. package/dist/index.d.ts +3 -6
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -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/rest.d.ts +8 -1
  23. package/dist/rest.d.ts.map +1 -1
  24. package/dist/rest.js +39 -4
  25. package/dist/rest.js.map +1 -1
  26. package/dist/space.d.ts +2 -10
  27. package/dist/space.d.ts.map +1 -1
  28. package/dist/space.js +13 -26
  29. package/dist/space.js.map +1 -1
  30. package/dist/subscription.d.ts.map +1 -1
  31. package/dist/subscription.js +0 -5
  32. package/dist/subscription.js.map +1 -1
  33. package/dist/types.d.ts +21 -126
  34. package/dist/types.d.ts.map +1 -1
  35. package/dist/webdav.d.ts +21 -21
  36. package/dist/webdav.d.ts.map +1 -1
  37. package/dist/webdav.js +25 -78
  38. package/dist/webdav.js.map +1 -1
  39. package/package.json +1 -1
  40. package/dist/apps.d.ts +0 -30
  41. package/dist/apps.d.ts.map +0 -1
  42. package/dist/apps.js +0 -81
  43. package/dist/apps.js.map +0 -1
  44. package/dist/locations.d.ts +0 -34
  45. package/dist/locations.d.ts.map +0 -1
  46. package/dist/locations.js +0 -90
  47. package/dist/locations.js.map +0 -1
  48. package/dist/machine.d.ts +0 -16
  49. package/dist/machine.d.ts.map +0 -1
  50. package/dist/machine.js +0 -51
  51. package/dist/machine.js.map +0 -1
package/dist/channel.js CHANGED
@@ -1,8 +1,7 @@
1
1
  import { EventEmitter } from './event-emitter.js';
2
2
  import { WebDAVError } from './webdav.js';
3
- import { generateBasename, loc, normalizeLocation, parseLocation } from './locations.js';
4
- import { resolveMachineResource } from './machine.js';
5
- // 6-character alphanumeric ID — used for interactionIds, conversationIds, etc.
3
+ import { isObjectPath, machinePath, machineUri } from './path.js';
4
+ // 6-character alphanumeric ID used for object names, interactionIds, conversationIds, etc.
6
5
  const ENTITY_CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
7
6
  const GET_OBJECTS_CHUNK_SIZE = 500;
8
7
  export function generateEntityId() {
@@ -44,20 +43,21 @@ function findDefaultLeaf(interactions) {
44
43
  }
45
44
  return best?.id;
46
45
  }
47
- function objectDavPath(location) {
48
- parseLocation(location);
49
- return location;
46
+ function objectPath(input) {
47
+ const path = machinePath(input);
48
+ if (!isObjectPath(path)) {
49
+ throw new Error(`Object path must be /space/<collection>/<name>.json without dotfiles: ${input}`);
50
+ }
51
+ return path;
50
52
  }
51
- function collectionDavPath(name) {
52
- parseLocation(loc(name, 'schema')); // Reuse collection validation.
53
- return `/space/${name}/`;
53
+ function collectionPath(name) {
54
+ return machinePath(`/space/${name}`);
54
55
  }
55
- function schemaDavPath(name) {
56
- return `${collectionDavPath(name)}.schema.json`;
56
+ function schemaPath(name) {
57
+ return `${collectionPath(name)}/.schema.json`;
57
58
  }
58
- function objectFromBody(location, body) {
59
- const { collection, basename } = parseLocation(location);
60
- return { location, collection, basename, body };
59
+ function objectFromBody(path, body) {
60
+ return { path, body };
61
61
  }
62
62
  function jsonObject(value, label) {
63
63
  if (!value || typeof value !== 'object' || Array.isArray(value)) {
@@ -82,6 +82,20 @@ function collectionDef(input, options) {
82
82
  const schemaOrgType = options?.schemaOrgType ?? base.schemaOrgType;
83
83
  return schemaOrgType ? { fields: base.fields, schemaOrgType } : { fields: base.fields };
84
84
  }
85
+ function normalizeChannel(channel) {
86
+ for (const conversation of Object.values(channel.conversations)) {
87
+ const interactions = conversation.interactions;
88
+ const list = Array.isArray(interactions) ? interactions : Object.values(interactions);
89
+ for (const interaction of list) {
90
+ const wire = interaction;
91
+ if (!wire.modifiedObjectPaths && wire.modifiedObjectLocations) {
92
+ wire.modifiedObjectPaths = wire.modifiedObjectLocations;
93
+ delete wire.modifiedObjectLocations;
94
+ }
95
+ }
96
+ }
97
+ return channel;
98
+ }
85
99
  function attachmentBody(file) {
86
100
  if (isFile(file)) {
87
101
  return {
@@ -162,7 +176,7 @@ function base64Body(data) {
162
176
  * at open time and cannot be changed. To use a different channel,
163
177
  * open a second one.
164
178
  *
165
- * Objects are addressed by location (`/space/<collection>/<basename>.json`).
179
+ * Objects are addressed by machine path (`/space/.../*.json`).
166
180
  * Only schema, metadata, object stats, and the channel's own history are cached
167
181
  * locally. Object bodies are fetched on demand. Object/file reactivity is
168
182
  * exposed at the space level via WebDAV sync notifications.
@@ -206,7 +220,7 @@ export class RoolChannel extends EventEmitter {
206
220
  // Initialize local cache from server data
207
221
  this._meta = config.meta;
208
222
  this._schema = config.schema;
209
- this._channel = config.channel;
223
+ this._channel = config.channel ? normalizeChannel(config.channel) : undefined;
210
224
  this._objectStats = new Map(Object.entries(config.objectStats));
211
225
  }
212
226
  /**
@@ -229,7 +243,7 @@ export class RoolChannel extends EventEmitter {
229
243
  this._schema = data.schema;
230
244
  this._objectStats = new Map(Object.entries(data.objectStats));
231
245
  if (data.channel)
232
- this._channel = data.channel;
246
+ this._channel = normalizeChannel(data.channel);
233
247
  this._activeLeaves.clear();
234
248
  this.emit('reset', { source: 'system' });
235
249
  }
@@ -272,24 +286,6 @@ export class RoolChannel extends EventEmitter {
272
286
  get isReadOnly() {
273
287
  return this._role === 'viewer';
274
288
  }
275
- /**
276
- * Get the extension URL if this channel was created via installExtension, or null.
277
- */
278
- get extensionUrl() {
279
- return this._channel?.extensionUrl ?? null;
280
- }
281
- /**
282
- * Get the extension ID if this channel has an installed extension, or null.
283
- */
284
- get extensionId() {
285
- return this._channel?.extensionId ?? null;
286
- }
287
- /**
288
- * Get the extension manifest if this channel has an installed extension, or null.
289
- */
290
- get manifest() {
291
- return this._channel?.manifest ?? null;
292
- }
293
289
  /**
294
290
  * Get the active branch of the current conversation as a flat array (root → leaf).
295
291
  * Walks from the active leaf up through parentId pointers.
@@ -446,10 +442,10 @@ export class RoolChannel extends EventEmitter {
446
442
  headers.set('X-Rool-Interaction-Id', interactionId);
447
443
  return headers;
448
444
  }
449
- async readObject(location) {
450
- const canonical = normalizeLocation(location);
445
+ async readObject(path) {
446
+ const canonical = objectPath(path);
451
447
  try {
452
- const response = await this.webdav.get(objectDavPath(canonical));
448
+ const response = await this.webdav.get(canonical);
453
449
  const body = jsonObject(await response.json(), `Object ${canonical}`);
454
450
  return { object: objectFromBody(canonical, body), etag: response.headers.get('ETag') };
455
451
  }
@@ -461,27 +457,16 @@ export class RoolChannel extends EventEmitter {
461
457
  throw error;
462
458
  }
463
459
  }
464
- /**
465
- * Get an object by location. Fetches from the server on each call.
466
- *
467
- * Accepts either the canonical form (`/space/<collection>/<basename>.json`)
468
- * or the short form (`<collection>/<basename>`).
469
- */
470
- async getObject(location) {
471
- return (await this.readObject(location))?.object;
460
+ /** Get an object JSON file by machine path. Fetches from the server on each call. */
461
+ async getObject(path) {
462
+ return (await this.readObject(path))?.object;
472
463
  }
473
- /**
474
- * Get objects by location in bulk.
475
- *
476
- * Accepts either canonical locations (`/space/<collection>/<basename>.json`)
477
- * or short locations (`<collection>/<basename>`). Duplicate locations are
478
- * fetched once, preserving their first requested order.
479
- */
480
- async getObjects(locations) {
464
+ /** Get object JSON files by machine path in bulk. Duplicate paths are fetched once. */
465
+ async getObjects(paths) {
481
466
  const canonical = [];
482
467
  const seen = new Set();
483
- for (const location of locations) {
484
- const normalized = normalizeLocation(location);
468
+ for (const path of paths) {
469
+ const normalized = objectPath(path);
485
470
  if (seen.has(normalized))
486
471
  continue;
487
472
  seen.add(normalized);
@@ -496,57 +481,40 @@ export class RoolChannel extends EventEmitter {
496
481
  }
497
482
  return result;
498
483
  }
499
- /**
500
- * Get an object's stat (audit information).
501
- * Returns the cached stat or undefined if not known.
502
- */
503
- stat(location) {
504
- return this._objectStats.get(normalizeLocation(location));
484
+ /** Get an object's cached audit information. */
485
+ stat(path) {
486
+ return this._objectStats.get(objectPath(path));
505
487
  }
506
- /**
507
- * Create a new object in the given collection.
508
- *
509
- * @param collection - The collection (must exist in the schema)
510
- * @param body - Object body fields. Fields prefixed with `_` are hidden from AI.
511
- * @param options.basename - Specific basename to use. If omitted, the SDK generates a random one.
512
- * @returns The created object and a status message.
513
- */
514
- async createObject(collection, body, options) {
515
- return this._createObjectImpl(collection, body, options, this._conversationId);
488
+ /** Create or replace an object JSON file at an exact machine path. */
489
+ async putObject(path, body) {
490
+ return this._putObjectImpl(path, body, this._conversationId);
516
491
  }
517
492
  /** @internal */
518
- async _createObjectImpl(collection, body, options, conversationId) {
519
- const basename = options?.basename ?? generateBasename();
520
- const location = loc(collection, basename);
521
- const optimistic = { location, collection, basename, body };
493
+ async _putObjectImpl(path, body, conversationId) {
494
+ const canonical = objectPath(path);
495
+ const optimistic = objectFromBody(canonical, body);
522
496
  try {
523
497
  const interactionId = generateEntityId();
524
- await this.webdav.put(objectDavPath(location), JSON.stringify(body), {
498
+ await this.webdav.put(canonical, JSON.stringify(body), {
525
499
  contentType: 'application/json',
526
- ifNoneMatch: '*',
527
500
  headers: this.davHeaders(conversationId, interactionId),
528
501
  });
529
- const fresh = await this.getObject(location) ?? optimistic;
530
- return { object: fresh, message: `Created ${location}` };
502
+ const fresh = await this.getObject(canonical) ?? optimistic;
503
+ return { object: fresh, message: `Put ${canonical}` };
531
504
  }
532
505
  catch (error) {
533
- this.logger.error('[RoolChannel] Failed to create object:', error);
506
+ this.logger.error('[RoolChannel] Failed to put object:', error);
534
507
  this.emit('syncError', error instanceof Error ? error : new Error(String(error)));
535
508
  throw error;
536
509
  }
537
510
  }
538
- /**
539
- * Update an existing object.
540
- *
541
- * @param location - The object's location (canonical or short form)
542
- * @param options.data - Fields to add or update. Pass `null` to delete a field.
543
- */
544
- async updateObject(location, options) {
545
- return this._updateObjectImpl(location, options, this._conversationId);
511
+ /** Patch an existing object. Null or undefined deletes a field. */
512
+ async patchObject(path, options) {
513
+ return this._patchObjectImpl(path, options, this._conversationId);
546
514
  }
547
515
  /** @internal */
548
- async _updateObjectImpl(location, options, conversationId) {
549
- const canonical = normalizeLocation(location);
516
+ async _patchObjectImpl(path, options, conversationId) {
517
+ const canonical = objectPath(path);
550
518
  const data = options.data ?? {};
551
519
  const current = await this.readObject(canonical);
552
520
  if (!current)
@@ -555,57 +523,43 @@ export class RoolChannel extends EventEmitter {
555
523
  const optimistic = objectFromBody(canonical, body);
556
524
  try {
557
525
  const interactionId = generateEntityId();
558
- await this.webdav.put(objectDavPath(canonical), JSON.stringify(body), {
526
+ await this.webdav.put(canonical, JSON.stringify(body), {
559
527
  contentType: 'application/json',
560
528
  ifMatch: current.etag ?? undefined,
561
529
  headers: this.davHeaders(conversationId, interactionId),
562
530
  });
563
531
  const fresh = await this.getObject(canonical) ?? optimistic;
564
- return { object: fresh, message: `Updated ${canonical}` };
532
+ return { object: fresh, message: `Patched ${canonical}` };
565
533
  }
566
534
  catch (error) {
567
- this.logger.error('[RoolChannel] Failed to update object:', error);
535
+ this.logger.error('[RoolChannel] Failed to patch object:', error);
568
536
  this.emit('syncError', error instanceof Error ? error : new Error(String(error)));
569
537
  throw error;
570
538
  }
571
539
  }
572
- /**
573
- * Move (rename or relocate) an object to a new location.
574
- * Use this to rename, change collection, or atomically rewrite the body.
575
- *
576
- * @param from - Current location
577
- * @param to - New location
578
- * @param options.body - Replace the body atomically as part of the move.
579
- */
540
+ /** Move an object JSON file to a new machine path, optionally replacing its body. */
580
541
  async moveObject(from, to, options) {
581
542
  return this._moveObjectImpl(from, to, options, this._conversationId);
582
543
  }
583
544
  /** @internal */
584
545
  async _moveObjectImpl(from, to, options, conversationId) {
585
- const fromLoc = normalizeLocation(from);
586
- const toLoc = normalizeLocation(to);
587
- // Optimistic event emit move so listeners can update keys
588
- const { collection, basename } = parseLocation(toLoc);
589
- const optimistic = {
590
- location: toLoc,
591
- collection,
592
- basename,
593
- body: options?.body ?? {},
594
- };
546
+ const fromPath = objectPath(from);
547
+ const toPath = objectPath(to);
548
+ const optimistic = objectFromBody(toPath, options?.body ?? {});
595
549
  try {
596
550
  const interactionId = generateEntityId();
597
- await this.webdav.move(objectDavPath(fromLoc), objectDavPath(toLoc), {
551
+ await this.webdav.move(fromPath, toPath, {
598
552
  headers: this.davHeaders(conversationId, interactionId),
599
553
  });
600
554
  if (options?.body) {
601
- await this.webdav.put(objectDavPath(toLoc), JSON.stringify(options.body), {
555
+ await this.webdav.put(toPath, JSON.stringify(options.body), {
602
556
  contentType: 'application/json',
603
557
  headers: this.davHeaders(conversationId, interactionId),
604
558
  });
605
559
  }
606
- this._objectStats.delete(fromLoc);
607
- const fresh = await this.getObject(toLoc) ?? optimistic;
608
- return { object: fresh, message: `Moved ${fromLoc} to ${toLoc}` };
560
+ this._objectStats.delete(fromPath);
561
+ const fresh = await this.getObject(toPath) ?? optimistic;
562
+ return { object: fresh, message: `Moved ${fromPath} to ${toPath}` };
609
563
  }
610
564
  catch (error) {
611
565
  this.logger.error('[RoolChannel] Failed to move object:', error);
@@ -613,29 +567,30 @@ export class RoolChannel extends EventEmitter {
613
567
  throw error;
614
568
  }
615
569
  }
616
- /**
617
- * Delete objects by location.
618
- * Other objects that reference deleted objects will retain stale ref values.
619
- */
620
- async deleteObjects(locations) {
621
- return this._deleteObjectsImpl(locations, this._conversationId);
570
+ /** Delete object JSON files by machine path. */
571
+ async deleteObjects(paths) {
572
+ return this._deleteObjectsImpl(paths, this._conversationId);
573
+ }
574
+ /** @deprecated Use deleteObjects instead. */
575
+ async deletePaths(paths) {
576
+ return this.deleteObjects(paths);
622
577
  }
623
578
  /** @internal */
624
- async _deleteObjectsImpl(locations, conversationId) {
625
- if (locations.length === 0)
579
+ async _deleteObjectsImpl(paths, conversationId) {
580
+ if (paths.length === 0)
626
581
  return;
627
- const canonical = locations.map(normalizeLocation);
582
+ const canonical = paths.map(objectPath);
628
583
  try {
629
584
  const interactionId = generateEntityId();
630
- for (const location of canonical) {
631
- await this.webdav.delete(objectDavPath(location), {
585
+ for (const path of canonical) {
586
+ await this.webdav.delete(path, {
632
587
  headers: this.davHeaders(conversationId, interactionId),
633
588
  });
634
- this._objectStats.delete(location);
589
+ this._objectStats.delete(path);
635
590
  }
636
591
  }
637
592
  catch (error) {
638
- this.logger.error('[RoolChannel] Failed to delete objects:', error);
593
+ this.logger.error('[RoolChannel] Failed to delete paths:', error);
639
594
  this.emit('syncError', error instanceof Error ? error : new Error(String(error)));
640
595
  throw error;
641
596
  }
@@ -657,8 +612,8 @@ export class RoolChannel extends EventEmitter {
657
612
  const optimisticDef = collectionDef(fields, options);
658
613
  this._schema[name] = optimisticDef;
659
614
  try {
660
- await this.webdav.mkcol(collectionDavPath(name), { headers: this.davHeaders(conversationId, generateEntityId()) });
661
- await this.webdav.put(schemaDavPath(name), JSON.stringify(optimisticDef), {
615
+ await this.webdav.mkcol(collectionPath(name), { headers: this.davHeaders(conversationId, generateEntityId()) });
616
+ await this.webdav.put(schemaPath(name), JSON.stringify(optimisticDef), {
662
617
  contentType: 'application/json',
663
618
  headers: this.davHeaders(conversationId, generateEntityId()),
664
619
  });
@@ -684,7 +639,7 @@ export class RoolChannel extends EventEmitter {
684
639
  this._schema[name] = collectionDef(fields, options);
685
640
  try {
686
641
  const updated = this._schema[name];
687
- await this.webdav.put(schemaDavPath(name), JSON.stringify(updated), {
642
+ await this.webdav.put(schemaPath(name), JSON.stringify(updated), {
688
643
  contentType: 'application/json',
689
644
  headers: this.davHeaders(conversationId, generateEntityId()),
690
645
  });
@@ -709,7 +664,7 @@ export class RoolChannel extends EventEmitter {
709
664
  const previous = this._schema[name];
710
665
  delete this._schema[name];
711
666
  try {
712
- await this.webdav.delete(collectionDavPath(name), { headers: this.davHeaders(conversationId, generateEntityId()) });
667
+ await this.webdav.delete(collectionPath(name), { collection: true, headers: this.davHeaders(conversationId, generateEntityId()) });
713
668
  this.emit('schemaUpdated', { schema: this._schema, source: 'local_user' });
714
669
  }
715
670
  catch (error) {
@@ -851,8 +806,8 @@ export class RoolChannel extends EventEmitter {
851
806
  let attachmentRefs;
852
807
  if (attachments?.length) {
853
808
  attachmentRefs = await Promise.all(attachments.map(async (attachment) => {
854
- const resource = 'kind' in attachment ? attachment : await this.uploadAttachment(attachment, conversationId);
855
- return `rool-machine:${resource.path.split('/').map(encodeURIComponent).join('/')}`;
809
+ const path = typeof attachment === 'string' ? machinePath(attachment) : await this.uploadAttachment(attachment, conversationId);
810
+ return machineUri(path);
856
811
  }));
857
812
  }
858
813
  // Auto-continue from active leaf if no explicit parent provided
@@ -887,7 +842,7 @@ export class RoolChannel extends EventEmitter {
887
842
  signal.removeEventListener('abort', onAbort);
888
843
  }
889
844
  const objects = [];
890
- const fetched = await Promise.all(result.modifiedObjectLocations.map((location) => this.getObject(location)));
845
+ const fetched = await Promise.all(result.modifiedObjectPaths.map((path) => this.getObject(path)));
891
846
  for (const object of fetched) {
892
847
  if (object)
893
848
  objects.push(object);
@@ -922,19 +877,15 @@ export class RoolChannel extends EventEmitter {
922
877
  return this.restClient.proxyFetch(this._id, url, init);
923
878
  }
924
879
  async uploadAttachment(file, conversationId) {
925
- await this.ensureCollection('attachments');
926
- const directory = `attachments/${conversationId}`;
880
+ await this.ensureCollection('/rool-drive/attachments');
881
+ const directory = `/rool-drive/attachments/${conversationId}`;
927
882
  await this.ensureCollection(directory);
928
883
  const attachment = attachmentBody(file);
929
884
  const path = `${directory}/${attachment.filename}`;
930
885
  await this.webdav.put(path, attachment.body, { contentType: attachment.contentType });
931
- const resource = resolveMachineResource(`/rool-drive/${path}`);
932
- if (!resource)
933
- throw new Error('Failed to resolve uploaded attachment');
934
- return resource;
886
+ return path;
935
887
  }
936
888
  async ensureCollection(path) {
937
- // Note: not an object collection, a folder, which is "collection" in webdav land
938
889
  const response = await this.webdav.request('MKCOL', path, { collection: true });
939
890
  if (response.status === 201 || response.status === 405)
940
891
  return;
@@ -967,7 +918,7 @@ export class RoolChannel extends EventEmitter {
967
918
  case 'channel_updated':
968
919
  if (event.channelId === this._channelId && event.channel) {
969
920
  const changed = JSON.stringify(this._channel) !== JSON.stringify(event.channel);
970
- this._channel = event.channel;
921
+ this._channel = normalizeChannel(event.channel);
971
922
  if (changed) {
972
923
  this.emit('channelUpdated', { channelId: event.channelId, source: changeSource });
973
924
  }
@@ -991,7 +942,7 @@ export class RoolChannel extends EventEmitter {
991
942
  }
992
943
  const prev = this._channel.conversations[event.conversationId];
993
944
  if (event.conversation) {
994
- this._channel.conversations[event.conversationId] = event.conversation;
945
+ this._channel.conversations[event.conversationId] = normalizeChannel({ createdAt: 0, createdBy: '', conversations: { [event.conversationId]: event.conversation } }).conversations[event.conversationId];
995
946
  }
996
947
  else {
997
948
  delete this._channel.conversations[event.conversationId];
@@ -1067,21 +1018,25 @@ export class ConversationHandle {
1067
1018
  async rename(name) {
1068
1019
  return this._channel._renameConversationImpl(name, this._conversationId);
1069
1020
  }
1070
- /** Create a new object. */
1071
- async createObject(collection, body, options) {
1072
- return this._channel._createObjectImpl(collection, body, options, this._conversationId);
1021
+ /** Create or replace an object JSON file. */
1022
+ async putObject(path, body) {
1023
+ return this._channel._putObjectImpl(path, body, this._conversationId);
1073
1024
  }
1074
- /** Update an existing object. */
1075
- async updateObject(location, options) {
1076
- return this._channel._updateObjectImpl(location, options, this._conversationId);
1025
+ /** Patch an existing object JSON file. */
1026
+ async patchObject(path, options) {
1027
+ return this._channel._patchObjectImpl(path, options, this._conversationId);
1077
1028
  }
1078
1029
  /** Move (rename/relocate) an object. */
1079
1030
  async moveObject(from, to, options) {
1080
1031
  return this._channel._moveObjectImpl(from, to, options, this._conversationId);
1081
1032
  }
1082
- /** Delete objects by location. */
1083
- async deleteObjects(locations) {
1084
- return this._channel._deleteObjectsImpl(locations, this._conversationId);
1033
+ /** Delete object JSON files by path. */
1034
+ async deleteObjects(paths) {
1035
+ return this._channel._deleteObjectsImpl(paths, this._conversationId);
1036
+ }
1037
+ /** @deprecated Use deleteObjects instead. */
1038
+ async deletePaths(paths) {
1039
+ return this.deleteObjects(paths);
1085
1040
  }
1086
1041
  /** Send a prompt to the AI agent, scoped to this conversation's history. */
1087
1042
  async prompt(text, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"channel.js","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel.js","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}