@enbox/api 0.1.1 → 0.2.1

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 (58) hide show
  1. package/README.md +505 -138
  2. package/dist/browser.mjs +23 -13
  3. package/dist/browser.mjs.map +4 -4
  4. package/dist/esm/advanced.js +11 -0
  5. package/dist/esm/advanced.js.map +1 -0
  6. package/dist/esm/define-protocol.js +3 -3
  7. package/dist/esm/dwn-api.js +56 -114
  8. package/dist/esm/dwn-api.js.map +1 -1
  9. package/dist/esm/dwn-reader-api.js +128 -0
  10. package/dist/esm/dwn-reader-api.js.map +1 -0
  11. package/dist/esm/index.js +3 -2
  12. package/dist/esm/index.js.map +1 -1
  13. package/dist/esm/live-query.js +5 -4
  14. package/dist/esm/live-query.js.map +1 -1
  15. package/dist/esm/read-only-record.js +255 -0
  16. package/dist/esm/read-only-record.js.map +1 -0
  17. package/dist/esm/record.js +46 -57
  18. package/dist/esm/record.js.map +1 -1
  19. package/dist/esm/typed-web5.js +242 -0
  20. package/dist/esm/typed-web5.js.map +1 -0
  21. package/dist/esm/web5.js +71 -3
  22. package/dist/esm/web5.js.map +1 -1
  23. package/dist/types/advanced.d.ts +12 -0
  24. package/dist/types/advanced.d.ts.map +1 -0
  25. package/dist/types/define-protocol.d.ts +3 -3
  26. package/dist/types/dwn-api.d.ts +13 -92
  27. package/dist/types/dwn-api.d.ts.map +1 -1
  28. package/dist/types/dwn-reader-api.d.ts +138 -0
  29. package/dist/types/dwn-reader-api.d.ts.map +1 -0
  30. package/dist/types/index.d.ts +3 -2
  31. package/dist/types/index.d.ts.map +1 -1
  32. package/dist/types/live-query.d.ts +13 -1
  33. package/dist/types/live-query.d.ts.map +1 -1
  34. package/dist/types/protocol-types.d.ts +2 -2
  35. package/dist/types/read-only-record.d.ts +133 -0
  36. package/dist/types/read-only-record.d.ts.map +1 -0
  37. package/dist/types/record.d.ts +37 -17
  38. package/dist/types/record.d.ts.map +1 -1
  39. package/dist/types/{typed-dwn-api.d.ts → typed-web5.d.ts} +70 -73
  40. package/dist/types/typed-web5.d.ts.map +1 -0
  41. package/dist/types/web5.d.ts +79 -3
  42. package/dist/types/web5.d.ts.map +1 -1
  43. package/package.json +10 -6
  44. package/src/advanced.ts +29 -0
  45. package/src/define-protocol.ts +3 -3
  46. package/src/dwn-api.ts +91 -232
  47. package/src/dwn-reader-api.ts +255 -0
  48. package/src/index.ts +3 -2
  49. package/src/live-query.ts +20 -4
  50. package/src/protocol-types.ts +2 -2
  51. package/src/read-only-record.ts +328 -0
  52. package/src/record.ts +116 -86
  53. package/src/typed-web5.ts +445 -0
  54. package/src/web5.ts +104 -5
  55. package/dist/esm/typed-dwn-api.js +0 -182
  56. package/dist/esm/typed-dwn-api.js.map +0 -1
  57. package/dist/types/typed-dwn-api.d.ts.map +0 -1
  58. package/src/typed-dwn-api.ts +0 -370
@@ -33,19 +33,16 @@ import { dataToBlob, SendCache } from './utils.js';
33
33
  * Methods are provided to read, update, and manage the record's lifecycle, including writing to
34
34
  * remote DWNs.
35
35
  *
36
- * Note: The `messageTimestamp` of the most recent RecordsWrite message is
37
- * logically equivalent to the date/time at which a Record was most
38
- * recently modified. Since this Record class implementation is
39
- * intended to simplify the developer experience of working with
40
- * logical records (and not individual DWN messages) the
41
- * `messageTimestamp` is mapped to `dateModified`.
36
+ * Note: The DWN SDK's `messageTimestamp` is exposed as `timestamp` on
37
+ * the Record class. It represents the time of the most recent
38
+ * message (create, update, or delete) for this logical record.
42
39
  *
