@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.
Files changed (88) hide show
  1. package/README.md +1 -2
  2. package/dist/access.d.ts +7 -3
  3. package/dist/access.d.ts.map +1 -1
  4. package/dist/access.js +11 -2
  5. package/dist/access.js.map +1 -1
  6. package/dist/adapter/combine.d.ts.map +1 -1
  7. package/dist/adapter/combine.js +3 -4
  8. package/dist/adapter/combine.js.map +1 -1
  9. package/dist/adapter/copy.d.ts +27 -0
  10. package/dist/adapter/copy.d.ts.map +1 -0
  11. package/dist/adapter/copy.js +105 -0
  12. package/dist/adapter/copy.js.map +1 -0
  13. package/dist/adapter/index.d.ts +5 -2
  14. package/dist/adapter/index.d.ts.map +1 -1
  15. package/dist/adapter/index.js +3 -1
  16. package/dist/adapter/index.js.map +1 -1
  17. package/dist/adapter/seed.d.ts +13 -0
  18. package/dist/adapter/seed.d.ts.map +1 -0
  19. package/dist/adapter/seed.js +26 -0
  20. package/dist/adapter/seed.js.map +1 -0
  21. package/dist/errors.d.ts +18 -4
  22. package/dist/errors.d.ts.map +1 -1
  23. package/dist/errors.js +28 -6
  24. package/dist/errors.js.map +1 -1
  25. package/dist/grants.d.ts +16 -4
  26. package/dist/grants.d.ts.map +1 -1
  27. package/dist/grants.js +44 -16
  28. package/dist/grants.js.map +1 -1
  29. package/dist/hash.d.ts +8 -0
  30. package/dist/hash.d.ts.map +1 -0
  31. package/dist/hash.js +14 -0
  32. package/dist/hash.js.map +1 -0
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/install.d.ts +29 -5
  37. package/dist/install.d.ts.map +1 -1
  38. package/dist/install.js +69 -44
  39. package/dist/install.js.map +1 -1
  40. package/dist/schema.d.ts.map +1 -1
  41. package/dist/schema.js +2 -5
  42. package/dist/schema.js.map +1 -1
  43. package/dist/scoped-stack/authority.d.ts +19 -14
  44. package/dist/scoped-stack/authority.d.ts.map +1 -1
  45. package/dist/scoped-stack/authority.js +30 -18
  46. package/dist/scoped-stack/authority.js.map +1 -1
  47. package/dist/scoped-stack/family-policy.js +1 -1
  48. package/dist/scoped-stack/family-policy.js.map +1 -1
  49. package/dist/scoped-stack/scoped-stack.d.ts +12 -5
  50. package/dist/scoped-stack/scoped-stack.d.ts.map +1 -1
  51. package/dist/scoped-stack/scoped-stack.js +52 -29
  52. package/dist/scoped-stack/scoped-stack.js.map +1 -1
  53. package/dist/stack/field-rules.d.ts +27 -0
  54. package/dist/stack/field-rules.d.ts.map +1 -0
  55. package/dist/stack/field-rules.js +50 -0
  56. package/dist/stack/field-rules.js.map +1 -0
  57. package/dist/stack/install-app.d.ts +2 -2
  58. package/dist/stack/install-app.d.ts.map +1 -1
  59. package/dist/stack/install-app.js +9 -9
  60. package/dist/stack/install-app.js.map +1 -1
  61. package/dist/stack/integrity.d.ts +9 -53
  62. package/dist/stack/integrity.d.ts.map +1 -1
  63. package/dist/stack/integrity.js +45 -105
  64. package/dist/stack/integrity.js.map +1 -1
  65. package/dist/stack/stack.d.ts +7 -8
  66. package/dist/stack/stack.d.ts.map +1 -1
  67. package/dist/stack/stack.js +22 -65
  68. package/dist/stack/stack.js.map +1 -1
  69. package/dist/stack/system-types.d.ts.map +1 -1
  70. package/dist/stack/system-types.js +1 -3
  71. package/dist/stack/system-types.js.map +1 -1
  72. package/dist/stack/type-grants.d.ts.map +1 -1
  73. package/dist/stack/type-grants.js +5 -2
  74. package/dist/stack/type-grants.js.map +1 -1
  75. package/dist/testing.d.ts +13 -16
  76. package/dist/testing.d.ts.map +1 -1
  77. package/dist/testing.js +29 -30
  78. package/dist/testing.js.map +1 -1
  79. package/dist/types/adapter.d.ts +25 -12
  80. package/dist/types/adapter.d.ts.map +1 -1
  81. package/dist/types/system.d.ts +1 -7
  82. package/dist/types/system.d.ts.map +1 -1
  83. package/dist/types/system.js.map +1 -1
  84. package/package.json +1 -1
  85. package/dist/stack/identity-bindings.d.ts +0 -13
  86. package/dist/stack/identity-bindings.d.ts.map +0 -1
  87. package/dist/stack/identity-bindings.js +0 -36
  88. package/dist/stack/identity-bindings.js.map +0 -1
