@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.
- package/README.md +505 -138
- package/dist/browser.mjs +23 -13
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/advanced.js +11 -0
- package/dist/esm/advanced.js.map +1 -0
- package/dist/esm/define-protocol.js +3 -3
- package/dist/esm/dwn-api.js +56 -114
- package/dist/esm/dwn-api.js.map +1 -1
- package/dist/esm/dwn-reader-api.js +128 -0
- package/dist/esm/dwn-reader-api.js.map +1 -0
- package/dist/esm/index.js +3 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/live-query.js +5 -4
- package/dist/esm/live-query.js.map +1 -1
- package/dist/esm/read-only-record.js +255 -0
- package/dist/esm/read-only-record.js.map +1 -0
- package/dist/esm/record.js +46 -57
- package/dist/esm/record.js.map +1 -1
- package/dist/esm/typed-web5.js +242 -0
- package/dist/esm/typed-web5.js.map +1 -0
- package/dist/esm/web5.js +71 -3
- package/dist/esm/web5.js.map +1 -1
- package/dist/types/advanced.d.ts +12 -0
- package/dist/types/advanced.d.ts.map +1 -0
- package/dist/types/define-protocol.d.ts +3 -3
- package/dist/types/dwn-api.d.ts +13 -92
- package/dist/types/dwn-api.d.ts.map +1 -1
- package/dist/types/dwn-reader-api.d.ts +138 -0
- package/dist/types/dwn-reader-api.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/live-query.d.ts +13 -1
- package/dist/types/live-query.d.ts.map +1 -1
- package/dist/types/protocol-types.d.ts +2 -2
- package/dist/types/read-only-record.d.ts +133 -0
- package/dist/types/read-only-record.d.ts.map +1 -0
- package/dist/types/record.d.ts +37 -17
- package/dist/types/record.d.ts.map +1 -1
- package/dist/types/{typed-dwn-api.d.ts → typed-web5.d.ts} +70 -73
- package/dist/types/typed-web5.d.ts.map +1 -0
- package/dist/types/web5.d.ts +79 -3
- package/dist/types/web5.d.ts.map +1 -1
- package/package.json +10 -6
- package/src/advanced.ts +29 -0
- package/src/define-protocol.ts +3 -3
- package/src/dwn-api.ts +91 -232
- package/src/dwn-reader-api.ts +255 -0
- package/src/index.ts +3 -2
- package/src/live-query.ts +20 -4
- package/src/protocol-types.ts +2 -2
- package/src/read-only-record.ts +328 -0
- package/src/record.ts +116 -86
- package/src/typed-web5.ts +445 -0
- package/src/web5.ts +104 -5
- package/dist/esm/typed-dwn-api.js +0 -182
- package/dist/esm/typed-dwn-api.js.map +0 -1
- package/dist/types/typed-dwn-api.d.ts.map +0 -1
- package/src/typed-dwn-api.ts +0 -370
package/dist/esm/record.js
CHANGED
|
@@ -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`
|
|
37
|
-
*
|
|
38
|
-
*
|
|
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 (
|
|
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
|
|
96
|
-
get
|
|
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
|
|
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 += `
|
|
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
|
|
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
|
|
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:
|
|
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 `
|
|
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
|
-
|
|
526
|
-
|
|
527
|
-
|
|
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
|
-
|
|
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
|
|
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,
|
|
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:
|
|
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
|
|
610
|
-
return { status };
|
|
604
|
+
// If the delete was not successful, return this record unchanged.
|
|
605
|
+
return { status, record: this };
|
|
611
606
|
}
|
|
612
|
-
//
|
|
613
|
-
|
|
614
|
-
this.
|
|
615
|
-
|
|
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:
|
|
753
|
-
//
|
|
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,
|
package/dist/esm/record.js.map
CHANGED
|
@@ -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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"}
|