43
40
  * @beta
44
41
  */
45
42
  export class Record {
46
43
  /** The `RecordsWriteMessage` descriptor unless the record is in a deleted state */
47
44
  get _recordsWriteDescriptor() {
48
- if (isDwnMessage(DwnInterface.RecordsWrite, this.rawMessage)) {
45
+ if (!this.isRecordsDeleteDescriptor(this._descriptor)) {
49
46
  return this._descriptor;
50
47
  }
51
48
  return undefined; // returns undefined if the descriptor does not represent a RecordsWrite message.
@@ -92,8 +89,8 @@ export class Record {
92
89
  get author() { return this._author; }
93
90
  /** DID that is the original creator of the Record. */
94
91
  get creator() { return this._creator; }
95
- /** Record's modified date */
96
- get dateModified() { return this._descriptor.messageTimestamp; }
92
+ /** Record's message timestamp (time of creation, most recent update, or deletion). */
93
+ get timestamp() { return this._descriptor.messageTimestamp; }
97
94
  /** Record's encryption */
98
95
  get encryption() { return this._encryption; }
99
96
  /** Record's signatures attestation */
@@ -103,13 +100,17 @@ export class Record {
103
100
  /** Role under which the author is writing the record */
104
101
  get protocolRole() { return this._protocolRole; }
105
102
  /** Record's deleted state (true/false) */
106
- get deleted() { return isDwnMessage(DwnInterface.RecordsDelete, this.rawMessage); }
103
+ get deleted() { return this.isRecordsDeleteDescriptor(this._descriptor); }
107
104
  /** Record's initial write if the record has been updated */
108
105
  get initialWrite() { return this._initialWrite; }
109
106
  /**
110
107
  * Returns a copy of the raw `RecordsWriteMessage` that was used to create the current `Record` instance.
108
+ * The result is cached and only rebuilt when the record's state changes (via `update()` or `delete()`).
111
109
  */
112
110
  get rawMessage() {
111
+ if (!this._rawMessageDirty && this._rawMessageCache) {
112
+ return this._rawMessageCache;
113
+ }
113
114
  const messageType = this._descriptor.interface + this._descriptor.method;
114
115
  let message;
115
116
  if (messageType === DwnInterface.RecordsWrite) {
@@ -129,9 +130,13 @@ export class Record {
129
130
  }));
130
131
  }
131
132
  removeUndefinedProperties(message);
133
+ this._rawMessageCache = message;
134
+ this._rawMessageDirty = false;
132
135
  return message;
133
136
  }
134
137
  constructor(agent, options, permissionsApi) {
138
+ /** Dirty flag indicating the cached raw message needs to be rebuilt. */
139
+ this._rawMessageDirty = true;
135
140
  this._agent = agent;
136
141
  // Store the author DID that originally signed the message as a convenience for developers, so
137
142
  // that they don't have to decode the signer's DID from the JWS.
@@ -352,6 +357,7 @@ export class Record {
352
357
  */
353
358
  send(target) {
354
359
  return __awaiter(this, void 0, void 0, function* () {
360
+ var _a;
355
361
  const initialWrite = this._initialWrite;
356
362
  target !== null && target !== void 0 ? target : (target = this._connectedDid);
357
363
  // Is there an initial write? Do we know if we've already sent it to this target?
@@ -383,7 +389,7 @@ export class Record {
383
389
  messageType: DwnInterface.RecordsWrite,
384
390
  author: this._connectedDid,
385
391
  target: target,
386
- dataStream: yield this.data.blob(),
392
+ dataStream: (_a = this._encodedData) !== null && _a !== void 0 ? _a : yield this.data.blob(),
387
393
  rawMessage: Object.assign({}, this.rawMessage)
388
394
  };
389
395
  }
@@ -406,7 +412,6 @@ export class Record {
406
412
  dataFormat: this.dataFormat,
407
413
  dataSize: this.dataSize,
408
414
  dateCreated: this.dateCreated,
409
- messageTimestamp: this.dateModified,
410
415
  datePublished: this.datePublished,
411
416
  encryption: this.encryption,
412
417
  parentId: this.parentId,
@@ -418,6 +423,7 @@ export class Record {
418
423
  recordId: this.id,
419
424
  schema: this.schema,
420
425
  tags: this.tags,
426
+ timestamp: this.timestamp,
421
427
  };
422
428
  }
423
429
  /**
@@ -438,7 +444,7 @@ export class Record {
438
444
  }
439
445
  str += ` Deleted: ${this.deleted}\n`;
440
446
  str += ` Created: ${this.dateCreated}\n`;
441
- str += ` Modified: ${this.dateModified}\n`;
447
+ str += ` Timestamp: ${this.timestamp}\n`;
442
448
  str += `}`;
443
449
  return str;
444
450
  }
@@ -463,7 +469,8 @@ export class Record {
463
469
  */
464
470
  update(_a) {
465
471
  return __awaiter(this, void 0, void 0, function* () {
466
- var { dateModified, data, encryption, protocolRole, store = true } = _a, params = __rest(_a, ["dateModified", "data", "encryption", "protocolRole", "store"]);
472
+ var _b;
473
+ var { timestamp, data, encryption, protocolRole, store = true } = _a, params = __rest(_a, ["timestamp", "data", "encryption", "protocolRole", "store"]);
467
474
  if (this.deleted) {
468
475
  throw new Error('Record: Cannot revive a deleted record.');
469
476
  }
@@ -471,10 +478,10 @@ export class Record {
471
478
  // caller didn't explicitly set `encryption`, default to re-encrypting.
472
479
  const shouldEncrypt = encryption !== null && encryption !== void 0 ? encryption : (this._encryption !== undefined);
473
480
  // if there is a parentId, we remove it from the descriptor and set a parentContextId
474
- const _b = this._recordsWriteDescriptor, { parentId } = _b, descriptor = __rest(_b, ["parentId"]);
481
+ const _c = this._recordsWriteDescriptor, { parentId } = _c, descriptor = __rest(_c, ["parentId"]);
475
482
  const parentContextId = parentId ? this._contextId.split('/').slice(0, -1).join('/') : undefined;
476
483
  // Begin assembling the update message.
477
- const updateMessage = Object.assign(Object.assign(Object.assign({}, descriptor), params), { parentContextId, protocolRole: protocolRole !== null && protocolRole !== void 0 ? protocolRole : this._protocolRole, messageTimestamp: dateModified, recordId: this._recordId });
484
+ const updateMessage = Object.assign(Object.assign(Object.assign({}, descriptor), params), { parentContextId, protocolRole: protocolRole !== null && protocolRole !== void 0 ? protocolRole : this._protocolRole, messageTimestamp: timestamp, recordId: this._recordId });
478
485
  // NOTE: The original Record's tags are copied to the update message, so that the tags are not lost.
479
486
  // However if a user passes new tags in the `RecordUpdateParams` object, they will overwrite the original tags.
480
487
  // If the updated tag object is empty or set to null, we remove the tags property to avoid schema validation errors in the DWN SDK.
@@ -491,7 +498,7 @@ export class Record {
491
498
  ({ dataBlob } = dataToBlob(data, updateMessage.dataFormat));
492
499
  }
493
500
  // Throw an error if an attempt is made to modify immutable properties.
494
- // Note: `data` and `dateModified` have already been handled.
501
+ // Note: `data` and `timestamp` have already been handled.
495
502
  const mutableDescriptorProperties = new Set(['data', 'dataCid', 'dataFormat', 'dataSize', 'datePublished', 'messageTimestamp', 'published', 'tags']);
496
503
  Record.verifyPermittedMutation(Object.keys(params), mutableDescriptorProperties);
497
504
  // If `published` is set to false, ensure that `datePublished` is undefined. Otherwise, DWN SDK's schema validation
@@ -521,39 +528,27 @@ export class Record {
521
528
  requestOptions.granteeDid = this._delegateDid;
522
529
  }
523
530
  const agentResponse = yield this._agent.processDwnRequest(requestOptions);
524
- const { message, reply: { status } } = agentResponse;
525
- const responseMessage = message;
526
- if (200 <= status.code && status.code <= 299) {
527
- // copy the original raw message to the initial write before we update the values.
528
- if (!this._initialWrite) {
529
- // If there is no initial write, we need to create one from the current record state.
530
- // We checked in the beginning of the function that the rawMessage is a RecordsWrite message.
531
- this._initialWrite = Object.assign({}, this.rawMessage);
532
- }
533
- // Only update the local Record instance mutable properties if the record was successfully (over)written.
534
- this._authorization = responseMessage.authorization;
535
- this._encryption = responseMessage.encryption;
536
- this._protocolRole = updateMessage.protocolRole;
537
- mutableDescriptorProperties.forEach(property => {
538
- this._descriptor[property] = responseMessage.descriptor[property];
539
- });
540
- // Cache data.
541
- if (data !== undefined) {
542
- this._encodedData = dataBlob;
543
- }
531
+ const { message: responseMessage, reply: { status } } = agentResponse;
532
+ if (!(200 <= status.code && status.code <= 299)) {
533
+ // Return a shallow copy of this record on failure — no state change.
534
+ return { status, record: this };
544
535
  }
545
- return { status };
536
+ // Determine the initial write for the new Record instance.
537
+ const initialWrite = (_b = this._initialWrite) !== null && _b !== void 0 ? _b : Object.assign({}, this.rawMessage);
538
+ // Construct a new Record instance reflecting the updated state.
539
+ const updatedRecord = new Record(this._agent, Object.assign({ author: this._author, connectedDid: this._connectedDid, delegateDid: this._delegateDid, remoteOrigin: this._remoteOrigin, protocolRole: protocolRole !== null && protocolRole !== void 0 ? protocolRole : this._protocolRole, initialWrite, encodedData: data !== undefined ? dataBlob : this._encodedData }, responseMessage), this._permissionsApi);
540
+ return { status, record: updatedRecord };
546
541
  });
547
542
  }
548
543
  /**
549
544
  * Delete the current record on the DWN.
550
545
  * @param params - Parameters to delete the record.
551
- * @returns the status of the delete request
546
+ * @returns the status and a new Record instance reflecting the deleted state
552
547
  */
553
548
  delete(deleteParams) {
554
549
  return __awaiter(this, void 0, void 0, function* () {
555
- var _a;
556
- const { store = true, signAsOwner, dateModified, prune = false } = deleteParams || {};
550
+ var _a, _b;
551
+ const { store = true, signAsOwner, timestamp, prune = false } = deleteParams || {};
557
552
  const signAsOwnerValue = signAsOwner && this._delegateDid === undefined;
558
553
  const signAsOwnerDelegate = signAsOwner && this._delegateDid !== undefined;
559
554
  if (this.deleted && !this._initialWrite) {
@@ -587,7 +582,7 @@ export class Record {
587
582
  deleteOptions.messageParams = {
588
583
  prune: prune,
589
584
  recordId: this._recordId,
590
- messageTimestamp: dateModified,
585
+ messageTimestamp: timestamp,
591
586
  protocolRole: (_a = deleteParams === null || deleteParams === void 0 ? void 0 : deleteParams.protocolRole) !== null && _a !== void 0 ? _a : this._protocolRole // if no protocolRole is provided, use the current protocolRole
592
587
  };
593
588
  }
@@ -606,19 +601,13 @@ export class Record {
606
601
  const agentResponse = yield this._agent.processDwnRequest(deleteOptions);
607
602
  const { message, reply: { status } } = agentResponse;
608
603
  if (status.code !== 202) {
609
- // If the delete was not successful, return the status.
610
- return { status };
604
+ // If the delete was not successful, return this record unchanged.
605
+ return { status, record: this };
611
606
  }
612
- // If the delete was successful, update the Record author to the author of the delete message.
613
- this._author = getRecordAuthor(message);
614
- this._descriptor = message.descriptor;
615
- this._authorization = message.authorization;
616
- // clear out properties that are not relevant for a deleted record
617
- this._encodedData = undefined;
618
- this._encryption = undefined;
619
- this._attestation = undefined;
620
- this._contextId = undefined;
621
- return { status };
607
+ // Construct a new Record instance reflecting the deleted state.
608
+ const initialWrite = this._initialWrite;
609
+ const deletedRecord = new Record(this._agent, Object.assign({ author: getRecordAuthor(message), connectedDid: this._connectedDid, delegateDid: this._delegateDid, remoteOrigin: this._remoteOrigin, protocolRole: (_b = deleteParams === null || deleteParams === void 0 ? void 0 : deleteParams.protocolRole) !== null && _b !== void 0 ? _b : this._protocolRole, initialWrite }, message), this._permissionsApi);
610
+ return { status, record: deletedRecord };
622
611
  });
623
612
  }
624
613
  /**
@@ -721,6 +710,7 @@ export class Record {
721
710
  // authorization, because now it will have the owner's signature on it.
722
711
  if (signAsOwner) {
723
712
  this._authorization = responseMessage.authorization;
713
+ this._rawMessageDirty = true;
724
714
  }
725
715
  }
726
716
  return { status };
@@ -749,9 +739,8 @@ export class Record {
749
739
  // When reading the data as a delegate, if we don't find a grant we will attempt to read it with the delegate DID as the author.
750
740
  // This allows users to read publicly available data without needing explicit grants.
751
741
  //
752
- // NOTE: When a read-only Record class is implemented, callers would have that returned instead when they don't have an explicit permission.
753
- // This should fail if a permission is not found, although it should not happen in practice.
754
- // TODO: https://github.com/enboxorg/enbox/issues/898
742
+ // NOTE: For anonymous/public record data access, callers can use `ReadOnlyRecord` via `Web5.anonymous()`.
743
+ // See: https://github.com/enboxorg/enbox/issues/898
755
744
  try {
756
745
  const { message: delegatedGrant } = yield this._permissionsApi.getPermissionForRequest({
757
746
  connectedDid: this._connectedDid,
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/record.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,242 @@
1
+ /**
2
+ * A protocol-scoped API returned by {@link Web5.using}.
3
+ *
4
+ * `TypedWeb5` is the **primary developer interface** for interacting with
5
+ * protocol-backed records. It auto-injects the protocol URI, protocolPath,
6
+ * and schema into every operation, and provides compile-time path
7
+ * autocompletion plus typed data payloads via the schema map.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const social = web5.using(SocialProtocol);
12
+ *
13
+ * // Install the protocol
14
+ * await social.configure();
15
+ *
16
+ * // Write — path and data type are checked at compile time
17
+ * const { record } = await social.records.write('thread', {
18
+ * data: { title: 'Hello World', body: '...' },
19
+ * });
20
+ *
21
+ * // Query — protocol and protocolPath are auto-injected
22
+ * const { records } = await social.records.query('thread');
23
+ *
24
+ * // Subscribe — real-time changes via LiveQuery
25
+ * const { liveQuery } = await social.records.subscribe('thread/reply');
26
+ * liveQuery.on('create', (record) => { ... });
27
+ * ```
28
+ */
29
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
30
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
31
+ return new (P || (P = Promise))(function (resolve, reject) {
32
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
33
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
34
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
35
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
36
+ });
37
+ };
38
+ // ---------------------------------------------------------------------------
39
+ // TypedWeb5 class
40
+ // ---------------------------------------------------------------------------
41
+ /**
42
+ * A protocol-scoped API that auto-injects `protocol`, `protocolPath`, and
43
+ * `schema` into every DWN operation.
44
+ *
45
+ * Obtain an instance via `web5.using(typedProtocol)`.
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * const social = web5.using(SocialProtocol);
50
+ *
51
+ * await social.configure();
52
+ *
53
+ * const { record } = await social.records.write('friend', {
54
+ * data: { did: 'did:example:alice', alias: 'Alice' },
55
+ * });
56
+ *
57
+ * const { records } = await social.records.query('friend', {
58
+ * filter: { tags: { did: 'did:example:alice' } },
59
+ * });
60
+ * ```
61
+ */
62
+ export class TypedWeb5 {
63
+ constructor(dwn, protocol) {
64
+ this._dwn = dwn;
65
+ this._definition = protocol.definition;
66
+ }
67
+ /** The protocol URI. */
68
+ get protocol() {
69
+ return this._definition.protocol;
70
+ }
71
+ /** The raw protocol definition. */
72
+ get definition() {
73
+ return this._definition;
74
+ }
75
+ /**
76
+ * Configures (installs) this protocol on the local DWN.
77
+ *
78
+ * If the protocol is already installed with an identical definition,
79
+ * this is a no-op and returns the existing protocol. If the definition
80
+ * has changed (e.g. new types, modified structure), the protocol is
81
+ * re-configured with the updated definition.
82
+ *
83
+ * @param options - Optional overrides like `encryption`.
84
+ */
85
+ configure(options) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ // Query for an existing installation of this protocol.
88
+ const { protocols } = yield this._dwn.protocols.query({
89
+ filter: { protocol: this._definition.protocol },
90
+ });
91
+ // If already installed with the same definition, return it as-is.
92
+ if (protocols.length > 0) {
93
+ const existing = protocols[0];
94
+ if (definitionsEqual(existing.definition, this._definition)) {
95
+ return { status: { code: 200, detail: 'OK' }, protocol: existing };
96
+ }
97
+ }
98
+ // Not installed or definition has changed — configure the new version.
99
+ return this._dwn.protocols.configure({
100
+ definition: this._definition,
101
+ encryption: options === null || options === void 0 ? void 0 : options.encryption,
102
+ });
103
+ });
104
+ }
105
+ /**
106
+ * Protocol-scoped record operations.
107
+ *
108
+ * Every method auto-injects the protocol URI, protocolPath, and schema
109
+ * from the protocol definition. Path parameters provide compile-time
110
+ * autocompletion via `ProtocolPaths<D>`.
111
+ */
112
+ get records() {
113
+ return {
114
+ /**
115
+ * Write a record at the given protocol path.
116
+ *
117
+ * @param path - The protocol path (e.g. `'friend'`, `'group/member'`).
118
+ * @param request - Write options including typed `data`.
119
+ */
120
+ write: (path, request) => __awaiter(this, void 0, void 0, function* () {
121
+ var _a, _b;
122
+ const typeName = lastSegment(path);
123
+ const typeEntry = this._definition.types[typeName];
124
+ return this._dwn.records.write({
125
+ data: request.data,
126
+ store: request.store,
127
+ encryption: request.encryption,
128
+ parentContextId: request.parentContextId,
129
+ published: request.published,
130
+ datePublished: request.datePublished,
131
+ recipient: request.recipient,
132
+ protocolRole: request.protocolRole,
133
+ tags: request.tags,
134
+ protocol: this._definition.protocol,
135
+ protocolPath: path,
136
+ schema: typeEntry === null || typeEntry === void 0 ? void 0 : typeEntry.schema,
137
+ dataFormat: (_a = request.dataFormat) !== null && _a !== void 0 ? _a : (_b = typeEntry === null || typeEntry === void 0 ? void 0 : typeEntry.dataFormats) === null || _b === void 0 ? void 0 : _b[0],
138
+ });
139
+ }),
140
+ /**
141
+ * Query records at the given protocol path.
142
+ *
143
+ * @param path - The protocol path to query.
144
+ * @param request - Optional filter, sort, and pagination.
145
+ */
146
+ query: (path, request) => __awaiter(this, void 0, void 0, function* () {
147
+ const typeName = lastSegment(path);
148
+ const typeEntry = this._definition.types[typeName];
149
+ return this._dwn.records.query({
150
+ from: request === null || request === void 0 ? void 0 : request.from,
151
+ encryption: request === null || request === void 0 ? void 0 : request.encryption,
152
+ filter: Object.assign(Object.assign({}, request === null || request === void 0 ? void 0 : request.filter), { protocol: this._definition.protocol, protocolPath: path, schema: typeEntry === null || typeEntry === void 0 ? void 0 : typeEntry.schema }),
153
+ dateSort: request === null || request === void 0 ? void 0 : request.dateSort,
154
+ pagination: request === null || request === void 0 ? void 0 : request.pagination,
155
+ protocolRole: request === null || request === void 0 ? void 0 : request.protocolRole,
156
+ });
157
+ }),
158
+ /**
159
+ * Read a single record at the given protocol path.
160
+ *
161
+ * @param path - The protocol path to read from.
162
+ * @param request - Read options including a filter to identify the record.
163
+ */
164
+ read: (path, request) => __awaiter(this, void 0, void 0, function* () {
165
+ const typeName = lastSegment(path);
166
+ const typeEntry = this._definition.types[typeName];
167
+ return this._dwn.records.read({
168
+ from: request.from,
169
+ encryption: request.encryption,
170
+ protocol: this._definition.protocol,
171
+ filter: Object.assign(Object.assign({}, request.filter), { protocol: this._definition.protocol, protocolPath: path, schema: typeEntry === null || typeEntry === void 0 ? void 0 : typeEntry.schema }),
172
+ });
173
+ }),
174
+ /**
175
+ * Delete a record at the given protocol path.
176
+ *
177
+ * @param path - The protocol path (used for permission scoping).
178
+ * @param request - Delete options including the `recordId`.
179
+ */
180
+ delete: (_path, request) => __awaiter(this, void 0, void 0, function* () {
181
+ return this._dwn.records.delete({
182
+ from: request.from,
183
+ protocol: this._definition.protocol,
184
+ recordId: request.recordId,
185
+ });
186
+ }),
187
+ /**
188
+ * Subscribe to records at the given protocol path.
189
+ *
190
+ * Returns a {@link LiveQuery} that atomically provides an initial snapshot
191
+ * and a real-time stream of deduplicated change events.
192
+ *
193
+ * @param path - The protocol path to subscribe to.
194
+ * @param request - Optional filter and role.
195
+ */
196
+ subscribe: (path, request) => __awaiter(this, void 0, void 0, function* () {
197
+ const typeName = lastSegment(path);
198
+ const typeEntry = this._definition.types[typeName];
199
+ return this._dwn.records.subscribe({
200
+ from: request === null || request === void 0 ? void 0 : request.from,
201
+ filter: Object.assign(Object.assign({}, request === null || request === void 0 ? void 0 : request.filter), { protocol: this._definition.protocol, protocolPath: path, schema: typeEntry === null || typeEntry === void 0 ? void 0 : typeEntry.schema }),
202
+ protocolRole: request === null || request === void 0 ? void 0 : request.protocolRole,
203
+ });
204
+ }),
205
+ };
206
+ }
207
+ }
208
+ // ---------------------------------------------------------------------------
209
+ // Helpers
210
+ // ---------------------------------------------------------------------------
211
+ /**
212
+ * Compares two protocol definitions for deep equality using deterministic
213
+ * JSON serialization.
214
+ *
215
+ * Keys are sorted recursively so that semantically identical definitions
216
+ * with different key ordering are treated as equal.
217
+ */
218
+ function definitionsEqual(a, b) {
219
+ return stableStringify(a) === stableStringify(b);
220
+ }
221
+ /**
222
+ * Returns the last segment of a slash-delimited path.
223
+ */
224
+ function lastSegment(path) {
225
+ const parts = path.split('/');
226
+ return parts[parts.length - 1];
227
+ }
228
+ /**
229
+ * Deterministic JSON serialization with sorted keys.
230
+ */
231
+ function stableStringify(value) {
232
+ if (value === null || value === undefined || typeof value !== 'object') {
233
+ return JSON.stringify(value);
234
+ }
235
+ if (Array.isArray(value)) {
236
+ return '[' + value.map((item) => stableStringify(item)).join(',') + ']';
237
+ }
238
+ const keys = Object.keys(value).sort();
239
+ const pairs = keys.map((key) => JSON.stringify(key) + ':' + stableStringify(value[key]));
240
+ return '{' + pairs.join(',') + '}';
241
+ }
242
+ //# sourceMappingURL=typed-web5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-web5.js","sourceRoot":"","sources":["../../src/typed-web5.ts"],"names":[],"mappings":"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"}