@@ -21,15 +21,14 @@ import { hashSchema, isCompatible, parseTypeId, baseIdOf, diffSchemas, fileRefFi
21
21
  import { dropAbsentFields, validateContent, validateContentKeys, validatePatchValues, validateReservedKeys, validateSchemaFieldNames, validateSchemaReservedNames, validateSchemaShape, } from '../validate.js';
22
22
  import { applyMergePatch } from '../merge.js';
23
23
  import { compareRecordedAttachments } from '../attachment-records.js';
24
- import { stampGroupAdmin, validatePermissions } from '../access.js';
24
+ import { createAssociations, validatePermissions } from '../access.js';
25
25
  import { ChangeEmitter, RelayDelivery, PendingChange, assertSinceUsable } from './changes.js';
26
26
  import { SYSTEM_TYPES } from '../types/index.js';
27
27
  import { ElementSetMovedError, UseAfterCloseError, ScopeUnavailableError, InvalidAdapterError, StackConflictError, StackMigrationError, StackNotFoundError, StackBadRequestError, StackSchemaDriftError, StackValidationError, StackVersionConflictError, ARGUMENTS_INVALID, SCHEMA_INVALID, softDeletedRefusal, } from '../errors.js';
28
28
  import { assertQueryCapabilities, assertValidBaseIdFilter, assertValidJournalQuery, assertValidVersionsQuery, resolveQuery, splitQuery, filtersContent, assertFamilyId, } from '../query-validation.js';
29
29
  import { assertAssociationEdits, assertAuthorityAssociations, assertDataAssociations, validateAssociations, } from '../associations/validation.js';
30
30
  import { applyAssociationEdits, associationDelta } from '../associations/identity.js';
31
- import { validateGrantee, validateGrantBaseId } from '../grants.js';
32
- import { bindingFieldsOf } from './identity-bindings.js';
31
+ import { validateGrantActions, validateGrantee, validateGrantBaseId } from '../grants.js';
33
32
  import { validateInstall } from '../install.js';
34
33
  import { assertAttachmentSize, assertContentSize } from './limits.js';
35
34
  import { validateRecordId, validateClockField, validateIdTimestampSkew, DEFAULT_ID_TIMESTAMP_SKEW_MS, } from './record-id.js';
@@ -41,7 +40,7 @@ import { MigrationRegistry } from './migrations.js';
41
40
  import * as apps from './install-app.js';
42
41
  import * as typeGrants from './type-grants.js';
43
42
  import * as attachments from './attachments.js';
44
- import { assertAttachmentImmutable, assertGroupAdminRemains, assertNoParentCycle, assertParentExists, checkAttachmentAssociationPointers, checkAttachmentMimeTypeOnCreate, checkBindingImmutable, checkBindingsOnCreate, checkBindingsOnMigrate, checkBindingsOnUpdate, checkConfigEntityIdUnchanged, } from './integrity.js';
43
+ import { assertGroupAdminRemains, assertNoParentCycle, assertParentExists, checkAttachmentAssociationPointers, checkContentWrite, } from './integrity.js';
45
44
  import { systemTypeDefinitions } from './system-types.js';
46
45
  import { checkFamily, checkSnapshotFamily, checkStoredVersion, WRITE_EXPECTATION, } from './write-expectation.js';
47
46
  import { WRITE_GATE } from './write-gate.js';
@@ -92,6 +91,7 @@ function typedContentErrors(typeId, content, schema) {
92
91
  ...validateContent(content, schema),
93
92
  ...validateGrantee(typeId, content),
94
93
  ...validateGrantBaseId(typeId, content),
94
+ ...validateGrantActions(typeId, content),
95
95
  ...validateInstall(typeId, content),
96
96
  ];
97
97
  }
