@enbox/agent 0.7.6 → 0.7.8

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 (85) hide show
  1. package/dist/browser.mjs +9 -11
  2. package/dist/browser.mjs.map +4 -4
  3. package/dist/esm/dwn-api.js +3 -2
  4. package/dist/esm/dwn-api.js.map +1 -1
  5. package/dist/esm/enbox-connect-protocol.js +5 -5
  6. package/dist/esm/enbox-connect-protocol.js.map +1 -1
  7. package/dist/esm/hd-identity-vault.js +187 -177
  8. package/dist/esm/hd-identity-vault.js.map +1 -1
  9. package/dist/esm/index.js +1 -1
  10. package/dist/esm/index.js.map +1 -1
  11. package/dist/esm/permissions-api.js +7 -34
  12. package/dist/esm/permissions-api.js.map +1 -1
  13. package/dist/esm/sync-closure-resolver.js +229 -110
  14. package/dist/esm/sync-closure-resolver.js.map +1 -1
  15. package/dist/esm/sync-closure-types.js +24 -7
  16. package/dist/esm/sync-closure-types.js.map +1 -1
  17. package/dist/esm/sync-engine-level.js +1961 -764
  18. package/dist/esm/sync-engine-level.js.map +1 -1
  19. package/dist/esm/sync-link-id.js +4 -13
  20. package/dist/esm/sync-link-id.js.map +1 -1
  21. package/dist/esm/sync-link-reconciler.js +26 -8
  22. package/dist/esm/sync-link-reconciler.js.map +1 -1
  23. package/dist/esm/sync-messages.js +218 -154
  24. package/dist/esm/sync-messages.js.map +1 -1
  25. package/dist/esm/sync-permission-grants.js +208 -0
  26. package/dist/esm/sync-permission-grants.js.map +1 -0
  27. package/dist/esm/sync-replication-ledger.js +23 -40
  28. package/dist/esm/sync-replication-ledger.js.map +1 -1
  29. package/dist/esm/sync-scope-acceptance.js +126 -0
  30. package/dist/esm/sync-scope-acceptance.js.map +1 -0
  31. package/dist/esm/sync-topological-sort.js +57 -15
  32. package/dist/esm/sync-topological-sort.js.map +1 -1
  33. package/dist/esm/types/sync.js +130 -22
  34. package/dist/esm/types/sync.js.map +1 -1
  35. package/dist/types/dwn-api.d.ts.map +1 -1
  36. package/dist/types/hd-identity-vault.d.ts +25 -0
  37. package/dist/types/hd-identity-vault.d.ts.map +1 -1
  38. package/dist/types/index.d.ts +1 -1
  39. package/dist/types/index.d.ts.map +1 -1
  40. package/dist/types/permissions-api.d.ts +1 -2
  41. package/dist/types/permissions-api.d.ts.map +1 -1
  42. package/dist/types/sync-closure-resolver.d.ts.map +1 -1
  43. package/dist/types/sync-closure-types.d.ts +14 -3
  44. package/dist/types/sync-closure-types.d.ts.map +1 -1
  45. package/dist/types/sync-engine-level.d.ts +127 -25
  46. package/dist/types/sync-engine-level.d.ts.map +1 -1
  47. package/dist/types/sync-link-id.d.ts +3 -9
  48. package/dist/types/sync-link-id.d.ts.map +1 -1
  49. package/dist/types/sync-link-reconciler.d.ts +12 -2
  50. package/dist/types/sync-link-reconciler.d.ts.map +1 -1
  51. package/dist/types/sync-messages.d.ts +16 -13
  52. package/dist/types/sync-messages.d.ts.map +1 -1
  53. package/dist/types/sync-permission-grants.d.ts +52 -0
  54. package/dist/types/sync-permission-grants.d.ts.map +1 -0
  55. package/dist/types/sync-replication-ledger.d.ts +5 -13
  56. package/dist/types/sync-replication-ledger.d.ts.map +1 -1
  57. package/dist/types/sync-scope-acceptance.d.ts +28 -0
  58. package/dist/types/sync-scope-acceptance.d.ts.map +1 -0
  59. package/dist/types/sync-topological-sort.d.ts +2 -1
  60. package/dist/types/sync-topological-sort.d.ts.map +1 -1
  61. package/dist/types/types/identity-vault.d.ts +9 -0
  62. package/dist/types/types/identity-vault.d.ts.map +1 -1
  63. package/dist/types/types/permissions.d.ts +2 -0
  64. package/dist/types/types/permissions.d.ts.map +1 -1
  65. package/dist/types/types/sync.d.ts +137 -75
  66. package/dist/types/types/sync.d.ts.map +1 -1
  67. package/package.json +3 -3
  68. package/src/dwn-api.ts +3 -2
  69. package/src/enbox-connect-protocol.ts +5 -5
  70. package/src/hd-identity-vault.ts +244 -212
  71. package/src/index.ts +10 -1
  72. package/src/permissions-api.ts +11 -42
  73. package/src/sync-closure-resolver.ts +306 -126
  74. package/src/sync-closure-types.ts +38 -9
  75. package/src/sync-engine-level.ts +2560 -797
  76. package/src/sync-link-id.ts +9 -14
  77. package/src/sync-link-reconciler.ts +43 -10
  78. package/src/sync-messages.ts +263 -159
  79. package/src/sync-permission-grants.ts +297 -0
  80. package/src/sync-replication-ledger.ts +55 -50
  81. package/src/sync-scope-acceptance.ts +186 -0
  82. package/src/sync-topological-sort.ts +89 -21
  83. package/src/types/identity-vault.ts +8 -1
  84. package/src/types/permissions.ts +2 -0
  85. package/src/types/sync.ts +235 -62
