@enbox/agent 0.7.7 → 0.7.9
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/dwn-api.js +3 -2
- package/dist/esm/dwn-api.js.map +1 -1
- package/dist/esm/enbox-connect-protocol.js +5 -5
- package/dist/esm/enbox-connect-protocol.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/permissions-api.js +7 -34
- package/dist/esm/permissions-api.js.map +1 -1
- package/dist/esm/sync-closure-resolver.js +229 -110
- package/dist/esm/sync-closure-resolver.js.map +1 -1
- package/dist/esm/sync-closure-types.js +39 -7
- package/dist/esm/sync-closure-types.js.map +1 -1
- package/dist/esm/sync-engine-level.js +2242 -797
- package/dist/esm/sync-engine-level.js.map +1 -1
- package/dist/esm/sync-link-id.js +4 -13
- package/dist/esm/sync-link-id.js.map +1 -1
- package/dist/esm/sync-link-reconciler.js +26 -8
- package/dist/esm/sync-link-reconciler.js.map +1 -1
- package/dist/esm/sync-messages.js +218 -154
- package/dist/esm/sync-messages.js.map +1 -1
- package/dist/esm/sync-permission-grants.js +208 -0
- package/dist/esm/sync-permission-grants.js.map +1 -0
- package/dist/esm/sync-replication-ledger.js +23 -40
- package/dist/esm/sync-replication-ledger.js.map +1 -1
- package/dist/esm/sync-scope-acceptance.js +126 -0
- package/dist/esm/sync-scope-acceptance.js.map +1 -0
- package/dist/esm/sync-topological-sort.js +57 -15
- package/dist/esm/sync-topological-sort.js.map +1 -1
- package/dist/esm/types/sync.js +130 -22
- package/dist/esm/types/sync.js.map +1 -1
- package/dist/types/dwn-api.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/permissions-api.d.ts +1 -2
- package/dist/types/permissions-api.d.ts.map +1 -1
- package/dist/types/sync-closure-resolver.d.ts.map +1 -1
- package/dist/types/sync-closure-types.d.ts +14 -3
- package/dist/types/sync-closure-types.d.ts.map +1 -1
- package/dist/types/sync-engine-level.d.ts +144 -31
- package/dist/types/sync-engine-level.d.ts.map +1 -1
- package/dist/types/sync-link-id.d.ts +3 -9
- package/dist/types/sync-link-id.d.ts.map +1 -1
- package/dist/types/sync-link-reconciler.d.ts +12 -2
- package/dist/types/sync-link-reconciler.d.ts.map +1 -1
- package/dist/types/sync-messages.d.ts +16 -13
- package/dist/types/sync-messages.d.ts.map +1 -1
- package/dist/types/sync-permission-grants.d.ts +52 -0
- package/dist/types/sync-permission-grants.d.ts.map +1 -0
- package/dist/types/sync-replication-ledger.d.ts +5 -13
- package/dist/types/sync-replication-ledger.d.ts.map +1 -1
- package/dist/types/sync-scope-acceptance.d.ts +28 -0
- package/dist/types/sync-scope-acceptance.d.ts.map +1 -0
- package/dist/types/sync-topological-sort.d.ts +2 -1
- package/dist/types/sync-topological-sort.d.ts.map +1 -1
- package/dist/types/types/permissions.d.ts +2 -0
- package/dist/types/types/permissions.d.ts.map +1 -1
- package/dist/types/types/sync.d.ts +137 -75
- package/dist/types/types/sync.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/dwn-api.ts +3 -2
- package/src/enbox-connect-protocol.ts +5 -5
- package/src/index.ts +10 -1
- package/src/permissions-api.ts +11 -42
- package/src/sync-closure-resolver.ts +306 -126
- package/src/sync-closure-types.ts +54 -9
- package/src/sync-engine-level.ts +3051 -967
- package/src/sync-link-id.ts +9 -14
- package/src/sync-link-reconciler.ts +43 -10
- package/src/sync-messages.ts +263 -159
- package/src/sync-permission-grants.ts +297 -0
- package/src/sync-replication-ledger.ts +55 -50
- package/src/sync-scope-acceptance.ts +186 -0
- package/src/sync-topological-sort.ts +89 -21
- package/src/types/permissions.ts +2 -0
- 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":"AAEA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-topological-sort.js","sourceRoot":"","sources":["../../src/sync-topological-sort.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/types/sync.js
CHANGED
|
@@ -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
|
-
*
|
|
25
|
+
* Projection-root algorithm used by StateIndex full/protocol sync scopes.
|
|
12
26
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
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
|
-
*
|
|
18
|
-
*
|
|
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
|
|
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
|
|
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
|
-
}
|
|
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":";;;;;;;;;
|
|
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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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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 {
|
|
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,
|
|
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;
|
|
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,
|
|
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
|
|
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
|
-
*
|
|
95
|
-
*
|
|
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
|
|
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,CAqHN"}
|