@@ -153,7 +153,7 @@ export class Stack {
153
153
  return type;
154
154
  }
155
155
  /**
156
- * Open a Stack over an adapter. Reads ownerEntityId and timezone from the adapter.
156
+ * Open a Stack over an adapter. Reads ownerEntityId from the adapter.
157
157
  */
158
158
  static async open(adapter, opts = {}) {
159
159
  if (!adapter.ownerEntityId) {
@@ -194,9 +194,6 @@ export class Stack {
194
194
  async getOwnerEntity() {
195
195
  return this.getEntityByDid(this.ownerEntityId);
196
196
  }
197
- get timezone() {
198
- return this.adapter.timezone;
199
- }
200
197
  get capabilities() {
201
198
  return this.adapter.capabilities;
202
199
  }
@@ -443,11 +440,8 @@ export class Stack {
443
440
  ];
444
441
  throwValidation(contentErrors, argumentErrors);
445
442
  assertContentSize(content, this.capabilities.limits.contentBytes, 'Content');
446
- if (typeId === `${SYSTEM_TYPES.ATTACHMENT}@1`) {
447
- await checkAttachmentMimeTypeOnCreate(this, content);
448
- }
443
+ await checkContentWrite(this, typeId, content);
449
444
  await checkAttachmentAssociationPointers(this.readRecord, opts.associations);
450
- await checkBindingsOnCreate(this, typeId, content);
451
445
  if (opts.id !== undefined) {
452
446
  validateRecordId(opts.id);
453
447
  // Only when both are explicit: an `id` alone is a pure position
@@ -464,9 +458,7 @@ export class Stack {
464
458
  await assertNoParentCycle(this.readRecord, opts.id, opts.parentId);
465
459
  }
466
460
  const createdBy = normalizeActor(opts.createdBy);
467
- const associations = baseIdOf(typeId) === SYSTEM_TYPES.GROUP
468
- ? stampGroupAdmin(opts.associations, createdBy?.subjectId ?? this.ownerEntityId)
469
- : opts.associations;
461
+ const associations = createAssociations(typeId, opts.associations, createdBy, this.ownerEntityId);
470
462
  // createdAt drives the id, so the two agree by construction rather than
471
463
  // by coincidence. An explicit one mints via generateIdForTimestamp(),
472
464
  // which never clamps to "now": generateId()'s monotonic floor would
@@ -534,7 +526,7 @@ export class Stack {
534
526
  this.assertOpen();
535
527
  assertContentPatch(patch);
536
528
  const existing = await this.requireWritable(id, opts, true);
537
- const merged = await this.validatePatch(id, existing, patch);
529
+ const merged = await this.validatePatch(existing, patch);
538
530
  if (contentEqual(existing.content, merged))
539
531
  return existing;
540
532
  const change = new PendingChange('patch', { actor: normalizeActor(opts.actor) });
@@ -550,7 +542,7 @@ export class Stack {
550
542
  * Returns the merged content, which the caller compares to decide whether
551
543
  * content moved.
552
544
  */
553
- async validatePatch(id, existing, patch) {
545
+ async validatePatch(existing, patch) {
554
546
  const patchErrors = [
555
547
  ...validateReservedKeys(patch),
556
548
  ...validatePatchValues(patch),
@@ -569,19 +561,7 @@ export class Stack {
569
561
  const contentErrors = typedContentErrors(existing.typeId, merged, type.schema);
570
562
  if (contentErrors.length > 0)
571
563
  throw new StackValidationError(contentErrors);
572
- if (existing.typeId === `${SYSTEM_TYPES.ATTACHMENT}@1`) {
573
- // Presence decides mimeType and value decides the rest: re-sending
574
- // the mimeType a record already holds is refused outright, while a
575
- // client round-tripping fileId or size unchanged has claimed nothing.
576
- assertAttachmentImmutable((field) => Object.prototype.hasOwnProperty.call(patch, field) &&
577
- (field === 'mimeType' ||
578
- merged[field] !==
579
- existing.content[field]));
580
- }
581
- await checkBindingsOnUpdate(this, existing.typeId, id, patch, existing.content, merged);
582
- if (id === SYSTEM_TYPES.CONFIG) {
583
- checkConfigEntityIdUnchanged(existing.content.entityId, merged.entityId);
584
- }
564
+ await checkContentWrite(this, existing.typeId, merged, existing);
585
565
  return merged;
586
566
  }
587
567
  /**
@@ -945,17 +925,9 @@ export class Stack {
945
925
  if (errors.length > 0) {
946
926
  throw new StackValidationError(errors);
947
927
  }
948
- if (id === SYSTEM_TYPES.CONFIG) {
949
- checkConfigEntityIdUnchanged(existing.content.entityId, target.content.entityId);
950
- }
951
- // Restoring is a write like any other, so it owes the same immutability
952
- // check a content patch pays: a snapshot taken before a card claimed
953
- // its DID would otherwise move the binding by rolling content back.
954
- // Uniqueness needs none — a restore can only put back a value this same
955
- // card already held.
956
- for (const field of bindingFieldsOf(baseIdOf(target.typeId))) {
957
- checkBindingImmutable(baseIdOf(target.typeId), field, existing.content[field], target.content[field]);
958
- }
928
+ // Restoring is a write like any other, so it owes the checks every
929
+ // content write pays. See docs/spec/versioning.md § Restore semantics.
930
+ await checkContentWrite(this, target.typeId, target.content, existing);
959
931
  // A restore adds no containment edge and takes none away, so there is
960
932
  // no cycle for it to close and nothing for the destination checks to
961
933
  // gate. See docs/spec/versioning.md § Restore semantics.
@@ -1005,7 +977,6 @@ export class Stack {
1005
977
  assertContentSize(content, this.capabilities.limits.contentBytes, 'Content');
1006
978
  const fromFamily = baseIdOf(existing.typeId);
1007
979
  const toFamily = baseIdOf(toTypeId);
1008
- const existingContent = existing.content;
1009
980
  // Only create() stamps a group's first `admin`, so a record migrated
1010
981
  // *into* `_group` would have an empty roster. Version-to-version within
1011
982
  // the family keeps its roster. See docs/spec/data-model.md § Type migrations.
@@ -1013,21 +984,7 @@ export class Stack {
1013
984
  throw new StackConflictError('Cannot migrate a record into _group: a group’s admin roster is stamped at creation. ' +
1014
985
  'Create the group instead.');
1015
986
  }
1016
- if (fromFamily === SYSTEM_TYPES.ATTACHMENT) {
1017
- // Value-wise throughout: a migration re-sends all three required
1018
- // fields, so presence would refuse every migration of the family.
1019
- assertAttachmentImmutable((field) => content[field] !==
1020
- existingContent[field]);
1021
- }
1022
- else if (toFamily === SYSTEM_TYPES.ATTACHMENT) {
1023
- // A record arriving from outside the family stakes a fresh claim on
1024
- // its fileId, exactly as create() does — so it owes create()'s check.
1025
- await checkAttachmentMimeTypeOnCreate(this, content);
1026
- }
1027
- await checkBindingsOnMigrate(this, existing.typeId, toTypeId, id, existingContent, content);
1028
- if (id === SYSTEM_TYPES.CONFIG) {
1029
- checkConfigEntityIdUnchanged(existing.content.entityId, content.entityId);
1030
- }
987
+ await checkContentWrite(this, toTypeId, content, existing);
1031
988
  const change = new PendingChange('migrate', {
1032
989
  actor: normalizeActor(opts.actor),
1033
990
  previousTypeId: existing.typeId,
@@ -1056,8 +1013,8 @@ export class Stack {
1056
1013
  // never sees it and this is the only place it can be announced.
1057
1014
  const record = await this.adapter.putAttachmentWithMetadata(data, opts);
1058
1015
  // The one emission with no journal half of its own: the far side
1059
- // wrote the record, so it appended the entry in that same write —
1060
- // the same division saveVersion() follows over this adapter. See
1016
+ // wrote the record, so it appended the entry in that same write: a
1017
+ // server is the only writer of its own durable tiers. See
1061
1018
  // docs/spec/journal.md § The entry set is the event set.
1062
1019
  this.announce(new PendingChange('create'), record);
1063
1020
  return record;
@@ -1270,14 +1227,14 @@ export class Stack {
1270
1227
  return apps.planInstall(this, submitted, opts);
1271
1228
  }
1272
1229
  /**
1273
- * Apply an approved plan: types, the key's `_app` card, the `_install`
1274
- * Record and every linked key's grants. A plan the stack has moved on
1275
- * from is a StackConflictError, so what lands is what was approved.
1276
- * See docs/spec/apps.md § Plan, then apply.
1230
+ * Apply an approved manifest: its types, the key's `_app` card, the
1231
+ * `_install` Record and every linked key's grants — refused with
1232
+ * StackConflictError unless it still plans to `opts.fingerprint`, the
1233
+ * plan the owner approved. See docs/spec/apps.md § Plan, then apply.
1277
1234
  */
1278
- async installApp(plan) {
1235
+ async installApp(manifest, opts) {
1279
1236
  this.assertOpen();
1280
- return apps.installApp(this, plan);
1237
+ return apps.installApp(this, manifest, opts);
1281
1238
  }
1282
1239
  /**
1283
1240
  * Withdraw every grant an install produced and soft-delete it. The app's
@@ -1 +1 @@
1
- {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../src/stack/stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../src/stack/stack.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"system-types.d.ts","sourceRoot":"","sources":["../../src/stack/system-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAO,iBAAiB,EA+FzD,CAAC"}
1
+ {"version":3,"file":"system-types.d.ts","sourceRoot":"","sources":["../../src/stack/system-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAO,iBAAiB,EA6FzD,CAAC"}
@@ -17,9 +17,7 @@ export const systemTypeDefinitions = () => [
17
17
  id: `${SYSTEM_TYPES.CONFIG}@1`,
18
18
  name: 'Config',
19
19
  schema: {
20
- entityId: { kind: 'string', required: true },
21
- // Optional passthrough app metadata — see ConfigContent.timezone.
22
- timezone: { kind: 'string' },
20
+ ownerEntityId: { kind: 'string', required: true },
23
21
  },
24
22
  },
25
23
  {
@@ -1 +1 @@
1
- {"version":3,"file":"system-types.js","sourceRoot":"","sources":["../../src/stack/system-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-types.js","sourceRoot":"","sources":["../../src/stack/system-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-grants.d.ts","sourceRoot":"","sources":["../../src/stack/type-grants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,wBAAsB,SAAS,CAC7B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,WAAW,GAAG;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,CAQlD;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE,KAAK,EACZ,KAAK,CAAC,EAAE,UAAU,GACjB,OAAO,CAAC,CAAC,WAAW,GAAG;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,EAAE,CAAC,CAuBtD;AAED,wBAAsB,UAAU,CAC9B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,CAAC,WAAW,GAAG;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,EAAE,CAAC,CAiBtD"}
1
+ {"version":3,"file":"type-grants.d.ts","sourceRoot":"","sources":["../../src/stack/type-grants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,wBAAsB,SAAS,CAC7B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,WAAW,GAAG;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,CASlD;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE,KAAK,EACZ,KAAK,CAAC,EAAE,UAAU,GACjB,OAAO,CAAC,CAAC,WAAW,GAAG;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,EAAE,CAAC,CAuBtD;AAED,wBAAsB,UAAU,CAC9B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,CAAC,WAAW,GAAG;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,EAAE,CAAC,CAiBtD"}
@@ -5,14 +5,17 @@
5
5
  * doc comments describe the contract. Written against Stack's public API
6
6
  * alone. See docs/spec/access-control.md § Type-level grants.
7
7
  */
8
- import { checkGrantValid, grantCoversGrantee, grantReach, matchesGrantTarget, sameActions, validateGrantTarget, } from '../grants.js';
8
+ import { validateGrant, grantCoversGrantee, grantReach, matchesGrantTarget, sameActions, validateGrantTarget, } from '../grants.js';
9
+ import { ARGUMENTS_INVALID, StackValidationError } from '../errors.js';
9
10
  import { assertFamilyId } from '../query-validation.js';
10
11
  import { loadGrantRecords, loadRosterRoles } from './reads.js';
11
12
  import { Lazy } from '../lazy.js';
12
13
  import { SYSTEM_TYPES } from '../types/index.js';
13
14
  export async function grantType(stack, baseId, grant) {
14
15
  validateGrantTarget(grant.grantee);
15
- checkGrantValid(baseId, grant.actions);
16
+ const errors = validateGrant(baseId, grant.actions);
17
+ if (errors.length > 0)
18
+ throw new StackValidationError(errors, ARGUMENTS_INVALID);
16
19
  return stack.create(`${SYSTEM_TYPES.GRANT}@1`, {
17
20
  baseId,
18
21
  actions: grant.actions,
@@ -1 +1 @@
1
- {"version":3,"file":"type-grants.js","sourceRoot":"","sources":["../../src/stack/type-grants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-grants.js","sourceRoot":"","sources":["../../src/stack/type-grants.ts"],"names":[],"mappings":"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"}
package/dist/testing.d.ts CHANGED
@@ -8,10 +8,14 @@
8
8
  * exercising the capability-gated fallbacks. Audience: tests in this repo
9
9
  * and in apps built on it.
10
10
  */
11
- import type { StackAdapter, StackRecord, StackType, TypeId, RecordVersion, RecordJournalEntry, JournalOptions, MutateOptions, JournalQuery, VersionsQuery, AspectWriteOptions, ElementWriteOptions, AdapterQuery, QueryResult, AssociationEdit, AuthorityAssociation, DataAssociation, StackCapabilities, BlobInfo, Reach } from './types/index.js';
11
+ import type { StackAdapter, StackRecord, StackType, TypeId, RecordVersion, RecordJournalEntry, JournalOptions, MutateOptions, JournalQuery, VersionsQuery, AspectWriteOptions, ElementWriteOptions, AdapterQuery, QueryResult, AssociationEdit, AuthorityAssociation, DataAssociation, StackCapabilities, BlobInfo, Reach, RecordHistory, StoreSeed } from './types/index.js';
12
+ /** A fresh store's `_config`, or the seed a copy creates it from — never both. */
12
13
  export type MemoryAdapterOpenOptions = {
13
14
  ownerEntityId: string;
14
- timezone?: string;
15
+ seed?: never;
16
+ } | {
17
+ seed: StoreSeed;
18
+ ownerEntityId?: never;
15
19
  };
16
20
  /**
17
21
  * In-memory StackAdapter with keyed cursor pagination. Implements
@@ -23,7 +27,6 @@ export type MemoryAdapterOpenOptions = {
23
27
  export declare class MemoryAdapter implements StackAdapter {
24
28
  readonly capabilities: StackCapabilities;
25
29
  readonly ownerEntityId: string;
26
- readonly timezone: string | undefined;
27
30
  readonly records: Map<string, StackRecord>;
28
31
  readonly order: string[];
29
32
  readonly versions: Map<string, RecordVersion[]>;
@@ -34,7 +37,10 @@ export declare class MemoryAdapter implements StackAdapter {
34
37
  modifiedAt: Date;
35
38
  }>;
36
39
  protected constructor(opts: MemoryAdapterOpenOptions);
37
- /** Always a new, empty store; `ownerEntityId` is required so the mistake fails at compile time. */
40
+ /**
41
+ * Always a new store, holding only the `_config` record its seed carries;
42
+ * `ownerEntityId` or `seed` is required so the mistake fails at compile time.
43
+ */
38
44
  static open(opts: MemoryAdapterOpenOptions): Promise<MemoryAdapter>;
39
45
  createRecord(record: StackRecord, opts?: JournalOptions): Promise<{
40
46
  content: Record<string, unknown>;
@@ -52,6 +58,9 @@ export declare class MemoryAdapter implements StackAdapter {
52
58
  permissions?: AuthorityAssociation[];
53
59
  associations?: DataAssociation[];
54
60
  }>;
61
+ importRecord(record: StackRecord, history: RecordHistory): Promise<StackRecord>;
62
+ /** importRecord()'s write, synchronous so the constructor writes a seed the same way. */
63
+ private writeImported;
55
64
  getRecord(id: string): Promise<StackRecord | null>;
56
65
  /**
57
66
  * Advance a record one version, restamping the actor. An absent actor
@@ -126,18 +135,6 @@ export declare class MemoryAdapter implements StackAdapter {
126
135
  private sortEntry;
127
136
  getVersions(id: string, query?: VersionsQuery): Promise<RecordVersion[]>;
128
137
  getVersion(id: string, version: number): Promise<RecordVersion | null>;
129
- /**
130
- * Loud on a (record, version) collision, mirroring the real adapters'
131
- * UNIQUE constraint.
132
- */
133
- private insertVersionRow;
134
- /**
135
- * Standalone snapshot write for tooling and tests — loud on any
136
- * collision, since nothing here is about to bump the record's version.
137
- * Mutating methods take a `snapshot` option instead; see
138
- * snapshotBeforeMutation.
139
- */
140
- saveVersion(id: string, version: RecordVersion): Promise<void>;
141
138
  /**
142
139
  * The snapshot half of a mutating method's atomic snapshot-then-mutate
143
140
  * step. Mirrors the real adapters' snapshotBeforeMutation (see
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,MAAM,EACN,aAAa,EACb,kBAAkB,EAElB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EAEnB,YAAY,EAEZ,WAAW,EAGX,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,QAAQ,EACR,KAAK,EACL,aAAa,EACb,SAAS,EAEV,MAAM,kBAAkB,CAAC;AA6B1B,kFAAkF;AAClF,MAAM,MAAM,wBAAwB,GAChC;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,aAAa,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAE/C;;;;;;GAMG;AACH,qBAAa,aAAc,YAAW,YAAY;IAChD,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAgBtC;IAEF,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,OAAO,2BAAkC;IAClD,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAM;IAC9B,QAAQ,CAAC,QAAQ,+BAAsC;IACvD,QAAQ,CAAC,QAAQ,oCAA2C;IAC5D,QAAQ,CAAC,KAAK,yBAAgC;IAC9C,QAAQ,CAAC,KAAK;cAA2B,UAAU;oBAAc,IAAI;OAAM;IAG3E,SAAS,aAAa,IAAI,EAAE,wBAAwB;IAMpD;;;OAGG;WACU,IAAI,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC;IAInE,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,GAAE,cAAmB;;;;;;;;;;;;;;;;IAW3D,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa;IAI9D,yFAAyF;IACzF,OAAO,CAAC,aAAa;IAmBf,SAAS,CAAC,EAAE,EAAE,MAAM;IAI1B;;;;;OAKG;IACH,OAAO,CAAC,IAAI;IAUZ,wEAAwE;IACxE,OAAO,CAAC,oBAAoB;IAU5B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAOd,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC,EAAE,IAAI,GAAE,aAAkB;IAO9F,gEAAgE;IAChE,OAAO,CAAC,eAAe;IAOvB,8EAA8E;IAC9E,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,KAAK;IAUP,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,GAAE,kBAAuB;IAK5E,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,GAAE,kBAAuB;IAKxE,gBAAgB,CACpB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,eAAe,EAAE,EACxB,IAAI,GAAE,mBAAmB,CAAC,eAAe,CAAM;IAO3C,eAAe,CACnB,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,eAAe,EAAE,EAC/B,IAAI,GAAE,mBAAmB,CAAC,eAAe,CAAM;IAM3C,UAAU,CACd,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,eAAe,EAAE,EACxB,IAAI,GAAE,mBAAmB,CAAC,oBAAoB,CAAM;IAOhD,SAAS,CACb,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,oBAAoB,EAAE,EACnC,IAAI,GAAE,mBAAmB,CAAC,oBAAoB,CAAM;IAMtD,mFAAmF;IACnF,OAAO,CAAC,kBAAkB;IAYpB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,aAAkB;IA4BvE,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB;IAYzD,+EAA+E;IACzE,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAIvD,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;IAI5E,OAAO,CAAC,MAAM;IA0Gd,8EAA8E;IAC9E,OAAO,CAAC,cAAc;IAKtB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAYpB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAyBpB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAKnB,oFAAoF;IACpF,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,WAAW;IAUnB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAeX,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,GAAE,aAAkB;IAQjD,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAI5C;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAsBxB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB;IAgBpE,eAAe,CACnB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,IAAI,GAAE,aAAkB;IAe1B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAoBf,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,GAAE,YAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAU/E,QAAQ,CAAC,IAAI,EAAE,SAAS;IAGxB,OAAO,CAAC,EAAE,EAAE,MAAM;IAGlB,SAAS;IAIf,oGAAoG;IAC9F,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAO1C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAQ5C,UAAU,CAAC,MAAM,EAAE,MAAM;IAM/B,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAMnC;IAEF,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,qBAAa,sBAAuB,SAAQ,aAAa;IACvD,SAAkB,YAAY,EAAE,iBAAiB,CAgB/C;WAEoB,IAAI,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAG5F"}