@@ -1 +1 @@
1
- {"version":3,"file":"sync-topological-sort.js","sourceRoot":"","sources":["../../src/sync-topological-sort.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-topological-sort.js","sourceRoot":"","sources":["../../src/sync-topological-sort.ts"],"names":[],"mappings":"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"}
@@ -7,47 +7,155 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
+ import { RECORDS_PROJECTION_ROOT_VERSION, RecordsProjection } from '@enbox/dwn-sdk-js';
11
+ /** Deterministic bytewise string comparator for hash inputs and canonical IDs. */
12
+ export function lexicographicalCompare(a, b) {
13
+ if (a > b) {
14
+ return 1;
15
+ }
16
+ if (a < b) {
17
+ return -1;
18
+ }
19
+ return 0;
20
+ }
21
+ // ---------------------------------------------------------------------------
22
+ // Sync scope and scope identity
23
+ // ---------------------------------------------------------------------------
10
24
  /**
11
- * Computes a deterministic, collision-resistant identifier for a {@link SyncScope}.
25
+ * Projection-root algorithm used by StateIndex full/protocol sync scopes.
12
26
  *
13
- * The ID is `base64url(SHA-256(canonicalJSON))` where `canonicalJSON` is the
14
- * scope object with keys sorted alphabetically and array values sorted
15
- * lexicographically.
27
+ * Sync compares either the existing full-tenant StateIndex root or existing
28
+ * per-protocol StateIndex roots. Records-primary projection scopes use the
29
+ * DWN SDK's `RECORDS_PROJECTION_ROOT_VERSION` instead.
30
+ */
31
+ export const SYNC_PROJECTION_ROOT_VERSION = 'state-index-full-protocol-root-v1';
32
+ /**
33
+ * Authorization-epoch algorithm used by delegated Messages.Read sync links.
16
34
  *
17
- * Used as part of the LevelDB key for the replication ledger:
18
- * `{tenantDid}^{remoteEndpoint}^{scopeId}`.
35
+ * The authorization epoch is separate from the projection ID: re-granting the
36
+ * same scope or changing delegate grants must invalidate in-flight work without
37
+ * changing the primary CID set being compared.
38
+ */
39
+ export const SYNC_AUTHORIZATION_EPOCH_VERSION = 'messages-read-grants-v1';
40
+ /**
41
+ * Normalizes a protocol list into canonical scope-union order.
19
42
  */
20
- export function computeScopeId(scope) {
43
+ export function normalizeSyncProtocols(protocols) {
44
+ const unique = [...new Set(protocols)].sort(lexicographicalCompare);
45
+ if (unique.length === 0) {
46
+ throw new Error('SyncScope: protocol-set scope requires at least one protocol URI.');
47
+ }
48
+ return unique;
49
+ }
50
+ /** Converts persisted identity options into the canonical sync scope. */
51
+ export function syncScopeFromProtocols(protocols) {
52
+ return protocols === 'all'
53
+ ? { kind: 'full' }
54
+ : { kind: 'protocolSet', protocols: normalizeSyncProtocols(protocols) };
55
+ }
56
+ /** Converts Records projection scopes into the canonical sync scope shape. */
57
+ export function syncScopeFromRecordsProjectionScopes(scopes) {
58
+ return {
59
+ kind: 'recordsProjection',
60
+ scopes: RecordsProjection.normalizeScopes(scopes),
61
+ };
62
+ }
63
+ /** Returns the protocol list covered by a scope, or `undefined` for full scope. */
64
+ export function protocolsForSyncScope(scope) {
65
+ if (scope.kind === 'full') {
66
+ return undefined;
67
+ }
68
+ if (scope.kind === 'protocolSet') {
69
+ return scope.protocols;
70
+ }
71
+ return normalizeSyncProtocols(scope.scopes.map(scope => scope.protocol));
72
+ }
73
+ /** Returns the single protocol root covered by a protocol-set scope, if any. */
74
+ export function singleProtocolForSyncScope(scope) {
75
+ return scope.kind === 'protocolSet' && scope.protocols.length === 1 ? scope.protocols[0] : undefined;
76
+ }
77
+ /** Stable base64url SHA-256 hash for canonical JSON objects. */
78
+ function hashCanonicalObject(value) {
21
79
  return __awaiter(this, void 0, void 0, function* () {
22
- const canonical = { kind: scope.kind };
23
- if (scope.kind === 'protocol') {
24
- canonical.protocol = scope.protocol;
25
- if (scope.protocolPathPrefixes !== undefined) {
26
- canonical.protocolPathPrefixes = [...new Set(scope.protocolPathPrefixes)].sort((a, b) => a.localeCompare(b));
27
- }
28
- if (scope.contextIdPrefixes !== undefined) {
29
- canonical.contextIdPrefixes = [...new Set(scope.contextIdPrefixes)].sort((a, b) => a.localeCompare(b));
30
- }
31
- }
32
- // Stable JSON: keys sorted by construction order (kind < protocol < protocolPathPrefixes).
33
- const json = JSON.stringify(canonical);
80
+ const json = JSON.stringify(value);
34
81
  const bytes = new TextEncoder().encode(json);
35
82
  const hashBuffer = yield crypto.subtle.digest('SHA-256', bytes);
36
83
  const hashArray = new Uint8Array(hashBuffer);
37
- // base64url encode (no padding).
38
84
  let base64 = '';
39
85
  for (const b of hashArray) {
40
86
  base64 += String.fromCharCode(b);
41
87
  }
42
88
  const result = btoa(base64).replaceAll('+', '-').replaceAll('/', '_');
43
- // Strip trailing '=' padding without regex quantifiers (avoids ReDoS scanners).
44
89
  let end = result.length;
45
90
  while (end > 0 && result.codePointAt(end - 1) === 61) {
46
91
  end--;
47
- } // 61 === '='
92
+ }
48
93
  return end === result.length ? result : result.slice(0, end);
49
94
  });
50
95
  }
96
+ /** Returns a canonical JSON-ready representation of a sync scope. */
97
+ export function canonicalizeSyncScope(scope) {
98
+ if (scope.kind === 'full') {
99
+ return { kind: 'full' };
100
+ }
101
+ if (scope.kind === 'protocolSet') {
102
+ return { kind: 'protocolSet', protocols: normalizeSyncProtocols(scope.protocols) };
103
+ }
104
+ return {
105
+ kind: 'recordsProjection',
106
+ scopes: RecordsProjection.normalizeScopes(scope.scopes),
107
+ };
108
+ }
109
+ /**
110
+ * Computes a deterministic, collision-resistant projection ID.
111
+ *
112
+ * The projection ID is derived from tenant DID, normalized scope, and the
113
+ * projection-root algorithm version. It intentionally excludes endpoint,
114
+ * grant IDs, authorization epoch, and remote diff contents.
115
+ */
116
+ export function computeProjectionId(tenantDid, scope) {
117
+ return __awaiter(this, void 0, void 0, function* () {
118
+ const canonicalScope = canonicalizeSyncScope(scope);
119
+ const version = canonicalScope.kind === 'recordsProjection'
120
+ ? RECORDS_PROJECTION_ROOT_VERSION
121
+ : SYNC_PROJECTION_ROOT_VERSION;
122
+ return hashCanonicalObject({
123
+ scope: canonicalScope,
124
+ tenantDid,
125
+ version,
126
+ });
127
+ });
128
+ }
129
+ /**
130
+ * Computes the authorization epoch for a link.
131
+ *
132
+ * Owner epochs are stable for the owner projection. Delegate epochs are derived
133
+ * from the delegate DID plus the active grant IDs and expiry metadata. A changed
134
+ * grant set creates a new link key even when the projection ID is unchanged.
135
+ */
136
+ export function computeAuthorizationEpoch(input) {
137
+ return __awaiter(this, void 0, void 0, function* () {
138
+ if (input.kind === 'owner') {
139
+ return hashCanonicalObject({
140
+ kind: 'owner',
141
+ version: SYNC_AUTHORIZATION_EPOCH_VERSION,
142
+ });
143
+ }
144
+ const grants = [...input.grants]
145
+ .sort((a, b) => lexicographicalCompare(a.id, b.id))
146
+ .map(grant => ({
147
+ dateExpires: grant.dateExpires,
148
+ dateGranted: grant.dateGranted,
149
+ id: grant.id,
150
+ }));
151
+ return hashCanonicalObject({
152
+ delegateDid: input.delegateDid,
153
+ grants,
154
+ kind: 'delegate',
155
+ version: SYNC_AUTHORIZATION_EPOCH_VERSION,
156
+ });
157
+ });
158
+ }
51
159
  // ---------------------------------------------------------------------------
52
160
  // Replication checkpoint types
53
161
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/types/sync.ts"],"names":[],"mappings":";;;;;;;;;AAsDA;;;;;;;;;GASG;AACH,MAAM,UAAgB,cAAc,CAAC,KAAgB;;QACnD,MAAM,SAAS,GAA4B,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAChE,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YACpC,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;gBAC7C,SAAS,CAAC,oBAAoB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/G,CAAC;YACD,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBAC1C,SAAS,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YACzG,CAAC;QACH,CAAC;QAED,2FAA2F;QAC3F,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;QAE7C,iCAAiC;QACjC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtE,gFAAgF;QAChF,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QACxB,OAAO,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAAC,GAAG,EAAE,CAAC;QAAC,CAAC,CAAC,aAAa;QAC9E,OAAO,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC;CAAA;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/types/sync.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dwn-api.d.ts","sourceRoot":"","sources":["../../src/dwn-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dwn-api.d.ts","sourceRoot":"","sources":["../../src/dwn-api.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,16 @@ export type HdIdentityVaultInitializeParams = {
29
29
  */
30
30
  dwnEndpoints?: string[];
31
31
  };
32
+ export type HdIdentityVaultResetPasswordWithRecoveryPhraseParams = {
33
+ /** The BIP-39 recovery phrase originally used to initialize the vault. */
34
+ recoveryPhrase: string;
35
+ /** The new password used to unlock the existing vault from this point forward. */
36
+ password: string;
37
+ };
38
+ export declare class HdIdentityVaultRecoveryPhraseMismatchError extends Error {
39
+ readonly code = "HD_IDENTITY_VAULT_RECOVERY_PHRASE_MISMATCH";
40
+ constructor(message?: string);
41
+ }
32
42
  /**
33
43
  * The `HdIdentityVault` class provides secure storage and management of identity data.
34
44
  *
@@ -173,6 +183,14 @@ export declare class HdIdentityVault implements IdentityVault<{
173
183
  * should be securely stored by the user.
174
184
  */
175
185
  initialize({ password, recoveryPhrase, dwnEndpoints }: HdIdentityVaultInitializeParams): Promise<string>;
186
+ /**
187
+ * Resets the vault password using the original recovery phrase.
188
+ *
189
+ * The recovery phrase must derive the same vault CEK and agent DID that are already stored in
190
+ * this vault. If it does not, no stored state is changed. On success, only the password-wrapped
191
+ * CEK is replaced; the encrypted DID and all local vault data are preserved.
192
+ */
193
+ resetPasswordWithRecoveryPhrase({ recoveryPhrase, password, }: HdIdentityVaultResetPasswordWithRecoveryPhraseParams): Promise<void>;
176
194
  /**
177
195
  * Determines whether the vault has been initialized.
178
196
  *
@@ -304,6 +322,13 @@ export declare class HdIdentityVault implements IdentityVault<{
304
322
  decryptData({ jwe }: {
305
323
  jwe: string;
306
324
  }): Promise<Uint8Array>;
325
+ private deriveVaultMaterial;
326
+ private validatePassword;
327
+ private resolveRecoveryPhrase;
328
+ private encryptContentEncryptionKey;
329
+ private derivePortableDid;
330
+ private encryptPortableDid;
331
+ private decryptStoredPortableDid;
307
332
  /**
308
333
  * Retrieves the Decentralized Identifier (DID) associated with the identity vault from the vault
309
334
  * store.
@@ -1 +1 @@
1
- {"version":3,"file":"hd-identity-vault.d.ts","sourceRoot":"","sources":["../../src/hd-identity-vault.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hd-identity-vault.d.ts","sourceRoot":"","sources":["../../src/hd-identity-vault.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export type * from './types/identity-vault.js';
5
5
  export type * from './types/key-manager.js';
6
6
  export type * from './types/permissions.js';
7
7
  export type * from './types/sync.js';
8
- export { computeScopeId, MAX_PENDING_TOKENS } from './types/sync.js';
8
+ export { computeAuthorizationEpoch, computeProjectionId, MAX_PENDING_TOKENS, normalizeSyncProtocols, protocolsForSyncScope, singleProtocolForSyncScope, syncScopeFromRecordsProjectionScopes, syncScopeFromProtocols, } from './types/sync.js';
9
9
  export { ReplicationLedger } from './sync-replication-ledger.js';
10
10
  export { ClosureFailureCode, createClosureContext } from './sync-closure-types.js';
11
11
  export type { ClosureDependencyEdge, ClosureEvaluationContext, ClosureResult } from './sync-closure-types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,kBAAkB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,iBAAiB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACnF,YAAY,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACnF,mBAAmB,eAAe,CAAC;AAEnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AAItC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,kBAAkB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,iBAAiB,CAAC;AACrC,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,oCAAoC,EACpC,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACnF,YAAY,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACnF,mBAAmB,eAAe,CAAC;AAEnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AAItC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC"}
@@ -10,7 +10,7 @@ export declare class AgentPermissionsApi implements PermissionsApi {
10
10
  constructor({ agent }?: {
11
11
  agent?: EnboxAgent;
12
12
  });
13
- getPermissionForRequest({ connectedDid, delegateDid, delegate, messageType, protocol, cached }: GetPermissionParams): Promise<PermissionGrantEntry>;
13
+ getPermissionForRequest({ connectedDid, delegateDid, delegate, messageType, protocol, protocolPath, contextId, cached }: GetPermissionParams): Promise<PermissionGrantEntry>;
14
14
  fetchGrants({ author, target, grantee, grantor, protocol, remote, checkRevoked, }: FetchPermissionsParams): Promise<PermissionGrantEntry[]>;
15
15
  /**
16
16
  * Fetch all revocation record IDs for grants, returned as a Set of parent grant record IDs.
@@ -35,6 +35,5 @@ export declare class AgentPermissionsApi implements PermissionsApi {
35
35
  contextId?: string;
36
36
  }, grants: PermissionGrantEntry[], delegated?: boolean): Promise<PermissionGrantEntry | undefined>;
37
37
  private static matchScopeFromGrant;
38
- private static isUnrestrictedProtocolScope;
39
38
  }
40
39
  //# sourceMappingURL=permissions-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissions-api.d.ts","sourceRoot":"","sources":["../../src/permissions-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAOvS,OAAO,EAAE,YAAY,EAA4C,MAAM,gBAAgB,CAAC;AAExF,qBAAa,mBAAoB,YAAW,cAAc;IAExD,4GAA4G;IAC5G,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA4E;IAE/G,OAAO,CAAC,MAAM,CAAC,CAAa;IAE5B,IAAI,KAAK,IAAI,UAAU,CAKtB;IAED,IAAI,KAAK,CAAC,KAAK,EAAC,UAAU,EAEzB;gBAEW,EAAE,KAAK,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,UAAU,CAAA;KAAO;IAI5C,uBAAuB,CAAC,EAC5B,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,MAAc,EACf,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAiChD,WAAW,CAAC,EAChB,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,QAAQ,EACR,MAAc,EACd,YAAmB,GACpB,EAAE,sBAAsB,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IA2C3D;;;OAGG;YACW,oBAAoB;IAuC5B,aAAa,CAAC,EAClB,MAAM,EACN,MAAM,EACN,QAAQ,EACR,MAAc,EACf,EAAC,4BAA4B,GAAE,OAAO,CAAC,sBAAsB,EAAE,CAAC;IA+B3D,cAAc,CAAC,EACnB,MAAM,EACN,MAAM,EACN,aAAa,EACb,MAAc,EACf,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BpC,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAwDrE,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA8C3E,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA8CpF,KAAK,IAAG,OAAO,CAAC,IAAI,CAAC;IAI3B;;;;OAIG;WACU,mBAAmB,CAAC,CAAC,SAAS,YAAY,EACrD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,aAAa,EAAE;QACb,WAAW,EAAE,CAAC,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,EACD,MAAM,EAAE,oBAAoB,EAAE,EAC9B,SAAS,GAAE,OAAe,GACzB,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IA6B5C,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAmElC,OAAO,CAAC,MAAM,CAAC,2BAA2B;CAG3C"}
1
+ {"version":3,"file":"permissions-api.d.ts","sourceRoot":"","sources":["../../src/permissions-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAMvS,OAAO,EAAE,YAAY,EAA4C,MAAM,gBAAgB,CAAC;AAGxF,qBAAa,mBAAoB,YAAW,cAAc;IAExD,4GAA4G;IAC5G,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA4E;IAE/G,OAAO,CAAC,MAAM,CAAC,CAAa;IAE5B,IAAI,KAAK,IAAI,UAAU,CAKtB;IAED,IAAI,KAAK,CAAC,KAAK,EAAC,UAAU,EAEzB;gBAEW,EAAE,KAAK,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,UAAU,CAAA;KAAO;IAI5C,uBAAuB,CAAC,EAC5B,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,MAAc,EACf,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA+BhD,WAAW,CAAC,EAChB,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,QAAQ,EACR,MAAc,EACd,YAAmB,GACpB,EAAE,sBAAsB,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IA2C3D;;;OAGG;YACW,oBAAoB;IAuC5B,aAAa,CAAC,EAClB,MAAM,EACN,MAAM,EACN,QAAQ,EACR,MAAc,EACf,EAAC,4BAA4B,GAAE,OAAO,CAAC,sBAAsB,EAAE,CAAC;IA+B3D,cAAc,CAAC,EACnB,MAAM,EACN,MAAM,EACN,aAAa,EACb,MAAc,EACf,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BpC,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAwDrE,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA8C3E,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA8CpF,KAAK,IAAG,OAAO,CAAC,IAAI,CAAC;IAI3B;;;;OAIG;WACU,mBAAmB,CAAC,CAAC,SAAS,YAAY,EACrD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,aAAa,EAAE;QACb,WAAW,EAAE,CAAC,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,EACD,MAAM,EAAE,oBAAoB,EAAE,EAC9B,SAAS,GAAE,OAAe,GACzB,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IA6B5C,OAAO,CAAC,MAAM,CAAC,mBAAmB;CAuCnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync-closure-resolver.d.ts","sourceRoot":"","sources":["../../src/sync-closure-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAEV,wBAAwB,EACxB,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAubtE;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,aAAa,CAAC,CA8FxB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,EAAE,EAC1B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,EAAE,CAAC,CAU1B"}
1
+ {"version":3,"file":"sync-closure-resolver.d.ts","sourceRoot":"","sources":["../../src/sync-closure-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAEV,wBAAwB,EACxB,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAuC,MAAM,mBAAmB,CAAC;AA+f3G;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,aAAa,CAAC,CAiGxB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,EAAE,EAC1B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,EAAE,CAAC,CAU1B"}
@@ -12,7 +12,7 @@ export declare enum ClosureFailureCode {
12
12
  ParentChainMissing = "ClosureParentChainMissing",
13
13
  /** Class 2: A context ancestor record is missing. */
14
14
  ContextChainMissing = "ClosureContextChainMissing",
15
- /** Class 3: A permission grant referenced by permissionGrantId is missing. */
15
+ /** Class 3: A permission grant referenced by a grant invocation is missing. */
16
16
  GrantMissing = "ClosureGrantMissing",
17
17
  /** Class 3: The grant exists but is not yet active at the message's timestamp. */
18
18
  GrantNotYetActive = "ClosureGrantNotYetActive",
@@ -31,6 +31,8 @@ export declare enum ClosureFailureCode {
31
31
  /** Traversal depth exceeded the configured maximum (default 32). */
32
32
  DepthExceeded = "ClosureDepthExceeded"
33
33
  }
34
+ /** Returns true when repair cannot make the closure failure complete. */
35
+ export declare function isTerminalClosureFailureCode(failureCode: string): boolean;
34
36
  /**
35
37
  * A single dependency edge in the closure graph — identifies what is needed
36
38
  * and why. Used for diagnostics, deduplication, and fetch queue management.
@@ -47,6 +49,13 @@ export type ClosureDependencyEdge = {
47
49
  identifier: string;
48
50
  /** The type of identifier — determines the fetch strategy. */
49
51
  identifierType: 'messageCid' | 'recordId' | 'protocol' | 'grantId' | 'filter';
52
+ /**
53
+ * Protocol the resolved dependency must belong to when the dependency is
54
+ * expected to resolve outside the current primary sync scope. This is used
55
+ * for protocol-derived support records such as cross-protocol `$ref` parents
56
+ * and role records.
57
+ */
58
+ expectedProtocol?: string;
50
59
  /**
51
60
  * When `identifierType` is `'filter'`, this carries the full query filter
52
61
  * as a structured object. Used for dependencies that require multi-field
@@ -91,8 +100,10 @@ export type ClosureEvaluationContext = {
91
100
  grantCache: Map<string, GenericMessage | null>;
92
101
  /**
93
102
  * Set of dependency identifiers already known to be locally present.
94
- * Keyed by `${identifierType}:${identifier}` to prevent cross-namespace
95
- * collisions (e.g., a recordId and a grantId with the same string value).
103
+ * Keys include the sync scope, expected dependency protocol when one is
104
+ * known, and `${label}:${identifierType}:${identifier}` so dependencies
105
+ * proven under one scoped link cannot satisfy another link's closure check
106
+ * without being revalidated for that scope and dependency policy.
96
107
  */
97
108
  satisfiedDeps: Set<string>;
98
109
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sync-closure-types.d.ts","sourceRoot":"","sources":["../../src/sync-closure-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMxD;;;GAGG;AACH,oBAAY,kBAAkB;IAC5B,2EAA2E;IAC3E,uBAAuB,mCAAmC;IAC1D,2EAA2E;IAC3E,mBAAmB,+BAA+B;IAClD,iEAAiE;IACjE,kBAAkB,8BAA8B;IAChD,qDAAqD;IACrD,mBAAmB,+BAA+B;IAClD,8EAA8E;IAC9E,YAAY,wBAAwB;IACpC,kFAAkF;IAClF,iBAAiB,6BAA6B;IAC9C,4EAA4E;IAC5E,YAAY,wBAAwB;IACpC,+EAA+E;IAC/E,sBAAsB,kCAAkC;IACxD,qEAAqE;IACrE,sBAAsB,kCAAkC;IACxD,iEAAiE;IACjE,2BAA2B,uCAAuC;IAClE,4DAA4D;IAC5D,6BAA6B,yCAAyC;IACtE,mFAAmF;IACnF,mBAAmB,+BAA+B;IAClD,oEAAoE;IACpE,aAAa,yBAAyB;CACvC;AAMD;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,oDAAoD;IACpD,eAAe,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,qGAAqG;IACrG,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,cAAc,EAAE,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC9E;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAMF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,mDAAmD;IACnD,QAAQ,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC/B;;;OAGG;IACH,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,kBAAkB,CAAC;QACzB,IAAI,EAAE,qBAAqB,CAAC;QAC5B,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAMF;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,6CAA6C;IAC7C,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;IAC/C;;;;OAIG;IACH,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B;;;OAGG;IACH,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GACxC,wBAAwB,CAU1B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,cAAc,GACtB,IAAI,CAmHN"}
1
+ {"version":3,"file":"sync-closure-types.d.ts","sourceRoot":"","sources":["../../src/sync-closure-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMxD;;;GAGG;AACH,oBAAY,kBAAkB;IAC5B,2EAA2E;IAC3E,uBAAuB,mCAAmC;IAC1D,2EAA2E;IAC3E,mBAAmB,+BAA+B;IAClD,iEAAiE;IACjE,kBAAkB,8BAA8B;IAChD,qDAAqD;IACrD,mBAAmB,+BAA+B;IAClD,+EAA+E;IAC/E,YAAY,wBAAwB;IACpC,kFAAkF;IAClF,iBAAiB,6BAA6B;IAC9C,4EAA4E;IAC5E,YAAY,wBAAwB;IACpC,+EAA+E;IAC/E,sBAAsB,kCAAkC;IACxD,qEAAqE;IACrE,sBAAsB,kCAAkC;IACxD,iEAAiE;IACjE,2BAA2B,uCAAuC;IAClE,4DAA4D;IAC5D,6BAA6B,yCAAyC;IACtE,mFAAmF;IACnF,mBAAmB,+BAA+B;IAClD,oEAAoE;IACpE,aAAa,yBAAyB;CACvC;AASD,yEAAyE;AACzE,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEzE;AAMD;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,oDAAoD;IACpD,eAAe,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,qGAAqG;IACrG,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,cAAc,EAAE,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC9E;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAMF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,mDAAmD;IACnD,QAAQ,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC/B;;;OAGG;IACH,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,kBAAkB,CAAC;QACzB,IAAI,EAAE,qBAAqB,CAAC;QAC5B,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAMF;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,6CAA6C;IAC7C,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;IAC/C;;;;;;OAMG;IACH,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B;;;OAGG;IACH,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GACxC,wBAAwB,CAU1B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,cAAc,GACtB,IAAI,CAmHN"}