@enbox/agent 0.5.15 → 0.6.0

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 (47) hide show
  1. package/dist/browser.mjs +11 -11
  2. package/dist/browser.mjs.map +4 -4
  3. package/dist/esm/dwn-api.js +433 -33
  4. package/dist/esm/dwn-api.js.map +1 -1
  5. package/dist/esm/dwn-encryption.js +131 -12
  6. package/dist/esm/dwn-encryption.js.map +1 -1
  7. package/dist/esm/dwn-key-delivery.js +64 -47
  8. package/dist/esm/dwn-key-delivery.js.map +1 -1
  9. package/dist/esm/enbox-connect-protocol.js +400 -3
  10. package/dist/esm/enbox-connect-protocol.js.map +1 -1
  11. package/dist/esm/permissions-api.js +11 -1
  12. package/dist/esm/permissions-api.js.map +1 -1
  13. package/dist/esm/sync-closure-resolver.js +8 -1
  14. package/dist/esm/sync-closure-resolver.js.map +1 -1
  15. package/dist/esm/sync-engine-level.js +407 -6
  16. package/dist/esm/sync-engine-level.js.map +1 -1
  17. package/dist/esm/sync-messages.js +10 -3
  18. package/dist/esm/sync-messages.js.map +1 -1
  19. package/dist/types/dwn-api.d.ts +159 -0
  20. package/dist/types/dwn-api.d.ts.map +1 -1
  21. package/dist/types/dwn-encryption.d.ts +39 -2
  22. package/dist/types/dwn-encryption.d.ts.map +1 -1
  23. package/dist/types/dwn-key-delivery.d.ts +1 -9
  24. package/dist/types/dwn-key-delivery.d.ts.map +1 -1
  25. package/dist/types/enbox-connect-protocol.d.ts +166 -1
  26. package/dist/types/enbox-connect-protocol.d.ts.map +1 -1
  27. package/dist/types/permissions-api.d.ts.map +1 -1
  28. package/dist/types/sync-closure-resolver.d.ts.map +1 -1
  29. package/dist/types/sync-engine-level.d.ts +45 -1
  30. package/dist/types/sync-engine-level.d.ts.map +1 -1
  31. package/dist/types/sync-messages.d.ts +2 -2
  32. package/dist/types/sync-messages.d.ts.map +1 -1
  33. package/dist/types/types/permissions.d.ts +9 -0
  34. package/dist/types/types/permissions.d.ts.map +1 -1
  35. package/dist/types/types/sync.d.ts +70 -2
  36. package/dist/types/types/sync.d.ts.map +1 -1
  37. package/package.json +5 -4
  38. package/src/dwn-api.ts +494 -38
  39. package/src/dwn-encryption.ts +160 -11
  40. package/src/dwn-key-delivery.ts +73 -61
  41. package/src/enbox-connect-protocol.ts +575 -6
  42. package/src/permissions-api.ts +13 -1
  43. package/src/sync-closure-resolver.ts +7 -1
  44. package/src/sync-engine-level.ts +368 -4
  45. package/src/sync-messages.ts +14 -5
  46. package/src/types/permissions.ts +9 -0
  47. package/src/types/sync.ts +86 -2
