@haverstack/core 0.43.0 → 0.44.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.
- package/README.md +1 -2
- package/dist/access.d.ts +7 -3
- package/dist/access.d.ts.map +1 -1
- package/dist/access.js +11 -2
- package/dist/access.js.map +1 -1
- package/dist/adapter/combine.d.ts.map +1 -1
- package/dist/adapter/combine.js +3 -4
- package/dist/adapter/combine.js.map +1 -1
- package/dist/adapter/copy.d.ts +27 -0
- package/dist/adapter/copy.d.ts.map +1 -0
- package/dist/adapter/copy.js +105 -0
- package/dist/adapter/copy.js.map +1 -0
- package/dist/adapter/index.d.ts +5 -2
- package/dist/adapter/index.d.ts.map +1 -1
- package/dist/adapter/index.js +3 -1
- package/dist/adapter/index.js.map +1 -1
- package/dist/adapter/seed.d.ts +13 -0
- package/dist/adapter/seed.d.ts.map +1 -0
- package/dist/adapter/seed.js +26 -0
- package/dist/adapter/seed.js.map +1 -0
- package/dist/errors.d.ts +18 -4
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +28 -6
- package/dist/errors.js.map +1 -1
- package/dist/grants.d.ts +16 -4
- package/dist/grants.d.ts.map +1 -1
- package/dist/grants.js +44 -16
- package/dist/grants.js.map +1 -1
- package/dist/hash.d.ts +8 -0
- package/dist/hash.d.ts.map +1 -0
- package/dist/hash.js +14 -0
- package/dist/hash.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/install.d.ts +29 -5
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +69 -44
- package/dist/install.js.map +1 -1
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +2 -5
- package/dist/schema.js.map +1 -1
- package/dist/scoped-stack/authority.d.ts +19 -14
- package/dist/scoped-stack/authority.d.ts.map +1 -1
- package/dist/scoped-stack/authority.js +30 -18
- package/dist/scoped-stack/authority.js.map +1 -1
- package/dist/scoped-stack/family-policy.js +1 -1
- package/dist/scoped-stack/family-policy.js.map +1 -1
- package/dist/scoped-stack/scoped-stack.d.ts +12 -5
- package/dist/scoped-stack/scoped-stack.d.ts.map +1 -1
- package/dist/scoped-stack/scoped-stack.js +52 -29
- package/dist/scoped-stack/scoped-stack.js.map +1 -1
- package/dist/stack/field-rules.d.ts +27 -0
- package/dist/stack/field-rules.d.ts.map +1 -0
- package/dist/stack/field-rules.js +50 -0
- package/dist/stack/field-rules.js.map +1 -0
- package/dist/stack/install-app.d.ts +2 -2
- package/dist/stack/install-app.d.ts.map +1 -1
- package/dist/stack/install-app.js +9 -9
- package/dist/stack/install-app.js.map +1 -1
- package/dist/stack/integrity.d.ts +9 -53
- package/dist/stack/integrity.d.ts.map +1 -1
- package/dist/stack/integrity.js +45 -105
- package/dist/stack/integrity.js.map +1 -1
- package/dist/stack/stack.d.ts +7 -8
- package/dist/stack/stack.d.ts.map +1 -1
- package/dist/stack/stack.js +22 -65
- package/dist/stack/stack.js.map +1 -1
- package/dist/stack/system-types.d.ts.map +1 -1
- package/dist/stack/system-types.js +1 -3
- package/dist/stack/system-types.js.map +1 -1
- package/dist/stack/type-grants.d.ts.map +1 -1
- package/dist/stack/type-grants.js +5 -2
- package/dist/stack/type-grants.js.map +1 -1
- package/dist/testing.d.ts +13 -16
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +29 -30
- package/dist/testing.js.map +1 -1
- package/dist/types/adapter.d.ts +25 -12
- package/dist/types/adapter.d.ts.map +1 -1
- package/dist/types/system.d.ts +1 -7
- package/dist/types/system.d.ts.map +1 -1
- package/dist/types/system.js.map +1 -1
- package/package.json +1 -1
- package/dist/stack/identity-bindings.d.ts +0 -13
- package/dist/stack/identity-bindings.d.ts.map +0 -1
- package/dist/stack/identity-bindings.js +0 -36
- package/dist/stack/identity-bindings.js.map +0 -1
|
@@ -8,8 +8,7 @@
|
|
|
8
8
|
* checks any other caller's would. See docs/spec/apps.md.
|
|
9
9
|
*/
|
|
10
10
|
import { ARGUMENTS_INVALID, StackConflictError, StackNotFoundError, StackSchemaDriftError, StackValidationError, } from '../errors.js';
|
|
11
|
-
import {
|
|
12
|
-
import { INSTALL_APP_LABEL, INSTALL_GRANT_LABEL, claimedFamilies, familyStanding, grantIsRequest, installAppLink, installGrantLink, installReader, linkedIds, namespaceOf, ownTypeIds, planFingerprint, sameRequest, snapshotManifest, } from '../install.js';
|
|
11
|
+
import { INSTALL_APP_LABEL, INSTALL_GRANT_LABEL, claimedFamilies, familyStanding, grantIsRequest, installAppLink, installGrantLink, installReader, linkedIds, namespaceOf, ownTypeIds, planFingerprint, sameRequest, snapshotManifest, validateRequests, } from '../install.js';
|
|
13
12
|
import { baseIdOf, diffSchemas, hashSchema, parseTypeId } from '../schema.js';
|
|
14
13
|
import { findAppCardByDid, loadInstallRecords, queryAllPages } from './reads.js';
|
|
15
14
|
import { SYSTEM_TYPES } from '../types/index.js';
|
|
@@ -63,7 +62,7 @@ export async function planInstall(stack, submitted, opts) {
|
|
|
63
62
|
if (typeof key === 'string')
|
|
64
63
|
linkedKeys.push(key);
|
|
65
64
|
}
|
|
66
|
-
|
|
65
|
+
const plan = {
|
|
67
66
|
manifest,
|
|
68
67
|
did,
|
|
69
68
|
existing,
|
|
@@ -79,11 +78,13 @@ export async function planInstall(stack, submitted, opts) {
|
|
|
79
78
|
!linkedIds(existing, INSTALL_APP_LABEL).includes(card.id),
|
|
80
79
|
linkedKeys,
|
|
81
80
|
};
|
|
81
|
+
const fingerprint = await planFingerprint(plan);
|
|
82
|
+
return { ...plan, fingerprint };
|
|
82
83
|
}
|
|
83
|
-
export async function installApp(stack,
|
|
84
|
-
const fresh = await planInstall(stack,
|
|
85
|
-
if (
|
|
86
|
-
throw new StackConflictError(`The
|
|
84
|
+
export async function installApp(stack, submitted, opts) {
|
|
85
|
+
const fresh = await planInstall(stack, submitted, { did: opts.did });
|
|
86
|
+
if (fresh.fingerprint !== opts.fingerprint) {
|
|
87
|
+
throw new StackConflictError(`The install of "${fresh.manifest.appId}" no longer matches the approved plan; plan it again`);
|
|
87
88
|
}
|
|
88
89
|
const { manifest, did, existing } = fresh;
|
|
89
90
|
for (const type of manifest.types)
|
|
@@ -174,10 +175,9 @@ function checkManifest(manifest, did) {
|
|
|
174
175
|
}
|
|
175
176
|
}
|
|
176
177
|
});
|
|
178
|
+
errors.push(...validateRequests(manifest.requests, 'requests'));
|
|
177
179
|
if (errors.length > 0)
|
|
178
180
|
throw new StackValidationError(errors, ARGUMENTS_INVALID);
|
|
179
|
-
for (const r of manifest.requests)
|
|
180
|
-
checkGrantValid(r.baseId, r.actions);
|
|
181
181
|
}
|
|
182
182
|
/** The key's `_app` card, created or undeleted as needed. */
|
|
183
183
|
async function ensureAppCard(stack, manifest, did) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-app.js","sourceRoot":"","sources":["../../src/stack/install-app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install-app.js","sourceRoot":"","sources":["../../src/stack/install-app.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACV,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAwBxB,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAY,EACZ,SAAsB,EACtB,IAAuB;IAEvB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC7C,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAE7B,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IAClF,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEvD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,IAAI,IAAI,IAAK,IAAI,CAAC,OAAsB,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClE,MAAM,IAAI,kBAAkB,CAC1B,GAAG,GAAG,sBAAuB,IAAI,CAAC,OAAsB,CAAC,KAAK,WAAW,QAAQ,CAAC,KAAK,GAAG,CAC3F,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAU,CAAC;IACjF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC/C,MAAM,eAAe,GAAqB,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,QAAQ,KAAK,KAAK;YAAE,SAAS;QACjC,MAAM,KAAK,GACT,QAAQ,KAAK,SAAS;YACpB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;YACvB,CAAC,CAAC,QAAQ,KAAK,SAAS;gBACtB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,QAAQ,CAAC;QACjB,eAAe,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO;YAAE,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;aACvD,IAAI,OAAO,CAAC,UAAU,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,MAAoB,CAAC,CAAC,EAAE,CAAC;YAC3E,yEAAyE;YACzE,kEAAkE;YAClE,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAoB,CAAC,CAAC;YACvE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAC7E,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YAAE,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,UAAU,GAAe,EAAE,CAAC;IAClC,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACxE,MAAM,GAAG,GAAI,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,OAAkC,EAAE,GAAG,CAAC;QAC5E,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,IAAI,GAAG;QACX,QAAQ;QACR,GAAG;QACH,QAAQ;QACR,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5D,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzD,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrF,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvF,eAAe;QACf,WAAW;QACX,MAAM,EACJ,CAAC,QAAQ;YACT,CAAC,IAAI;YACL,IAAI,CAAC,SAAS,KAAK,SAAS;YAC5B,CAAC,SAAS,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,UAAU;KACX,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;IAChD,OAAO,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAY,EACZ,SAAsB,EACtB,IAAuB;IAEvB,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACrE,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,IAAI,kBAAkB,CAC1B,mBAAmB,KAAK,CAAC,QAAQ,CAAC,KAAK,sDAAsD,CAC9F,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK;QAAE,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAEvD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,QAAQ,GAAqB,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;KACxB,CAAC,CAAC,CAAC;IAEJ,IAAI,OAAoB,CAAC;IACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAC1B,GAAG,YAAY,CAAC,OAAO,IAAI,EAC3B;YACE,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpE,OAAO;YACP,QAAQ;SACT,EACD,EAAE,YAAY,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAC5C,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAClF,OAAO,GAAG,MAAM,KAAK,CAAC,YAAY,CAChC,QAAQ,CAAC,EAAE,EACX,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAC7E,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,CAC/B,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7D,OAAO,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE;gBACjD,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;aACpD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,CAAC,MAAM,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAEnD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAY,EACZ,KAAY;IAEZ,MAAM,OAAO,GAAG,CAAC,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CACpD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CACjD,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,KAAK,GAAG,CAAC,CAAC;IACxE,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;QACzD,IAAI,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACtE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClD,OAAO,MAAmD,CAAC;AAC7D,CAAC;AAED,6EAA6E;AAC7E,SAAS,aAAa,CAAC,QAAqB,EAAE,GAAa;IACzD,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,4BAA4B,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACf,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;QACxC,MAAM,WAAW,GAAG,mBAAmB,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAC5B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAoB,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,UAAU,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,wBAAwB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/D,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,SAAS,CAAC,MAAM;oBACtB,OAAO,EACL,QAAQ,KAAK,QAAQ;wBACnB,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,0CAA0C;wBAC7D,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,+BAA+B,QAAQ,CAAC,KAAK,gDAAgD;iBACrH,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AACnF,CAAC;AAED,6DAA6D;AAC7D,KAAK,UAAU,aAAa,CAC1B,KAAY,EACZ,QAAqB,EACrB,GAAa;IAEb,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,MAAM,CAAa,GAAG,YAAY,CAAC,GAAG,IAAI,EAAE;YACvD,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpE,GAAG;SACJ,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,sBAAsB,CAAC,KAAY,EAAE,OAAoB;IACtE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAyB,CAAC;IACvD,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,CAAC;QACvD,MAAM,GAAG,GAAI,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,OAAkC,EAAE,GAAG,CAAC;QAC5E,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,MAAM,IAAI,GAAmB,EAAE,CAAC;IAChC,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,KAAK,EAAE,OAAmC,CAAC;QAC3D,MAAM,MAAM,GACV,OAAO,KAAK,SAAS;YACrB,QAAQ,CAAC,KAAM,CAAC,MAAM,CAAC,KAAK,YAAY,CAAC,KAAK;YAC9C,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,KAAK;YAAE,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBAAE,SAAS;YAC1D,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE;gBAC5C,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE;aAC3C,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IACD,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAE1F,uEAAuE;IACvE,iEAAiE;IACjE,yCAAyC;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,CACE,MAAM,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACzC,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;KAClF,CAAC,CACH;SACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAqB,CAAC;SACnC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAM,OAAO,CAAC,OAA0B,CAAC,KAAK,CAAC;SACpE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CACrB,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,CAAuB,EAAmB,EAAE,CAC5D,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;QAC1E,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;QACpB,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,MAAM,GAAsB;QAChC,GAAG,IAAI;aACJ,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;aACvC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAc,EAAE,WAAW,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpF,GAAG,OAAO;aACP,MAAM,CAAC,CAAC,GAAG,EAAmB,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;aACzF,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAiB,EAAE,WAAW,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KACxF,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,39 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Write invariants
|
|
3
3
|
* -------------------------------------------------------
|
|
4
|
-
* The integrity rules a Stack write owes whoever makes it —
|
|
5
|
-
* bindings, containment, attachment metadata
|
|
4
|
+
* The integrity rules a Stack write owes whoever makes it — immutable
|
|
5
|
+
* fields, DID and appId bindings, containment, attachment metadata and a
|
|
6
6
|
* group's admin roster. They bind every requester, the stack owner
|
|
7
7
|
* included, which is why they live beneath `ScopedStack`'s permission
|
|
8
8
|
* gates rather than among them. Each reads unscoped: through the Stack it
|
|
9
9
|
* is handed, or a by-id `read` straight from its adapter.
|
|
10
10
|
*/
|
|
11
11
|
import type { RecordResolver } from '../access.js';
|
|
12
|
-
import type { Association,
|
|
12
|
+
import type { Association, DataAssociation, StackRecord, TypeId } from '../types/index.js';
|
|
13
13
|
import type { Stack } from './stack.js';
|
|
14
|
-
/** Uniqueness for every unique binding field a newly created card claims. */
|
|
15
|
-
export declare function checkBindingsOnCreate(stack: Stack, typeId: TypeId, content: Record<string, unknown>): Promise<void>;
|
|
16
14
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
15
|
+
* Every content integrity check create, patch, restore and migrate owe: a
|
|
16
|
+
* change, judged against `prior` (absent on create), then claims, judged
|
|
17
|
+
* against other records. A claim is asked only of a value not already held
|
|
18
|
+
* in the destination family, so a claim check never finds the record itself.
|
|
19
|
+
* See docs/spec/data-model.md § Immutable fields.
|
|
21
20
|
*/
|
|
22
|
-
export declare function
|
|
23
|
-
/**
|
|
24
|
-
* Bindings across a migration, whose content replaces the old wholesale.
|
|
25
|
-
* Immutability is asked over both families' binding fields, so a card can
|
|
26
|
-
* neither shed a DID by migrating out nor pick one up on the way in;
|
|
27
|
-
* uniqueness, of the destination only. See docs/spec/identity.md § DID bindings.
|
|
28
|
-
*/
|
|
29
|
-
export declare function checkBindingsOnMigrate(stack: Stack, fromTypeId: TypeId, toTypeId: TypeId, id: RecordId, existing: Record<string, unknown>, content: Record<string, unknown>): Promise<void>;
|
|
30
|
-
/**
|
|
31
|
-
* A binding is permanent once made: uniqueness stops a second card claiming
|
|
32
|
-
* a value, but only immutability stops an existing card being moved onto
|
|
33
|
-
* one. A subject whose key changes gets a new card.
|
|
34
|
-
* See docs/spec/identity.md § DID bindings.
|
|
35
|
-
*/
|
|
36
|
-
export declare function checkBindingImmutable(family: string, field: 'did' | 'appId', existing: unknown, next: unknown): void;
|
|
21
|
+
export declare function checkContentWrite(stack: Stack, typeId: TypeId, content: Record<string, unknown>, prior?: StackRecord): Promise<void>;
|
|
37
22
|
/**
|
|
38
23
|
* A caller-named `parentId` is a well-formed id of a record that exists —
|
|
39
24
|
* format first, so a malformed one is a 400 naming the problem. A restore
|
|
@@ -48,20 +33,6 @@ export declare function assertParentExists(read: RecordResolver, id: string, par
|
|
|
48
33
|
* See docs/spec/data-model.md § Reparenting.
|
|
49
34
|
*/
|
|
50
35
|
export declare function assertNoParentCycle(read: RecordResolver, id: string, parentId: string): Promise<void>;
|
|
51
|
-
/**
|
|
52
|
-
* The `_attachment@1` fields a write may not move, each with the message it
|
|
53
|
-
* is refused by. Ordered as reported. See docs/spec/attachments.md § The
|
|
54
|
-
* `_attachment` record type.
|
|
55
|
-
*/
|
|
56
|
-
declare const ATTACHMENT_IMMUTABLE_FIELDS: readonly [readonly ["mimeType", "mimeType is immutable after creation; delete and re-upload to change it"], readonly ["fileId", "fileId is immutable"], readonly ["size", "size is immutable"]];
|
|
57
|
-
type AttachmentImmutableField = (typeof ATTACHMENT_IMMUTABLE_FIELDS)[number][0];
|
|
58
|
-
/**
|
|
59
|
-
* mimeType belongs to the fileId: its first metadata record fixes it, and
|
|
60
|
-
* a conflicting later one is refused. Best-effort against a racing first
|
|
61
|
-
* upload; what survives the race is a deterministic winner. See
|
|
62
|
-
* docs/spec/attachments.md § The `_attachment` record type.
|
|
63
|
-
*/
|
|
64
|
-
export declare function checkAttachmentMimeTypeOnCreate(stack: Stack, content: AttachmentContent): Promise<void>;
|
|
65
36
|
/**
|
|
66
37
|
* An `attachmentRecordId` must name an `_attachment` record for the same
|
|
67
38
|
* `fileId`. Pointers already in `stored` are not re-asked, so restating an
|
|
@@ -69,20 +40,6 @@ export declare function checkAttachmentMimeTypeOnCreate(stack: Stack, content: A
|
|
|
69
40
|
* See docs/spec/attachments.md § Naming the upload a reference came from.
|
|
70
41
|
*/
|
|
71
42
|
export declare function checkAttachmentAssociationPointers(read: RecordResolver, associations: Association[] | undefined, stored?: Association[]): Promise<void>;
|
|
72
|
-
/**
|
|
73
|
-
* Refuse a write that moves an `_attachment@1` record's fileId, size or
|
|
74
|
-
* mimeType. `violates` decides what counts as a move, since a patch names
|
|
75
|
-
* only what it changes while a migration re-sends all three.
|
|
76
|
-
* See docs/spec/attachments.md § The `_attachment` record type.
|
|
77
|
-
*/
|
|
78
|
-
export declare function assertAttachmentImmutable(violates: (field: AttachmentImmutableField) => boolean): void;
|
|
79
|
-
/**
|
|
80
|
-
* `_config.entityId` defines stack ownership; neither patchContent() nor
|
|
81
|
-
* restoreVersion() may change it. A conflict with stack integrity, not a
|
|
82
|
-
* schema violation — hence StackConflictError. See docs/spec.md § The
|
|
83
|
-
* `_config` record.
|
|
84
|
-
*/
|
|
85
|
-
export declare function checkConfigEntityIdUnchanged(existingEntityId: EntityId, newEntityId: EntityId): void;
|
|
86
43
|
/**
|
|
87
44
|
* Refuse a write that would leave a `_group` Record with no `admin`, asked
|
|
88
45
|
* of the roster the write would produce. An integrity rule, not a
|
|
@@ -90,5 +47,4 @@ export declare function checkConfigEntityIdUnchanged(existingEntityId: EntityId,
|
|
|
90
47
|
* See docs/spec/identity.md § Group.
|
|
91
48
|
*/
|
|
92
49
|
export declare function assertGroupAdminRemains(record: StackRecord, next: DataAssociation[]): void;
|
|
93
|
-
export {};
|
|
94
50
|
//# sourceMappingURL=integrity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrity.d.ts","sourceRoot":"","sources":["../../src/stack/integrity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AASnD,OAAO,KAAK,EACV,WAAW,
|
|
1
|
+
{"version":3,"file":"integrity.d.ts","sourceRoot":"","sources":["../../src/stack/integrity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AASnD,OAAO,KAAK,EACV,WAAW,EAEX,eAAe,EACf,WAAW,EACX,MAAM,EACP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAMxC;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAoED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,cAAc,EACpB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,cAAc,EACpB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAgBf;AA+BD;;;;;GAKG;AACH,wBAAsB,kCAAkC,CACtD,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,WAAW,EAAE,GAAG,SAAS,EACvC,MAAM,GAAE,WAAW,EAAO,GACzB,OAAO,CAAC,IAAI,CAAC,CAqCf;AAMD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,IAAI,CAO1F"}
|
package/dist/stack/integrity.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Write invariants
|
|
3
3
|
* -------------------------------------------------------
|
|
4
|
-
* The integrity rules a Stack write owes whoever makes it —
|
|
5
|
-
* bindings, containment, attachment metadata
|
|
4
|
+
* The integrity rules a Stack write owes whoever makes it — immutable
|
|
5
|
+
* fields, DID and appId bindings, containment, attachment metadata and a
|
|
6
6
|
* group's admin roster. They bind every requester, the stack owner
|
|
7
7
|
* included, which is why they live beneath `ScopedStack`'s permission
|
|
8
8
|
* gates rather than among them. Each reads unscoped: through the Stack it
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { hasGroupAdmin, isGroupRecord } from '../access.js';
|
|
12
12
|
import { ARGUMENTS_INVALID, StackConflictError, StackValidationError } from '../errors.js';
|
|
13
|
-
import {
|
|
13
|
+
import { bindingsOf, immutableFieldsOf, isUnset } from './field-rules.js';
|
|
14
14
|
import { filtersContent } from '../query-validation.js';
|
|
15
15
|
import { associationIdentical } from '../associations/identity.js';
|
|
16
16
|
import { validateRecordId } from './record-id.js';
|
|
@@ -18,63 +18,59 @@ import { baseIdOf } from '../schema.js';
|
|
|
18
18
|
import { findFirstMatch } from './reads.js';
|
|
19
19
|
import { SYSTEM_TYPES } from '../types/index.js';
|
|
20
20
|
// -------------------------------------------------------
|
|
21
|
-
//
|
|
21
|
+
// Content writes
|
|
22
22
|
// -------------------------------------------------------
|
|
23
|
-
/** Uniqueness for every unique binding field a newly created card claims. */
|
|
24
|
-
export async function checkBindingsOnCreate(stack, typeId, content) {
|
|
25
|
-
const family = baseIdOf(typeId);
|
|
26
|
-
for (const field of uniqueBindingFieldsOf(family)) {
|
|
27
|
-
await checkBindingUnique(stack, family, field, content[field]);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
23
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
24
|
+
* Every content integrity check create, patch, restore and migrate owe: a
|
|
25
|
+
* change, judged against `prior` (absent on create), then claims, judged
|
|
26
|
+
* against other records. A claim is asked only of a value not already held
|
|
27
|
+
* in the destination family, so a claim check never finds the record itself.
|
|
28
|
+
* See docs/spec/data-model.md § Immutable fields.
|
|
35
29
|
*/
|
|
36
|
-
export async function
|
|
30
|
+
export async function checkContentWrite(stack, typeId, content, prior) {
|
|
31
|
+
if (prior)
|
|
32
|
+
checkImmutableFields(prior, content);
|
|
37
33
|
const family = baseIdOf(typeId);
|
|
38
|
-
const
|
|
39
|
-
for (const field of
|
|
40
|
-
if (!
|
|
34
|
+
const held = prior && baseIdOf(prior.typeId) === family ? prior.content : {};
|
|
35
|
+
for (const { field, unique } of bindingsOf(family)) {
|
|
36
|
+
if (!unique || content[field] === held[field])
|
|
41
37
|
continue;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
38
|
+
await checkBindingUnique(stack, family, field, content[field]);
|
|
39
|
+
}
|
|
40
|
+
if (family === SYSTEM_TYPES.ATTACHMENT &&
|
|
41
|
+
(content.fileId !== held.fileId || content.mimeType !== held.mimeType)) {
|
|
42
|
+
await checkAttachmentMimeType(stack, content);
|
|
46
43
|
}
|
|
47
44
|
}
|
|
45
|
+
// -------------------------------------------------------
|
|
46
|
+
// Immutable fields
|
|
47
|
+
// -------------------------------------------------------
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
* uniqueness, of the destination only. See docs/spec/identity.md § DID bindings.
|
|
49
|
+
* Refuse a write that moves or clears an immutable field the record holds.
|
|
50
|
+
* Only the family the record is in now is asked: a field of the family it
|
|
51
|
+
* enters was never held, and arriving with one is a claim, not a change.
|
|
53
52
|
*/
|
|
54
|
-
|
|
55
|
-
const
|
|
56
|
-
const
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
checked.add(field);
|
|
63
|
-
checkBindingImmutable(family, field, existing[field], content[field]);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
for (const field of uniqueBindingFieldsOf(toFamily)) {
|
|
67
|
-
await checkBindingUnique(stack, toFamily, field, content[field], id);
|
|
53
|
+
function checkImmutableFields(existing, next) {
|
|
54
|
+
const family = baseIdOf(existing.typeId);
|
|
55
|
+
const content = existing.content;
|
|
56
|
+
for (const field of immutableFieldsOf(family)) {
|
|
57
|
+
const held = content[field];
|
|
58
|
+
if (isUnset(held) || next[field] === held)
|
|
59
|
+
continue;
|
|
60
|
+
throw new StackConflictError(`Cannot change ${family}.${field}: it is immutable once set.`);
|
|
68
61
|
}
|
|
69
62
|
}
|
|
63
|
+
// -------------------------------------------------------
|
|
64
|
+
// Claims on stored values
|
|
65
|
+
// -------------------------------------------------------
|
|
70
66
|
/**
|
|
71
67
|
* Refuse a second card claiming a value an Actor is resolved by. A
|
|
72
68
|
* property of the set rather than the value, so no schema can say it.
|
|
73
69
|
* Read-then-write: two racing creates can both pass.
|
|
74
70
|
* See docs/spec/identity.md § DID bindings.
|
|
75
71
|
*/
|
|
76
|
-
async function checkBindingUnique(stack, family, field, value
|
|
77
|
-
if (
|
|
72
|
+
async function checkBindingUnique(stack, family, field, value) {
|
|
73
|
+
if (isUnset(value))
|
|
78
74
|
return;
|
|
79
75
|
const clash = await findFirstMatch((q) => stack.query(q), {
|
|
80
76
|
filter: {
|
|
@@ -83,29 +79,11 @@ async function checkBindingUnique(stack, family, field, value, excludeId) {
|
|
|
83
79
|
includeUnlisted: true,
|
|
84
80
|
...(filtersContent(stack.capabilities) && { content: { [field]: value } }),
|
|
85
81
|
},
|
|
86
|
-
}, (r) => r.
|
|
82
|
+
}, (r) => r.content[field] === value);
|
|
87
83
|
if (clash) {
|
|
88
84
|
throw new StackConflictError(`Another ${family} record already claims the ${field} "${value}"`);
|
|
89
85
|
}
|
|
90
86
|
}
|
|
91
|
-
/**
|
|
92
|
-
* A binding is permanent once made: uniqueness stops a second card claiming
|
|
93
|
-
* a value, but only immutability stops an existing card being moved onto
|
|
94
|
-
* one. A subject whose key changes gets a new card.
|
|
95
|
-
* See docs/spec/identity.md § DID bindings.
|
|
96
|
-
*/
|
|
97
|
-
export function checkBindingImmutable(family, field, existing, next) {
|
|
98
|
-
if (typeof existing !== 'string' || existing === '')
|
|
99
|
-
return;
|
|
100
|
-
if (next === existing)
|
|
101
|
-
return;
|
|
102
|
-
throw new StackValidationError([
|
|
103
|
-
{
|
|
104
|
-
path: field,
|
|
105
|
-
message: `${field} is immutable once set; register a new ${family} record instead`,
|
|
106
|
-
},
|
|
107
|
-
]);
|
|
108
|
-
}
|
|
109
87
|
// -------------------------------------------------------
|
|
110
88
|
// Containment
|
|
111
89
|
// -------------------------------------------------------
|
|
@@ -154,23 +132,14 @@ export async function assertNoParentCycle(read, id, parentId) {
|
|
|
154
132
|
// -------------------------------------------------------
|
|
155
133
|
// Attachments
|
|
156
134
|
// -------------------------------------------------------
|
|
157
|
-
/**
|
|
158
|
-
* The `_attachment@1` fields a write may not move, each with the message it
|
|
159
|
-
* is refused by. Ordered as reported. See docs/spec/attachments.md § The
|
|
160
|
-
* `_attachment` record type.
|
|
161
|
-
*/
|
|
162
|
-
const ATTACHMENT_IMMUTABLE_FIELDS = [
|
|
163
|
-
['mimeType', 'mimeType is immutable after creation; delete and re-upload to change it'],
|
|
164
|
-
['fileId', 'fileId is immutable'],
|
|
165
|
-
['size', 'size is immutable'],
|
|
166
|
-
];
|
|
167
135
|
/**
|
|
168
136
|
* mimeType belongs to the fileId: its first metadata record fixes it, and
|
|
169
|
-
* a conflicting later one is refused
|
|
137
|
+
* a conflicting later one is refused — a clash with stored state, as a
|
|
138
|
+
* binding's second claimant is. Best-effort against a racing first
|
|
170
139
|
* upload; what survives the race is a deterministic winner. See
|
|
171
140
|
* docs/spec/attachments.md § The `_attachment` record type.
|
|
172
141
|
*/
|
|
173
|
-
|
|
142
|
+
async function checkAttachmentMimeType(stack, content) {
|
|
174
143
|
const { fileId, mimeType } = content;
|
|
175
144
|
if (typeof fileId !== 'string')
|
|
176
145
|
return; // schema validation already rejected this
|
|
@@ -182,12 +151,7 @@ export async function checkAttachmentMimeTypeOnCreate(stack, content) {
|
|
|
182
151
|
// Deliberately does not name the established mimeType — that would
|
|
183
152
|
// confirm a guessed fileId's content type. See the anti-oracle rule
|
|
184
153
|
// in docs/spec/attachments.md.
|
|
185
|
-
throw new
|
|
186
|
-
{
|
|
187
|
-
path: 'mimeType',
|
|
188
|
-
message: 'mimeType conflicts with the mimeType already established for this fileId',
|
|
189
|
-
},
|
|
190
|
-
]);
|
|
154
|
+
throw new StackConflictError('mimeType conflicts with the mimeType already established for this fileId');
|
|
191
155
|
}
|
|
192
156
|
}
|
|
193
157
|
/**
|
|
@@ -224,33 +188,9 @@ export async function checkAttachmentAssociationPointers(read, associations, sto
|
|
|
224
188
|
], ARGUMENTS_INVALID);
|
|
225
189
|
});
|
|
226
190
|
}
|
|
227
|
-
/**
|
|
228
|
-
* Refuse a write that moves an `_attachment@1` record's fileId, size or
|
|
229
|
-
* mimeType. `violates` decides what counts as a move, since a patch names
|
|
230
|
-
* only what it changes while a migration re-sends all three.
|
|
231
|
-
* See docs/spec/attachments.md § The `_attachment` record type.
|
|
232
|
-
*/
|
|
233
|
-
export function assertAttachmentImmutable(violates) {
|
|
234
|
-
const errors = ATTACHMENT_IMMUTABLE_FIELDS.filter(([field]) => violates(field)).map(([path, message]) => ({ path, message }));
|
|
235
|
-
if (errors.length > 0) {
|
|
236
|
-
throw new StackValidationError(errors);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
191
|
// -------------------------------------------------------
|
|
240
|
-
//
|
|
192
|
+
// Groups
|
|
241
193
|
// -------------------------------------------------------
|
|
242
|
-
/**
|
|
243
|
-
* `_config.entityId` defines stack ownership; neither patchContent() nor
|
|
244
|
-
* restoreVersion() may change it. A conflict with stack integrity, not a
|
|
245
|
-
* schema violation — hence StackConflictError. See docs/spec.md § The
|
|
246
|
-
* `_config` record.
|
|
247
|
-
*/
|
|
248
|
-
export function checkConfigEntityIdUnchanged(existingEntityId, newEntityId) {
|
|
249
|
-
if (newEntityId !== existingEntityId) {
|
|
250
|
-
throw new StackConflictError('Cannot change _config.entityId: it defines stack ownership. ' +
|
|
251
|
-
'Ownership transfer is not a supported operation.');
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
194
|
/**
|
|
255
195
|
* Refuse a write that would leave a `_group` Record with no `admin`, asked
|
|
256
196
|
* of the roster the write would produce. An integrity rule, not a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrity.js","sourceRoot":"","sources":["../../src/stack/integrity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"integrity.js","sourceRoot":"","sources":["../../src/stack/integrity.ts"],"names":[],"mappings":"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"}
|
package/dist/stack/stack.d.ts
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import type { StackRecord, StackType, TypeSchema, TypeId, BaseId, StackAdapter, StackQuery, QueryResult, AssociationEdit, AuthorityAssociation, DataAssociation, RecordVersion, StackCapabilities, IfVersionOptions, GrantContent, TypeGrant, PutAttachmentOptions, AttachmentContent, FileId, EntityId, AppId, InstallContent, RecordId, Actor, ActorOptions, RecordChange, SubscribeOptions, Unsubscribe, JournalQuery, VersionsQuery, RecordJournalEntry } from '../types/index.js';
|
|
20
20
|
import type { GrantQuery } from '../grants.js';
|
|
21
|
-
import type { AppManifest, InstallPlan } from '../install.js';
|
|
21
|
+
import type { AppManifest, InstallAppOptions, InstallPlan } from '../install.js';
|
|
22
22
|
import { ScopedStack } from '../scoped-stack/scoped-stack.js';
|
|
23
23
|
import type { BackdatableCreateRecordOptions, CollectAttachmentGarbageOptions, CollectAttachmentGarbageResult, DefineTypeOptions, DeleteRecordOptions, DeleteResult, GetRecordOptions, MigrateAllOptions, StackClient, StackOptions } from './client.js';
|
|
24
24
|
import type { ExpectationOptions } from './write-expectation.js';
|
|
@@ -62,7 +62,7 @@ export declare class Stack implements StackClient {
|
|
|
62
62
|
private static createActor;
|
|
63
63
|
private getTypeCached;
|
|
64
64
|
/**
|
|
65
|
-
* Open a Stack over an adapter. Reads ownerEntityId
|
|
65
|
+
* Open a Stack over an adapter. Reads ownerEntityId from the adapter.
|
|
66
66
|
*/
|
|
67
67
|
static open(adapter: StackAdapter, opts?: StackOptions): Promise<Stack>;
|
|
68
68
|
/**
|
|
@@ -75,7 +75,6 @@ export declare class Stack implements StackClient {
|
|
|
75
75
|
get ownerEntityId(): EntityId;
|
|
76
76
|
getEntityByDid(did: EntityId): Promise<StackRecord | null>;
|
|
77
77
|
getOwnerEntity(): Promise<StackRecord | null>;
|
|
78
|
-
get timezone(): string | undefined;
|
|
79
78
|
get capabilities(): StackCapabilities;
|
|
80
79
|
/**
|
|
81
80
|
* Get a permission-scoped view of this Stack, as if requests came from
|
|
@@ -403,12 +402,12 @@ export declare class Stack implements StackClient {
|
|
|
403
402
|
did: EntityId;
|
|
404
403
|
}): Promise<InstallPlan>;
|
|
405
404
|
/**
|
|
406
|
-
* Apply an approved
|
|
407
|
-
* Record and every linked key's grants
|
|
408
|
-
*
|
|
409
|
-
* See docs/spec/apps.md § Plan, then apply.
|
|
405
|
+
* Apply an approved manifest: its types, the key's `_app` card, the
|
|
406
|
+
* `_install` Record and every linked key's grants — refused with
|
|
407
|
+
* StackConflictError unless it still plans to `opts.fingerprint`, the
|
|
408
|
+
* plan the owner approved. See docs/spec/apps.md § Plan, then apply.
|
|
410
409
|
*/
|
|
411
|
-
installApp(
|
|
410
|
+
installApp(manifest: AppManifest, opts: InstallAppOptions): Promise<StackRecord & {
|
|
412
411
|
content: InstallContent;
|
|
413
412
|
}>;
|
|
414
413
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../src/stack/stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AA4BH,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,UAAU,EACV,MAAM,EACN,MAAM,EACN,YAAY,EACZ,UAAU,EAEV,WAAW,EAEX,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,MAAM,
|
|
1
|
+
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../src/stack/stack.ts"],"names":[],"mappings":"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"}
|