@enbox/api 0.6.11 → 0.6.12
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/dist/browser.mjs +9 -9
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/typed-enbox.js +72 -19
- package/dist/esm/typed-enbox.js.map +1 -1
- package/dist/types/typed-enbox.d.ts +16 -0
- package/dist/types/typed-enbox.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/typed-enbox.ts +81 -19
package/dist/esm/typed-enbox.js
CHANGED
|
@@ -167,11 +167,20 @@ export class TypedEnbox {
|
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
// Not installed or definition has changed — configure the new version.
|
|
170
|
-
//
|
|
171
|
-
//
|
|
172
|
-
//
|
|
173
|
-
|
|
170
|
+
// In delegate mode, the wallet is responsible for installing encrypted
|
|
171
|
+
// protocols during the connect flow. The delegate cannot derive the
|
|
172
|
+
// owner's encryption keys, so configuring here would install the
|
|
173
|
+
// protocol WITHOUT $encryption keys — breaking all encrypted writes.
|
|
174
|
+
const hasEncryptedTypes = Object.values(this._definition.types)
|
|
174
175
|
.some((type) => (type === null || type === void 0 ? void 0 : type.encryptionRequired) === true);
|
|
176
|
+
if (this._dwn.isDelegate && hasEncryptedTypes) {
|
|
177
|
+
throw new Error(`TypedEnbox: Protocol '${this._definition.protocol}' requires ` +
|
|
178
|
+
`encryption but is not installed or has changed. In delegate mode, ` +
|
|
179
|
+
`encrypted protocols must be installed by the wallet during the ` +
|
|
180
|
+
`connect flow. Ensure the sync engine has completed its initial ` +
|
|
181
|
+
`sync before performing record operations.`);
|
|
182
|
+
}
|
|
183
|
+
const needsEncryption = !this._dwn.isDelegate && hasEncryptedTypes;
|
|
175
184
|
const result = yield this._dwn.protocols.configure({
|
|
176
185
|
definition: this._definition,
|
|
177
186
|
encryption: (_a = options === null || options === void 0 ? void 0 : options.encryption) !== null && _a !== void 0 ? _a : (needsEncryption || undefined),
|
|
@@ -281,12 +290,22 @@ export class TypedEnbox {
|
|
|
281
290
|
return;
|
|
282
291
|
}
|
|
283
292
|
// Not installed — configure it now.
|
|
284
|
-
//
|
|
285
|
-
//
|
|
286
|
-
//
|
|
287
|
-
//
|
|
288
|
-
|
|
293
|
+
// In delegate mode, the wallet is responsible for installing encrypted
|
|
294
|
+
// protocols during the connect flow. The delegate cannot derive the
|
|
295
|
+
// owner's encryption keys, so attempting to configure an encrypted
|
|
296
|
+
// protocol here would install it WITHOUT $encryption keys — causing
|
|
297
|
+
// all subsequent encrypted writes to be rejected by the DWN.
|
|
298
|
+
// Fail fast with a clear message instead.
|
|
299
|
+
const hasEncryptedTypes = Object.values(this._definition.types)
|
|
289
300
|
.some((type) => (type === null || type === void 0 ? void 0 : type.encryptionRequired) === true);
|
|
301
|
+
if (this._dwn.isDelegate && hasEncryptedTypes) {
|
|
302
|
+
throw new Error(`TypedEnbox: Protocol '${this._definition.protocol}' requires ` +
|
|
303
|
+
`encryption but is not yet installed. In delegate mode, encrypted ` +
|
|
304
|
+
`protocols must be installed by the wallet during the connect flow. ` +
|
|
305
|
+
`Ensure the sync engine has completed its initial sync before ` +
|
|
306
|
+
`performing record operations.`);
|
|
307
|
+
}
|
|
308
|
+
const needsEncryption = !this._dwn.isDelegate && hasEncryptedTypes;
|
|
290
309
|
const result = yield this._dwn.protocols.configure({
|
|
291
310
|
definition: this._definition,
|
|
292
311
|
encryption: needsEncryption || undefined,
|
|
@@ -353,10 +372,11 @@ export class TypedEnbox {
|
|
|
353
372
|
yield this._ensureReady(normalizedPath);
|
|
354
373
|
const typeName = lastSegment(normalizedPath);
|
|
355
374
|
const typeEntry = this._definition.types[typeName];
|
|
356
|
-
// Auto-enable encryption when the type requires it
|
|
357
|
-
//
|
|
358
|
-
//
|
|
359
|
-
|
|
375
|
+
// Auto-enable encryption when the type requires it.
|
|
376
|
+
// Delegates CAN encrypt because the $encryption public keys in the
|
|
377
|
+
// synced protocol definition are sufficient for ProtocolPath
|
|
378
|
+
// encryption — no private key access is needed for writes.
|
|
379
|
+
const autoEncryption = (typeEntry === null || typeEntry === void 0 ? void 0 : typeEntry.encryptionRequired) === true
|
|
360
380
|
? true : undefined;
|
|
361
381
|
const { status, record } = yield this._dwn.records.write(Object.assign(Object.assign({ data: request.data, store: request.store, encryption: (_a = request.encryption) !== null && _a !== void 0 ? _a : autoEncryption, parentContextId: request.parentContextId, published: request.published, datePublished: request.datePublished, recipient: request.recipient, protocolRole: request.protocolRole, tags: request.tags, protocol: this._definition.protocol, protocolPath: normalizedPath }, ((typeEntry === null || typeEntry === void 0 ? void 0 : typeEntry.schema) !== undefined ? { schema: typeEntry.schema } : {})), { dataFormat: (_b = request.dataFormat) !== null && _b !== void 0 ? _b : (_c = typeEntry === null || typeEntry === void 0 ? void 0 : typeEntry.dataFormats) === null || _c === void 0 ? void 0 : _c[0] }));
|
|
362
382
|
return {
|
|
@@ -406,7 +426,10 @@ export class TypedEnbox {
|
|
|
406
426
|
const typeName = lastSegment(normalizedPath);
|
|
407
427
|
const typeEntry = this._definition.types[typeName];
|
|
408
428
|
const queryFilter = mapParentContextId(request === null || request === void 0 ? void 0 : request.filter);
|
|
409
|
-
|
|
429
|
+
// Auto-enable decryption when the type requires it. Delegates use
|
|
430
|
+
// delivered ProtocolPath keys from the connect flow; the agent layer
|
|
431
|
+
// resolves the correct key decrypter automatically.
|
|
432
|
+
const autoEncryption = (typeEntry === null || typeEntry === void 0 ? void 0 : typeEntry.encryptionRequired) === true
|
|
410
433
|
? true : undefined;
|
|
411
434
|
const { status, records, cursor } = yield this._dwn.records.query({
|
|
412
435
|
from: request === null || request === void 0 ? void 0 : request.from,
|
|
@@ -451,7 +474,9 @@ export class TypedEnbox {
|
|
|
451
474
|
const typeName = lastSegment(normalizedPath);
|
|
452
475
|
const typeEntry = this._definition.types[typeName];
|
|
453
476
|
const readFilter = mapParentContextId(request.filter);
|
|
454
|
-
|
|
477
|
+
// Auto-enable decryption when the type requires it. See query()
|
|
478
|
+
// comment for delegate decryption details.
|
|
479
|
+
const autoEncryption = (typeEntry === null || typeEntry === void 0 ? void 0 : typeEntry.encryptionRequired) === true
|
|
455
480
|
? true : undefined;
|
|
456
481
|
const { status, record } = yield this._dwn.records.read({
|
|
457
482
|
from: request.from,
|
|
@@ -571,14 +596,42 @@ function mapParentContextId(filter) {
|
|
|
571
596
|
return rest;
|
|
572
597
|
}
|
|
573
598
|
/**
|
|
574
|
-
* Compares two protocol definitions for
|
|
575
|
-
* JSON serialization.
|
|
599
|
+
* Compares two protocol definitions for **logical** equality using
|
|
600
|
+
* deterministic JSON serialization with `$encryption` blocks stripped.
|
|
601
|
+
*
|
|
602
|
+
* When a protocol is installed with `encryption: true`, the agent injects
|
|
603
|
+
* `$encryption` blocks into the `structure` containing derived public keys.
|
|
604
|
+
* These blocks are operational metadata — not part of the developer-authored
|
|
605
|
+
* definition — so they must be ignored during equality checks. Otherwise,
|
|
606
|
+
* the installed definition (with `$encryption`) would always differ from
|
|
607
|
+
* the source definition (without `$encryption`), causing false drift
|
|
608
|
+
* detection and spurious reconfigure warnings.
|
|
576
609
|
*
|
|
577
610
|
* Keys are sorted recursively so that semantically identical definitions
|
|
578
611
|
* with different key ordering are treated as equal.
|
|
579
612
|
*/
|
|
580
|
-
function definitionsEqual(a, b) {
|
|
581
|
-
return stableStringify(a) === stableStringify(b);
|
|
613
|
+
export function definitionsEqual(a, b) {
|
|
614
|
+
return stableStringify(stripEncryptionBlocks(a)) === stableStringify(stripEncryptionBlocks(b));
|
|
615
|
+
}
|
|
616
|
+
/**
|
|
617
|
+
* Recursively removes `$encryption` keys from an object tree.
|
|
618
|
+
* Returns a new object — the original is not mutated.
|
|
619
|
+
*/
|
|
620
|
+
function stripEncryptionBlocks(value) {
|
|
621
|
+
if (value === null || value === undefined || typeof value !== 'object') {
|
|
622
|
+
return value;
|
|
623
|
+
}
|
|
624
|
+
if (Array.isArray(value)) {
|
|
625
|
+
return value.map((item) => stripEncryptionBlocks(item));
|
|
626
|
+
}
|
|
627
|
+
const result = {};
|
|
628
|
+
for (const [key, val] of Object.entries(value)) {
|
|
629
|
+
if (key === '$encryption') {
|
|
630
|
+
continue;
|
|
631
|
+
}
|
|
632
|
+
result[key] = stripEncryptionBlocks(val);
|
|
633
|
+
}
|
|
634
|
+
return result;
|
|
582
635
|
}
|
|
583
636
|
/**
|
|
584
637
|
* Strips leading and trailing slashes from a path.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-enbox.js","sourceRoot":"","sources":["../../src/typed-enbox.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"typed-enbox.js","sourceRoot":"","sources":["../../src/typed-enbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -634,5 +634,21 @@ export declare class TypedEnbox<D extends ProtocolDefinition = ProtocolDefinitio
|
|
|
634
634
|
subscribe: <Path extends ProtocolPaths<D> & string>(path: Path, request?: TypedSubscribeRequest) => Promise<TypedSubscribeResponse<DataForPath<D, M, Path>>>;
|
|
635
635
|
};
|
|
636
636
|
}
|
|
637
|
+
/**
|
|
638
|
+
* Compares two protocol definitions for **logical** equality using
|
|
639
|
+
* deterministic JSON serialization with `$encryption` blocks stripped.
|
|
640
|
+
*
|
|
641
|
+
* When a protocol is installed with `encryption: true`, the agent injects
|
|
642
|
+
* `$encryption` blocks into the `structure` containing derived public keys.
|
|
643
|
+
* These blocks are operational metadata — not part of the developer-authored
|
|
644
|
+
* definition — so they must be ignored during equality checks. Otherwise,
|
|
645
|
+
* the installed definition (with `$encryption`) would always differ from
|
|
646
|
+
* the source definition (without `$encryption`), causing false drift
|
|
647
|
+
* detection and spurious reconfigure warnings.
|
|
648
|
+
*
|
|
649
|
+
* Keys are sorted recursively so that semantically identical definitions
|
|
650
|
+
* with different key ordering are treated as equal.
|
|
651
|
+
*/
|
|
652
|
+
export declare function definitionsEqual(a: unknown, b: unknown): boolean;
|
|
637
653
|
export {};
|
|
638
654
|
//# sourceMappingURL=typed-enbox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-enbox.d.ts","sourceRoot":"","sources":["../../src/typed-enbox.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"typed-enbox.d.ts","sourceRoot":"","sources":["../../src/typed-enbox.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enbox/api",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.12",
|
|
4
4
|
"description": "Enbox SDK — high-level API for Decentralized Web Nodes, DIDs, and Verifiable Credentials",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/esm/index.js",
|
|
@@ -81,10 +81,10 @@
|
|
|
81
81
|
"bun": ">=1.0.0"
|
|
82
82
|
},
|
|
83
83
|
"dependencies": {
|
|
84
|
-
"@enbox/agent": "0.
|
|
85
|
-
"@enbox/auth": "0.6.
|
|
84
|
+
"@enbox/agent": "0.6.0",
|
|
85
|
+
"@enbox/auth": "0.6.20",
|
|
86
86
|
"@enbox/common": "0.1.0",
|
|
87
|
-
"@enbox/dwn-clients": "0.
|
|
87
|
+
"@enbox/dwn-clients": "0.3.0"
|
|
88
88
|
},
|
|
89
89
|
"devDependencies": {
|
|
90
90
|
"@enbox/crypto": "0.1.0",
|
package/src/typed-enbox.ts
CHANGED
|
@@ -639,12 +639,25 @@ export class TypedEnbox<
|
|
|
639
639
|
}
|
|
640
640
|
|
|
641
641
|
// Not installed or definition has changed — configure the new version.
|
|
642
|
-
//
|
|
643
|
-
//
|
|
644
|
-
//
|
|
645
|
-
|
|
642
|
+
// In delegate mode, the wallet is responsible for installing encrypted
|
|
643
|
+
// protocols during the connect flow. The delegate cannot derive the
|
|
644
|
+
// owner's encryption keys, so configuring here would install the
|
|
645
|
+
// protocol WITHOUT $encryption keys — breaking all encrypted writes.
|
|
646
|
+
const hasEncryptedTypes = Object.values(this._definition.types)
|
|
646
647
|
.some((type) => (type as ProtocolType)?.encryptionRequired === true);
|
|
647
648
|
|
|
649
|
+
if (this._dwn.isDelegate && hasEncryptedTypes) {
|
|
650
|
+
throw new Error(
|
|
651
|
+
`TypedEnbox: Protocol '${this._definition.protocol}' requires ` +
|
|
652
|
+
`encryption but is not installed or has changed. In delegate mode, ` +
|
|
653
|
+
`encrypted protocols must be installed by the wallet during the ` +
|
|
654
|
+
`connect flow. Ensure the sync engine has completed its initial ` +
|
|
655
|
+
`sync before performing record operations.`,
|
|
656
|
+
);
|
|
657
|
+
}
|
|
658
|
+
|
|
659
|
+
const needsEncryption = !this._dwn.isDelegate && hasEncryptedTypes;
|
|
660
|
+
|
|
648
661
|
const result = await this._dwn.protocols.configure({
|
|
649
662
|
definition : this._definition,
|
|
650
663
|
encryption : options?.encryption ?? (needsEncryption || undefined),
|
|
@@ -766,13 +779,27 @@ export class TypedEnbox<
|
|
|
766
779
|
}
|
|
767
780
|
|
|
768
781
|
// Not installed — configure it now.
|
|
769
|
-
//
|
|
770
|
-
//
|
|
771
|
-
//
|
|
772
|
-
//
|
|
773
|
-
|
|
782
|
+
// In delegate mode, the wallet is responsible for installing encrypted
|
|
783
|
+
// protocols during the connect flow. The delegate cannot derive the
|
|
784
|
+
// owner's encryption keys, so attempting to configure an encrypted
|
|
785
|
+
// protocol here would install it WITHOUT $encryption keys — causing
|
|
786
|
+
// all subsequent encrypted writes to be rejected by the DWN.
|
|
787
|
+
// Fail fast with a clear message instead.
|
|
788
|
+
const hasEncryptedTypes = Object.values(this._definition.types)
|
|
774
789
|
.some((type) => (type as ProtocolType)?.encryptionRequired === true);
|
|
775
790
|
|
|
791
|
+
if (this._dwn.isDelegate && hasEncryptedTypes) {
|
|
792
|
+
throw new Error(
|
|
793
|
+
`TypedEnbox: Protocol '${this._definition.protocol}' requires ` +
|
|
794
|
+
`encryption but is not yet installed. In delegate mode, encrypted ` +
|
|
795
|
+
`protocols must be installed by the wallet during the connect flow. ` +
|
|
796
|
+
`Ensure the sync engine has completed its initial sync before ` +
|
|
797
|
+
`performing record operations.`,
|
|
798
|
+
);
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
const needsEncryption = !this._dwn.isDelegate && hasEncryptedTypes;
|
|
802
|
+
|
|
776
803
|
const result = await this._dwn.protocols.configure({
|
|
777
804
|
definition : this._definition,
|
|
778
805
|
encryption : needsEncryption || undefined,
|
|
@@ -869,10 +896,11 @@ export class TypedEnbox<
|
|
|
869
896
|
const typeName = lastSegment(normalizedPath);
|
|
870
897
|
const typeEntry = this._definition.types[typeName] as ProtocolType | undefined;
|
|
871
898
|
|
|
872
|
-
// Auto-enable encryption when the type requires it
|
|
873
|
-
//
|
|
874
|
-
//
|
|
875
|
-
|
|
899
|
+
// Auto-enable encryption when the type requires it.
|
|
900
|
+
// Delegates CAN encrypt because the $encryption public keys in the
|
|
901
|
+
// synced protocol definition are sufficient for ProtocolPath
|
|
902
|
+
// encryption — no private key access is needed for writes.
|
|
903
|
+
const autoEncryption = typeEntry?.encryptionRequired === true
|
|
876
904
|
? true : undefined;
|
|
877
905
|
|
|
878
906
|
const { status, record } = await this._dwn.records.write({
|
|
@@ -942,7 +970,10 @@ export class TypedEnbox<
|
|
|
942
970
|
const typeEntry = this._definition.types[typeName] as ProtocolType | undefined;
|
|
943
971
|
|
|
944
972
|
const queryFilter = mapParentContextId(request?.filter);
|
|
945
|
-
|
|
973
|
+
// Auto-enable decryption when the type requires it. Delegates use
|
|
974
|
+
// delivered ProtocolPath keys from the connect flow; the agent layer
|
|
975
|
+
// resolves the correct key decrypter automatically.
|
|
976
|
+
const autoEncryption = typeEntry?.encryptionRequired === true
|
|
946
977
|
? true : undefined;
|
|
947
978
|
|
|
948
979
|
const { status, records, cursor } = await this._dwn.records.query({
|
|
@@ -998,7 +1029,9 @@ export class TypedEnbox<
|
|
|
998
1029
|
const typeEntry = this._definition.types[typeName] as ProtocolType | undefined;
|
|
999
1030
|
|
|
1000
1031
|
const readFilter = mapParentContextId(request.filter);
|
|
1001
|
-
|
|
1032
|
+
// Auto-enable decryption when the type requires it. See query()
|
|
1033
|
+
// comment for delegate decryption details.
|
|
1034
|
+
const autoEncryption = typeEntry?.encryptionRequired === true
|
|
1002
1035
|
? true : undefined;
|
|
1003
1036
|
|
|
1004
1037
|
const { status, record } = await this._dwn.records.read({
|
|
@@ -1145,14 +1178,43 @@ function mapParentContextId<T extends Record<string, unknown>>(
|
|
|
1145
1178
|
}
|
|
1146
1179
|
|
|
1147
1180
|
/**
|
|
1148
|
-
* Compares two protocol definitions for
|
|
1149
|
-
* JSON serialization.
|
|
1181
|
+
* Compares two protocol definitions for **logical** equality using
|
|
1182
|
+
* deterministic JSON serialization with `$encryption` blocks stripped.
|
|
1183
|
+
*
|
|
1184
|
+
* When a protocol is installed with `encryption: true`, the agent injects
|
|
1185
|
+
* `$encryption` blocks into the `structure` containing derived public keys.
|
|
1186
|
+
* These blocks are operational metadata — not part of the developer-authored
|
|
1187
|
+
* definition — so they must be ignored during equality checks. Otherwise,
|
|
1188
|
+
* the installed definition (with `$encryption`) would always differ from
|
|
1189
|
+
* the source definition (without `$encryption`), causing false drift
|
|
1190
|
+
* detection and spurious reconfigure warnings.
|
|
1150
1191
|
*
|
|
1151
1192
|
* Keys are sorted recursively so that semantically identical definitions
|
|
1152
1193
|
* with different key ordering are treated as equal.
|
|
1153
1194
|
*/
|
|
1154
|
-
function definitionsEqual(a: unknown, b: unknown): boolean {
|
|
1155
|
-
return stableStringify(a) === stableStringify(b);
|
|
1195
|
+
export function definitionsEqual(a: unknown, b: unknown): boolean {
|
|
1196
|
+
return stableStringify(stripEncryptionBlocks(a)) === stableStringify(stripEncryptionBlocks(b));
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
/**
|
|
1200
|
+
* Recursively removes `$encryption` keys from an object tree.
|
|
1201
|
+
* Returns a new object — the original is not mutated.
|
|
1202
|
+
*/
|
|
1203
|
+
function stripEncryptionBlocks(value: unknown): unknown {
|
|
1204
|
+
if (value === null || value === undefined || typeof value !== 'object') {
|
|
1205
|
+
return value;
|
|
1206
|
+
}
|
|
1207
|
+
|
|
1208
|
+
if (Array.isArray(value)) {
|
|
1209
|
+
return value.map((item) => stripEncryptionBlocks(item));
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
const result: Record<string, unknown> = {};
|
|
1213
|
+
for (const [key, val] of Object.entries(value as Record<string, unknown>)) {
|
|
1214
|
+
if (key === '$encryption') { continue; }
|
|
1215
|
+
result[key] = stripEncryptionBlocks(val);
|
|
1216
|
+
}
|
|
1217
|
+
return result;
|
|
1156
1218
|
}
|
|
1157
1219
|
|
|
1158
1220
|
/**
|