@@ -1 +1 @@
1
- {"version":3,"file":"dwn-key-delivery.js","sourceRoot":"","sources":["../../src/dwn-key-delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dwn-key-delivery.js","sourceRoot":"","sources":["../../src/dwn-key-delivery.ts"],"names":[],"mappings":"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"}
@@ -35,11 +35,14 @@ var __rest = (this && this.__rest) || function (s, e) {
35
35
  import { DidJwk } from '@enbox/dids';
36
36
  import { Convert, logger } from '@enbox/common';
37
37
  import { CryptoUtils, Ed25519, EdDsaAlgorithm, Hkdf, X25519, XChaCha20Poly1305, } from '@enbox/crypto';
38
- import { DwnInterfaceName, DwnMethodName } from '@enbox/dwn-sdk-js';
38
+ import { DwnInterfaceName, DwnMethodName, HdKey, KeyDerivationScheme, PermissionsProtocol } from '@enbox/dwn-sdk-js';
39
39
  import { AgentPermissionsApi } from './permissions-api.js';
40
40
  import { concatenateUrl } from './utils.js';
41
41
  import { DwnInterface } from './types/dwn.js';
42
+ import { getEncryptionKeyInfo } from './dwn-encryption.js';
43
+ import { isMultiPartyContext } from './protocol-utils.js';
42
44
  import { isRecordPermissionScope } from './dwn-api.js';
45
+ import { KeyDeliveryProtocolDefinition } from './store-data-protocols.js';
43
46
  // ---------------------------------------------------------------------------
44
47
  // URL building
45
48
  // ---------------------------------------------------------------------------
@@ -302,12 +305,20 @@ function shouldUseDelegatePermission(scope) {
302
305
  /**
303
306
  * Creates permission grants that assign the requested scopes to a delegate DID.
304
307
  */
305
- function createPermissionGrants(selectedDid, delegateBearerDid, agent, scopes) {
308
+ function createPermissionGrants(selectedDid, delegateBearerDid, agent, scopes, delegateKeyDeliveryData) {
306
309
  return __awaiter(this, void 0, void 0, function* () {
307
310
  const permissionsApi = new AgentPermissionsApi({ agent });
308
311
  logger.log(`Creating permission grants for ${scopes.length} scopes...`);
309
312
  const permissionGrants = yield Promise.all(scopes.map((scope) => {
310
313
  const delegated = shouldUseDelegatePermission(scope);
314
+ // Attach delegate key-delivery tags to read-like grants so the
315
+ // owner can encrypt future contextKey records to the delegate.
316
+ const readMethods = new Set([
317
+ DwnMethodName.Read, DwnMethodName.Query, DwnMethodName.Subscribe,
318
+ ]);
319
+ const isReadLike = isRecordPermissionScope(scope)
320
+ && readMethods.has(scope.method);
321
+ const delegateKeyDelivery = (isReadLike && delegateKeyDeliveryData) ? delegateKeyDeliveryData : undefined;
311
322
  return permissionsApi.createGrant({
312
323
  delegated,
313
324
  store: true,
@@ -315,6 +326,7 @@ function createPermissionGrants(selectedDid, delegateBearerDid, agent, scopes) {
315
326
  scope,
316
327
  dateExpires: '2040-06-25T16:09:16.693356Z', // TODO: make dateExpires configurable
317
328
  author: selectedDid,
329
+ delegateKeyDelivery,
318
330
  });
319
331
  }));
320
332
  // Resolve all DWN endpoints for the selected DID. `sendDwnRequest` only
@@ -369,9 +381,19 @@ function createPermissionGrants(selectedDid, delegateBearerDid, agent, scopes) {
369
381
  /**
370
382
  * Installs a DWN protocol on the provider's DWN if it doesn't already exist.
371
383
  * Ensures the protocol is available on both the local and remote DWN.
384
+ *
385
+ * When the protocol definition contains types with `encryptionRequired: true`,
386
+ * the protocol is installed with `encryption: true` so that the agent injects
387
+ * `$encryption` keys (derived from the owner's X25519 root key) into the
388
+ * protocol definition. This ensures the protocol is immediately usable for
389
+ * encrypted record operations by both the owner and any delegates.
372
390
  */
373
391
  function prepareProtocol(selectedDid, agent, protocolDefinition) {
374
392
  return __awaiter(this, void 0, void 0, function* () {
393
+ var _a;
394
+ // Detect whether any type in the protocol requires encryption.
395
+ const needsEncryption = Object.values((_a = protocolDefinition.types) !== null && _a !== void 0 ? _a : {})
396
+ .some((type) => (type === null || type === void 0 ? void 0 : type.encryptionRequired) === true);
375
397
  const queryMessage = yield agent.processDwnRequest({
376
398
  author: selectedDid,
377
399
  messageType: DwnInterface.ProtocolsQuery,
@@ -388,6 +410,7 @@ function prepareProtocol(selectedDid, agent, protocolDefinition) {
388
410
  target: selectedDid,
389
411
  messageType: DwnInterface.ProtocolsConfigure,
390
412
  messageParams: { definition: protocolDefinition },
413
+ encryption: needsEncryption || undefined,
391
414
  });
392
415
  if (sendReply.status.code !== 202 && sendReply.status.code !== 409) {
393
416
  throw new Error(`Could not send protocol: ${sendReply.status.detail}`);
@@ -414,6 +437,231 @@ function prepareProtocol(selectedDid, agent, protocolDefinition) {
414
437
  }
415
438
  });
416
439
  }
440
+ /**
441
+ * Derives the minimal set of decryption keys implied by read-like permission
442
+ * scopes for a single-party encrypted protocol.
443
+ *
444
+ * Rules:
445
+ * - Only Records.Read / Records.Query / Records.Subscribe scopes contribute.
446
+ * - Write / Delete / Count scopes produce no decryption keys.
447
+ * - If any unrestricted (no `protocolPath`) read scope exists, one
448
+ * protocol-wide key is emitted and narrower keys are dropped.
449
+ * - Otherwise one exact-path key is emitted per unique `protocolPath`.
450
+ * - Scopes with `contextId` cause a fail-closed error.
451
+ * - Multi-party protocols cause a fail-closed error.
452
+ *
453
+ * @param agent - The platform agent (must hold the owner's KMS keys)
454
+ * @param ownerDid - The DID of the protocol owner
455
+ * @param protocolUri - The protocol URI
456
+ * @param scopes - The permission scopes for this protocol
457
+ * @param protocolDefinition - The protocol definition (for multi-party detection)
458
+ * @returns An array of `DelegateDecryptionKey` (may be empty)
459
+ */
460
+ function deriveScopedDecryptionKeys(agent, ownerDid, protocolUri, scopes, protocolDefinition) {
461
+ return __awaiter(this, void 0, void 0, function* () {
462
+ const readMethods = new Set([
463
+ DwnMethodName.Read, DwnMethodName.Query, DwnMethodName.Subscribe,
464
+ ]);
465
+ // Collect read-like scopes only.
466
+ const readScopes = scopes.filter((s) => isRecordPermissionScope(s) && readMethods.has(s.method));
467
+ if (readScopes.length === 0) {
468
+ return []; // write/delete only → no decryption keys
469
+ }
470
+ // Fail closed: reject contextId-scoped encrypted reads.
471
+ for (const scope of readScopes) {
472
+ if ('contextId' in scope && scope.contextId) {
473
+ throw new Error(`Encrypted delegate access scoped by contextId is not supported ` +
474
+ `yet; use protocol-wide permissions for protocol '${protocolUri}'.`);
475
+ }
476
+ }
477
+ // Defense-in-depth: reject if any root is multi-party.
478
+ // The caller should have already routed multi-party protocols to
479
+ // deriveContextKeysForDelegate instead.
480
+ const { multiParty } = classifyProtocolRoots(protocolDefinition);
481
+ if (multiParty.length > 0) {
482
+ throw new Error(`deriveScopedDecryptionKeys called for protocol with multi-party ` +
483
+ `roots [${multiParty.join(', ')}]. Use deriveContextKeysForDelegate ` +
484
+ `for multi-party protocols.`);
485
+ }
486
+ // Check if any scope is protocol-wide (no protocolPath).
487
+ const hasProtocolWideRead = readScopes.some((s) => !('protocolPath' in s) || !s.protocolPath);
488
+ const { keyId, keyUri } = yield getEncryptionKeyInfo(agent, ownerDid);
489
+ // If any unrestricted read scope exists, emit one protocol-wide key
490
+ // and skip narrower keys (the protocol-wide key subsumes them).
491
+ if (hasProtocolWideRead) {
492
+ const derivationPath = [KeyDerivationScheme.ProtocolPath, protocolUri];
493
+ const derivedBytes = yield agent.keyManager.derivePrivateKeyBytes({
494
+ keyUri, derivationPath,
495
+ });
496
+ const derivedJwk = yield X25519.bytesToPrivateKey({ privateKeyBytes: derivedBytes });
497
+ return [{
498
+ protocol: protocolUri,
499
+ scope: { kind: 'protocol' },
500
+ derivedPrivateKey: {
501
+ rootKeyId: keyId,
502
+ derivationScheme: KeyDerivationScheme.ProtocolPath,
503
+ derivationPath,
504
+ derivedPrivateKey: derivedJwk,
505
+ },
506
+ }];
507
+ }
508
+ // All read scopes are protocolPath-scoped.
509
+ // Emit one exact-path key per unique protocolPath.
510
+ const uniquePaths = new Set();
511
+ for (const scope of readScopes) {
512
+ const pp = scope.protocolPath;
513
+ if (pp) {
514
+ uniquePaths.add(pp);
515
+ }
516
+ }
517
+ const keys = [];
518
+ for (const protocolPath of uniquePaths) {
519
+ const pathSegments = protocolPath.split('/');
520
+ const derivationPath = [KeyDerivationScheme.ProtocolPath, protocolUri, ...pathSegments];
521
+ const derivedBytes = yield agent.keyManager.derivePrivateKeyBytes({
522
+ keyUri, derivationPath,
523
+ });
524
+ const derivedJwk = yield X25519.bytesToPrivateKey({ privateKeyBytes: derivedBytes });
525
+ keys.push({
526
+ protocol: protocolUri,
527
+ scope: { kind: 'protocolPath', protocolPath, match: 'exact' },
528
+ derivedPrivateKey: {
529
+ rootKeyId: keyId,
530
+ derivationScheme: KeyDerivationScheme.ProtocolPath,
531
+ derivationPath,
532
+ derivedPrivateKey: derivedJwk,
533
+ },
534
+ });
535
+ }
536
+ return keys;
537
+ });
538
+ }
539
+ /**
540
+ * Detects whether a protocol definition has any root-level type whose subtree
541
+ * triggers multi-party semantics. Delegates to the canonical
542
+ * `isMultiPartyContext()` from `protocol-utils.ts` which checks:
543
+ *
544
+ * - `$role: true` descendants in the subtree
545
+ * - Relational `who`/`of` `$actions` rules that grant `read` access
546
+ *
547
+ * These patterns cause the DWN agent to use ProtocolContext encryption at
548
+ * write time, which is not supported in delegate sessions yet.
549
+ */
550
+ /**
551
+ * Classifies root-level types in a protocol definition into multi-party
552
+ * and single-party buckets. Used to detect mixed protocols that cannot
553
+ * be safely modeled with a single key type.
554
+ */
555
+ function classifyProtocolRoots(definition) {
556
+ const structure = definition.structure;
557
+ if (!structure) {
558
+ return { multiParty: [], singleParty: [] };
559
+ }
560
+ const multiParty = [];
561
+ const singleParty = [];
562
+ for (const rootTypeName of Object.keys(structure)) {
563
+ if (rootTypeName.startsWith('$')) {
564
+ continue;
565
+ }
566
+ if (isMultiPartyContext(definition, rootTypeName)) {
567
+ multiParty.push(rootTypeName);
568
+ }
569
+ else {
570
+ singleParty.push(rootTypeName);
571
+ }
572
+ }
573
+ return { multiParty, singleParty };
574
+ }
575
+ /**
576
+ * Derives per-context decryption keys for a delegate's access to a multi-party
577
+ * encrypted protocol. Queries the owner's DWN for all root-level records
578
+ * (thread roots, etc.) and derives a `[ProtocolContext, rootContextId]` key
579
+ * for each.
580
+ *
581
+ * Validates scopes first — only protocol-wide read-like scopes are accepted.
582
+ * `protocolPath`-scoped and `contextId`-scoped reads throw (not yet supported).
583
+ * Write-only scopes return empty (no decryption keys needed).
584
+ *
585
+ * @param agent - The platform agent (must hold the owner's KMS keys)
586
+ * @param ownerDid - The DID of the protocol owner
587
+ * @param protocolDefinition - The protocol definition
588
+ * @param scopes - The permission scopes for this protocol
589
+ * @returns An array of `DelegateContextKey` (may be empty)
590
+ */
591
+ function deriveContextKeysForDelegate(agent, ownerDid, protocolDefinition, scopes) {
592
+ return __awaiter(this, void 0, void 0, function* () {
593
+ var _a, _b, _c;
594
+ const readMethods = new Set([
595
+ DwnMethodName.Read, DwnMethodName.Query, DwnMethodName.Subscribe,
596
+ ]);
597
+ const readScopes = scopes.filter((s) => isRecordPermissionScope(s) && readMethods.has(s.method));
598
+ if (readScopes.length === 0) {
599
+ return []; // write-only → no context keys
600
+ }
601
+ // Fail closed: reject contextId-scoped reads.
602
+ for (const scope of readScopes) {
603
+ if ('contextId' in scope && scope.contextId) {
604
+ throw new Error(`Encrypted delegate access scoped by contextId is not supported ` +
605
+ `yet; use protocol-wide permissions for protocol ` +
606
+ `'${protocolDefinition.protocol}'.`);
607
+ }
608
+ }
609
+ // Fail closed: reject protocolPath-scoped reads on multi-party protocols.
610
+ for (const scope of readScopes) {
611
+ if ('protocolPath' in scope && scope.protocolPath) {
612
+ throw new Error(`Encrypted delegate access scoped by protocolPath on multi-party ` +
613
+ `protocols is not supported yet; use protocol-wide permissions for ` +
614
+ `protocol '${protocolDefinition.protocol}'.`);
615
+ }
616
+ }
617
+ // All read scopes are protocol-wide. Derive context keys for each
618
+ // existing root-level context in the protocol.
619
+ const { keyId, keyUri } = yield getEncryptionKeyInfo(agent, ownerDid);
620
+ const protocolUri = protocolDefinition.protocol;
621
+ // Find root-level types (non-$ keys in structure).
622
+ const rootTypes = Object.keys((_a = protocolDefinition.structure) !== null && _a !== void 0 ? _a : {})
623
+ .filter((k) => !k.startsWith('$'));
624
+ const contextKeys = [];
625
+ const seenContextIds = new Set();
626
+ for (const rootType of rootTypes) {
627
+ // Query all root records for this type.
628
+ const { reply } = yield agent.processDwnRequest({
629
+ author: ownerDid,
630
+ target: ownerDid,
631
+ messageType: DwnInterface.RecordsQuery,
632
+ messageParams: {
633
+ filter: { protocol: protocolUri, protocolPath: rootType },
634
+ },
635
+ });
636
+ for (const entry of (_b = reply.entries) !== null && _b !== void 0 ? _b : []) {
637
+ const rootContextId = ((_c = entry.contextId) === null || _c === void 0 ? void 0 : _c.split('/')[0])
638
+ || entry.recordId;
639
+ if (!rootContextId || seenContextIds.has(rootContextId)) {
640
+ continue;
641
+ }
642
+ seenContextIds.add(rootContextId);
643
+ const derivationPath = [KeyDerivationScheme.ProtocolContext, rootContextId];
644
+ const derivedBytes = yield agent.keyManager.derivePrivateKeyBytes({
645
+ keyUri, derivationPath,
646
+ });
647
+ const derivedJwk = yield X25519.bytesToPrivateKey({
648
+ privateKeyBytes: derivedBytes,
649
+ });
650
+ contextKeys.push({
651
+ protocol: protocolUri,
652
+ contextId: rootContextId,
653
+ derivedPrivateKey: {
654
+ rootKeyId: keyId,
655
+ derivationScheme: KeyDerivationScheme.ProtocolContext,
656
+ derivationPath,
657
+ derivedPrivateKey: derivedJwk,
658
+ },
659
+ });
660
+ }
661
+ }
662
+ return contextKeys;
663
+ });
664
+ }
417
665
  // ---------------------------------------------------------------------------
418
666
  // Full wallet-side flow (provider submits response)
419
667
  // ---------------------------------------------------------------------------
@@ -434,16 +682,158 @@ function submitConnectResponse(selectedDid, connectRequest, pin, agent) {
434
682
  return __awaiter(this, void 0, void 0, function* () {
435
683
  const delegateBearerDid = yield DidJwk.create();
436
684
  const delegatePortableDid = yield delegateBearerDid.export();
685
+ // Add X25519 key derived from the delegate's Ed25519 key.
686
+ // did:jwk only supports one verification method, but DWN encryption
687
+ // requires X25519 for key agreement. Including the derived X25519
688
+ // private key in the PortableDid ensures the delegate agent's KMS
689
+ // has both keys after import. The Ed25519→X25519 conversion is a
690
+ // standard cryptographic operation (RFC 8032 / libsodium).
691
+ const delegateEdPrivateKey = delegatePortableDid.privateKeys[0];
692
+ const delegateX25519PrivateKey = yield Ed25519.convertPrivateKeyToX25519({
693
+ privateKey: delegateEdPrivateKey,
694
+ });
695
+ delegatePortableDid.privateKeys.push(delegateX25519PrivateKey);
696
+ // Derive the delegate's key-delivery ProtocolPath leaf public key.
697
+ // This is the pre-derived key that the owner will use later when writing
698
+ // contextKey records addressed to this delegate. The owner cannot derive
699
+ // this from the delegate's root public key alone (HKDF needs the private
700
+ // key), so we compute it now while we have temporary access to the
701
+ // delegate's private key material.
702
+ const delegateX25519PrivateKeyBytes = yield X25519.privateKeyToBytes({
703
+ privateKey: delegateX25519PrivateKey,
704
+ });
705
+ const keyDeliveryDerivationPath = [
706
+ KeyDerivationScheme.ProtocolPath,
707
+ KeyDeliveryProtocolDefinition.protocol,
708
+ 'contextKey',
709
+ ];
710
+ const delegateLeafPrivateKeyBytes = yield HdKey.derivePrivateKeyBytes(delegateX25519PrivateKeyBytes, keyDeliveryDerivationPath);
711
+ const delegateLeafPrivateKeyJwk = yield X25519.bytesToPrivateKey({
712
+ privateKeyBytes: delegateLeafPrivateKeyBytes,
713
+ });
714
+ const delegateKeyDeliveryLeafPublicKey = yield X25519.getPublicKey({
715
+ key: delegateLeafPrivateKeyJwk,
716
+ });
717
+ // The rootKeyId is the delegate's keyAgreement VM id (e.g. `did:jwk:...#0`).
718
+ // For did:jwk this is the Ed25519 VM, but getEncryptionKeyInfo() also returns
719
+ // this same id after Ed25519→X25519 conversion. The DWN SDK matches the JWE
720
+ // `kid` header against the KeyDecrypter's `rootKeyId`, so both sides must use
721
+ // the same id — which they do because both derive from verificationMethod.id
722
+ // of the keyAgreement relationship.
723
+ const delegateKeyAgreementVmId = delegateBearerDid.document.verificationMethod[0].id;
724
+ const delegateKeyDeliveryData = {
725
+ rootKeyId: delegateKeyAgreementVmId,
726
+ publicKeyJwk: delegateKeyDeliveryLeafPublicKey,
727
+ };
728
+ // Derive scope-aware decryption keys for encrypted protocols.
729
+ // Single-party: ProtocolPath keys (protocol-wide or exact-path).
730
+ // Multi-party: ProtocolContext keys (per rootContextId).
731
+ // Write-only delegates receive no decryption capability.
732
+ const delegateDecryptionKeys = [];
733
+ const delegateContextKeys = [];
734
+ const delegateMultiPartyProtocols = [];
437
735
  const delegateGrantPromises = connectRequest.permissionRequests.map((permissionRequest) => __awaiter(this, void 0, void 0, function* () {
736
+ var _a;
438
737
  const { protocolDefinition, permissionScopes } = permissionRequest;
439
738
  const grantsMatchProtocolUri = permissionScopes.every(scope => 'protocol' in scope && scope.protocol === protocolDefinition.protocol);
440
739
  if (!grantsMatchProtocolUri) {
441
740
  throw new Error('All permission scopes must match the protocol URI they are provided with.');
442
741
  }
443
742
  yield prepareProtocol(selectedDid, agent, protocolDefinition);
444
- return EnboxConnectProtocol.createPermissionGrants(selectedDid, delegateBearerDid, agent, permissionScopes);
743
+ const hasEncryptedTypes = Object.values((_a = protocolDefinition.types) !== null && _a !== void 0 ? _a : {})
744
+ .some((type) => (type === null || type === void 0 ? void 0 : type.encryptionRequired) === true);
745
+ if (hasEncryptedTypes) {
746
+ const { multiParty, singleParty } = classifyProtocolRoots(protocolDefinition);
747
+ if (multiParty.length > 0 && singleParty.length > 0) {
748
+ // Mixed protocol: some roots are multi-party, others single-party.
749
+ // We cannot safely model this with either key type alone.
750
+ throw new Error(`Encrypted delegate access for protocols with mixed single-party ` +
751
+ `and multi-party roots is not supported yet. ` +
752
+ `Protocol '${protocolDefinition.protocol}' has multi-party roots ` +
753
+ `[${multiParty.join(', ')}] and single-party roots ` +
754
+ `[${singleParty.join(', ')}].`);
755
+ }
756
+ if (multiParty.length > 0) {
757
+ // Pure multi-party: derive per-context keys for existing contexts.
758
+ // Unsupported scope shapes (protocolPath, contextId) throw.
759
+ const ctxKeys = yield deriveContextKeysForDelegate(agent, selectedDid, protocolDefinition, permissionScopes);
760
+ delegateContextKeys.push(...ctxKeys);
761
+ // Only register the protocol for post-connect delivery if the
762
+ // delegate has at least one read-like scope. Write-only delegates
763
+ // must NOT receive context keys — they have no decryption need.
764
+ const readMethods = new Set([
765
+ DwnMethodName.Read, DwnMethodName.Query, DwnMethodName.Subscribe,
766
+ ]);
767
+ const hasReadLikeScope = permissionScopes.some((s) => isRecordPermissionScope(s) && readMethods.has(s.method));
768
+ if (hasReadLikeScope) {
769
+ delegateMultiPartyProtocols.push(protocolDefinition.protocol);
770
+ }
771
+ }
772
+ else {
773
+ // Pure single-party: derive ProtocolPath keys.
774
+ // Unsupported scope shapes (contextId) throw.
775
+ const keys = yield deriveScopedDecryptionKeys(agent, selectedDid, protocolDefinition.protocol, permissionScopes, protocolDefinition);
776
+ delegateDecryptionKeys.push(...keys);
777
+ }
778
+ }
779
+ return EnboxConnectProtocol.createPermissionGrants(selectedDid, delegateBearerDid, agent, permissionScopes, delegateKeyDeliveryData);
445
780
  }));
446
781
  const delegateGrants = (yield Promise.all(delegateGrantPromises)).flat();
782
+ // Create per-grant contextId-scoped revocation grants.
783
+ // Each revocation grant authorizes the delegate to write a revocation
784
+ // ONLY for the specific session grant it corresponds to.
785
+ const permissionsApi = new AgentPermissionsApi({ agent });
786
+ const sessionRevocations = [];
787
+ let revGrantEndpoints = [];
788
+ try {
789
+ revGrantEndpoints = yield agent.dwn.getDwnEndpointUrlsForTarget(selectedDid);
790
+ }
791
+ catch (_a) {
792
+ // Endpoint resolution failure — revocation grants will be local-only until sync.
793
+ }
794
+ // Snapshot the current length — revocation grants are appended to delegateGrants
795
+ // below, but we must NOT iterate over them (they are meta-grants, not session grants).
796
+ const sessionGrantCount = delegateGrants.length;
797
+ for (let i = 0; i < sessionGrantCount; i++) {
798
+ const grantMessage = delegateGrants[i];
799
+ const revGrant = yield permissionsApi.createGrant({
800
+ delegated: true,
801
+ store: true,
802
+ grantedTo: delegateBearerDid.uri,
803
+ scope: {
804
+ interface: DwnInterfaceName.Records,
805
+ method: DwnMethodName.Write,
806
+ protocol: PermissionsProtocol.uri,
807
+ contextId: grantMessage.recordId,
808
+ },
809
+ dateExpires: '2040-06-25T16:09:16.693356Z',
810
+ author: selectedDid,
811
+ });
812
+ sessionRevocations.push({
813
+ grantId: grantMessage.recordId,
814
+ revocationGrantId: revGrant.message.recordId,
815
+ });
816
+ // Fan out the revocation grant to all owner DWN endpoints (same
817
+ // as session grants) so that immediate disconnect can send a
818
+ // delegated revocation to a remote DWN that recognises the grant.
819
+ const _b = revGrant.message, { encodedData: revEncoded } = _b, revRawMessage = __rest(_b, ["encodedData"]);
820
+ const revData = Convert.base64Url(revEncoded).toUint8Array();
821
+ for (const dwnUrl of revGrantEndpoints) {
822
+ try {
823
+ yield agent.rpc.sendDwnRequest({
824
+ dwnUrl,
825
+ targetDid: selectedDid,
826
+ message: revRawMessage,
827
+ data: new Blob([revData]),
828
+ });
829
+ }
830
+ catch (_c) {
831
+ // Best-effort — sync will deliver eventually.
832
+ }
833
+ }
834
+ // Include the revocation grant in the delegate grants for distribution
835
+ delegateGrants.push(revGrant.message);
836
+ }
447
837
  logger.log('Building connect response...');
448
838
  const responseObject = yield EnboxConnectProtocol.createConnectResponse({
449
839
  providerDid: selectedDid,
@@ -452,6 +842,10 @@ function submitConnectResponse(selectedDid, connectRequest, pin, agent) {
452
842
  nonce: connectRequest.nonce,
453
843
  delegateGrants,
454
844
  delegatePortableDid,
845
+ delegateDecryptionKeys: delegateDecryptionKeys.length > 0 ? delegateDecryptionKeys : undefined,
846
+ delegateContextKeys: delegateContextKeys.length > 0 ? delegateContextKeys : undefined,
847
+ delegateMultiPartyProtocols: delegateMultiPartyProtocols.length > 0 ? delegateMultiPartyProtocols : undefined,
848
+ sessionRevocations: sessionRevocations.length > 0 ? sessionRevocations : undefined,
455
849
  });
456
850
  logger.log('Signing connect response...');
457
851
  const responseObjectJwt = yield EnboxConnectProtocol.signJwt({
@@ -499,5 +893,8 @@ export const EnboxConnectProtocol = {
499
893
  createConnectResponse,
500
894
  createPermissionGrants,
501
895
  submitConnectResponse,
896
+ deriveScopedDecryptionKeys,
897
+ deriveContextKeysForDelegate,
898
+ classifyProtocolRoots,
502
899
  };
503
900
  //# sourceMappingURL=enbox-connect-protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enbox-connect-protocol.js","sourceRoot":"","sources":["../../src/enbox-connect-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enbox-connect-protocol.js","sourceRoot":"","sources":["../../src/enbox-connect-protocol.ts"],"names":[],"mappings":"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"}