@haverstack/core 0.38.0 → 0.40.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 (76) hide show
  1. package/README.md +79 -16
  2. package/dist/access.js +1 -1
  3. package/dist/access.js.map +1 -1
  4. package/dist/adapter-entry.d.ts +2 -1
  5. package/dist/adapter-entry.d.ts.map +1 -1
  6. package/dist/adapter-entry.js +2 -1
  7. package/dist/adapter-entry.js.map +1 -1
  8. package/dist/changes.js +3 -3
  9. package/dist/combine.d.ts.map +1 -1
  10. package/dist/combine.js +2 -3
  11. package/dist/combine.js.map +1 -1
  12. package/dist/errors.d.ts +16 -3
  13. package/dist/errors.d.ts.map +1 -1
  14. package/dist/errors.js +23 -2
  15. package/dist/errors.js.map +1 -1
  16. package/dist/grants.d.ts +9 -1
  17. package/dist/grants.d.ts.map +1 -1
  18. package/dist/grants.js +44 -4
  19. package/dist/grants.js.map +1 -1
  20. package/dist/index.d.ts +4 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +3 -0
  23. package/dist/index.js.map +1 -1
  24. package/dist/query-validation.d.ts +51 -1
  25. package/dist/query-validation.d.ts.map +1 -1
  26. package/dist/query-validation.js +155 -1
  27. package/dist/query-validation.js.map +1 -1
  28. package/dist/record-changes.d.ts +15 -1
  29. package/dist/record-changes.d.ts.map +1 -1
  30. package/dist/record-changes.js +33 -3
  31. package/dist/record-changes.js.map +1 -1
  32. package/dist/record-id.js +1 -1
  33. package/dist/record-id.js.map +1 -1
  34. package/dist/schema.d.ts +6 -7
  35. package/dist/schema.d.ts.map +1 -1
  36. package/dist/schema.js +33 -10
  37. package/dist/schema.js.map +1 -1
  38. package/dist/scoped-stack.d.ts +27 -17
  39. package/dist/scoped-stack.d.ts.map +1 -1
  40. package/dist/scoped-stack.js +111 -120
  41. package/dist/scoped-stack.js.map +1 -1
  42. package/dist/stack.d.ts +120 -44
  43. package/dist/stack.d.ts.map +1 -1
  44. package/dist/stack.js +153 -189
  45. package/dist/stack.js.map +1 -1
  46. package/dist/testing.d.ts +28 -11
  47. package/dist/testing.d.ts.map +1 -1
  48. package/dist/testing.js +42 -37
  49. package/dist/testing.js.map +1 -1
  50. package/dist/type-handle.d.ts +157 -0
  51. package/dist/type-handle.d.ts.map +1 -0
  52. package/dist/type-handle.js +131 -0
  53. package/dist/type-handle.js.map +1 -0
  54. package/dist/types.d.ts +63 -20
  55. package/dist/types.d.ts.map +1 -1
  56. package/dist/types.js.map +1 -1
  57. package/dist/validate.d.ts +7 -0
  58. package/dist/validate.d.ts.map +1 -1
  59. package/dist/validate.js +122 -7
  60. package/dist/validate.js.map +1 -1
  61. package/dist/wire-body.d.ts +79 -0
  62. package/dist/wire-body.d.ts.map +1 -0
  63. package/dist/wire-body.js +177 -0
  64. package/dist/wire-body.js.map +1 -0
  65. package/dist/wire-entry.d.ts +4 -2
  66. package/dist/wire-entry.d.ts.map +1 -1
  67. package/dist/wire-entry.js +8 -3
  68. package/dist/wire-entry.js.map +1 -1
  69. package/dist/wire-record.d.ts.map +1 -1
  70. package/dist/wire-record.js +27 -14
  71. package/dist/wire-record.js.map +1 -1
  72. package/dist/wire-request.d.ts +52 -2
  73. package/dist/wire-request.d.ts.map +1 -1
  74. package/dist/wire-request.js +222 -23
  75. package/dist/wire-request.js.map +1 -1
  76. package/package.json +1 -1
@@ -22,14 +22,18 @@ import { validatePatchValues } from './validate.js';
22
22
  import { checkAccess, groupRoleFromAssociations, isOwnerActingAlone } from './access.js';
23
23
  import { ChangeEmitter, Subscription, matchesFilter, passesUnlistedBoundary, assertSinceUsable, } from './changes.js';
24
24
  import { SYSTEM_TYPES } from './types.js';
25
- import { StackConflictError, StackError, StackNotFoundError, StackPermissionError, RelayScopeError, StackValidationError, } from './errors.js';
26
- import { assertAuthorityAssociations, assertDataAssociations, assertSortCapability, assertValidAssociationFilters, assertValidSort, filtersContent, } from './query-validation.js';
25
+ import { StackError, StackNotFoundError, StackPermissionError, RelayScopeError, StackValidationError, } from './errors.js';
26
+ import { assertAssociationEdits, assertAuthorityAssociations, assertDataAssociations, assertSortCapability, assertValidAssociationFilters, assertValidBaseIdFilter, assertValidSort, filtersContent, } from './query-validation.js';
27
27
  import { grantConveys, grantCoversGrantee, grantReach, loadGrantRecords, UNGRANTABLE_SYSTEM_TYPES, } from './grants.js';
28
28
  import { bindingFieldsOf } from './identity-bindings.js';
29
29
  import { assertAttachmentSize } from './limits.js';
30
30
  import { validateIdTimestampSkew, validateRecordId } from './record-id.js';
31
31
  import { DEFAULT_QUERY_LIMIT, MAX_QUERY_LIMIT, findFirstMatch, lookupEntityByDid, queryAllPages, } from './stack-reads.js';
32
32
  import { associationDelta, associationEqual, isGroupRecord, presentDeleted, withoutAuthorityChanges, assertNonEmptyChangeSet, } from './record-changes.js';
33
+ // Every import from stack.js is type-only: a ScopedStack never constructs
34
+ // a Stack, so nothing here closes a runtime cycle with stack.ts, which does
35
+ // construct a ScopedStack.
36
+ import { isTypeHandle, typedCreate, typedGet, typedMutate, typedQuery, typedSubscribe, } from './type-handle.js';
33
37
  /**
34
38
  * The authority lookups canRead needs, held for the life of one
35
39
  * subscription. A subscription is long-lived where a query is not, so the
@@ -196,7 +200,7 @@ export class ScopedStack {
196
200
  get capabilities() {
197
201
  return this.stack.capabilities;
198
202
  }
199
- resolveRecord = (id) => this.stack.get(id);
203
+ resolveRecord = (id) => this.stack.get(id, { includeDeleted: true });
200
204
  /** Every `_grant` Record — see loadGrantRecords(). */
201
205
  loadGrants = () => loadGrantRecords((q) => this.stack.query(q));
202
206
  /** Whether a delegated app is acting for someone other than itself. */
@@ -286,9 +290,8 @@ export class ScopedStack {
286
290
  grantRecords = prefetchedGrants;
287
291
  }
288
292
  else {
289
- // No content-field prefilter: a stored grant's typeId may be a bare
290
- // baseId or versioned, so exact matching would wrongly exclude family
291
- // versions. Cursor-walked to see grants past page one.
293
+ // Cursor-walked to see grants past page one. A stored baseId is
294
+ // judged by grantReach(), which refuses a versioned one.
292
295
  grantRecords = await this.loadGrants();
293
296
  }
294
297
  for (const r of grantRecords) {
@@ -424,13 +427,11 @@ export class ScopedStack {
424
427
  * the one way through it a `_grant` Record stays open to.
425
428
  */
426
429
  async requireUpdatable(id, opts = {}) {
427
- const mutating = opts.mutating ?? true;
428
430
  // The `_grant` write fence applies to mutating callers only: reading a
429
431
  // grant Record's history is not the escalation that fence exists to stop.
430
- const record = await this.requireVerb(id, ['update-own', 'update-any'], {
431
- fenceGrantRecord: mutating,
432
+ return this.requireVerb(id, ['update-own', 'update-any'], {
433
+ fenceGrantRecord: opts.mutating ?? true,
432
434
  });
433
- return this.refuseIfDeleted(record, mutating);
434
435
  }
435
436
  /**
436
437
  * The write gate both requireUpdatable() and requireDeletable() are: the
@@ -440,33 +441,26 @@ export class ScopedStack {
440
441
  * See docs/spec/access-control.md § Delegation: principal and subject.
441
442
  */
442
443
  async requireVerb(id, actions, opts) {
443
- const record = await this.stack.get(id);
444
+ const record = await this.stack.get(id, { includeDeleted: true });
444
445
  if (!record)
445
446
  throw new StackNotFoundError(`Record not found: "${id}"`);
446
447
  if (opts.fenceGrantRecord)
447
448
  await this.requireOwnerForGrantRecord(record);
448
449
  if (isGroupRecord(record)) {
449
- if (!this.isGroupManager(record))
450
- throw await this.denialFor(record);
450
+ if (!this.isGroupManager(record)) {
451
+ throw await this.denialFor(record, `Cannot change group "${id}": only its admins can manage it`);
452
+ }
451
453
  return record;
452
454
  }
453
- const allowed = ((await this.checkWrite(record)) ||
454
- (await this.subjectAllows(record.typeId, actions, { record }))) &&
455
- (await this.principalAllows(record.typeId, actions));
456
- if (!allowed)
457
- throw await this.denialFor(record);
458
- return record;
459
- }
460
- /**
461
- * Refuse a mutation aimed at a soft-deleted Record. Asked only of a
462
- * mutating caller, so the history readers borrowing this gate still work,
463
- * and only after the authority decision, so "exists but deleted" is never
464
- * a probe a stranger can run. See docs/spec/versioning.md § Mutations are
465
- * refused, not applied to a tombstone.
466
- */
467
- refuseIfDeleted(record, mutating) {
468
- if (mutating && record.deletedAt) {
469
- throw new StackConflictError(`Record "${record.id}" is soft-deleted; undelete it before mutating it.`);
455
+ const subjectReaches = (await this.checkWrite(record)) ||
456
+ (await this.subjectAllows(record.typeId, actions, { record }));
457
+ const principalHolds = await this.principalAllows(record.typeId, actions);
458
+ if (!subjectReaches || !principalHolds) {
459
+ const verb = actions[0].split('-')[0];
460
+ const what = `Cannot ${verb} "${id}" (${record.typeId})`;
461
+ throw await this.denialFor(record, subjectReaches
462
+ ? `${what}: the app acting for this entity holds no ${verb} grant`
463
+ : `${what}: requires ${actions.join(' or ')}`);
470
464
  }
471
465
  return record;
472
466
  }
@@ -492,7 +486,7 @@ export class ScopedStack {
492
486
  async canReadReferent(recordId) {
493
487
  if (this.ownerActingAlone)
494
488
  return true;
495
- const record = await this.stack.get(recordId);
489
+ const record = await this.stack.get(recordId, { includeDeleted: true });
496
490
  if (!record)
497
491
  return false;
498
492
  return this.canRead(record);
@@ -582,8 +576,9 @@ export class ScopedStack {
582
576
  const value = content[field];
583
577
  if (typeof value !== 'string')
584
578
  continue;
585
- if (!(await this.canAccessFile(value)))
586
- throw new StackPermissionError();
579
+ if (!(await this.canAccessFile(value))) {
580
+ throw new StackPermissionError(`Cannot reference file "${value}" in field "${field}": it does not exist or you cannot read it`);
581
+ }
587
582
  }
588
583
  }
589
584
  /**
@@ -600,8 +595,9 @@ export class ScopedStack {
600
595
  */
601
596
  async requireAssociationAccess(typeId, association) {
602
597
  if (association.kind === 'attachment') {
603
- if (!(await this.canAccessFile(association.fileId)))
604
- throw new StackPermissionError();
598
+ if (!(await this.canAccessFile(association.fileId))) {
599
+ throw new StackPermissionError(`Cannot reference file "${association.fileId}": it does not exist or you cannot read it`);
600
+ }
605
601
  }
606
602
  else if (association.kind === 'relationship' && baseIdOf(typeId) !== SYSTEM_TYPES.GROUP) {
607
603
  const { target } = association;
@@ -611,22 +607,16 @@ export class ScopedStack {
611
607
  // leave one spelling of a local Record ungated.
612
608
  if (target.kind !== 'record' || target.stackUrl)
613
609
  return;
614
- if (!(await this.canReadReferent(target.recordId)))
615
- throw new StackPermissionError();
610
+ if (!(await this.canReadReferent(target.recordId))) {
611
+ throw new StackPermissionError(`Cannot reference record "${target.recordId}": it does not exist or you cannot read it`);
612
+ }
616
613
  }
617
614
  }
618
- /**
619
- * Create a record on behalf of the subject: create grant required,
620
- * anonymous denied, `createdBy` set to the requester, client IDs skew-checked,
621
- * reference-creating options gated, and non-owner `_attachment@1`
622
- * creation refused save one carve-out. A scoped create always stamps
623
- * authorship — an absent `createdBy` means an unscoped `Stack` wrote it.
624
- * `createdAt`/`updatedAt` are refused to everyone but the owner acting
625
- * alone, rather than dropped, so an app never believes it published
626
- * something it didn't. See docs/spec/access-control.md and
627
- * docs/spec/data-model.md § Record IDs.
628
- */
629
- async create(typeId, content, opts = {}) {
615
+ async create(typeIdOrHandle, content, opts = {}) {
616
+ if (isTypeHandle(typeIdOrHandle)) {
617
+ return typedCreate(this, typeIdOrHandle, content, opts);
618
+ }
619
+ const typeId = typeIdOrHandle;
630
620
  const principal = this.#principalId;
631
621
  if (!principal)
632
622
  throw new StackPermissionError('Anonymous requesters cannot create records');
@@ -648,7 +638,7 @@ export class ScopedStack {
648
638
  if (!this.ownerActingAlone && baseIdOf(typeId) === SYSTEM_TYPES.ATTACHMENT) {
649
639
  const fileId = content.fileId;
650
640
  if (typeof fileId !== 'string' || !(await this.hasReadableReference(fileId))) {
651
- throw new StackPermissionError();
641
+ throw new StackPermissionError(`Cannot reference file "${String(fileId)}": it does not exist or you cannot read it`);
652
642
  }
653
643
  }
654
644
  if (opts.permissions?.length && !this.mayGrantAccess()) {
@@ -672,7 +662,7 @@ export class ScopedStack {
672
662
  }
673
663
  }
674
664
  if (opts.parentId !== undefined && !(await this.canReadReferent(opts.parentId))) {
675
- throw new StackPermissionError();
665
+ throw new StackPermissionError(`Cannot reference record "${opts.parentId}" as parent: it does not exist or you cannot read it`);
676
666
  }
677
667
  for (const assoc of opts.associations ?? []) {
678
668
  await this.requireAssociationAccess(typeId, assoc);
@@ -708,13 +698,11 @@ export class ScopedStack {
708
698
  return false;
709
699
  return entityId === this.stack.ownerEntityId || entityId === record.createdBy?.subjectId;
710
700
  }
711
- /**
712
- * A record this request may read, or null. Never throws
713
- * StackPermissionError: an unreadable record answers exactly as a missing
714
- * one does, so a caller learns only what it may read.
715
- * See docs/spec/disclosure.md § Which refusal a Record answers with.
716
- */
717
- async get(id, opts = {}) {
701
+ async get(idOrHandle, idOrOpts = {}) {
702
+ if (isTypeHandle(idOrHandle))
703
+ return typedGet(this, idOrHandle, idOrOpts);
704
+ const id = idOrHandle;
705
+ const opts = idOrOpts;
718
706
  const record = await this.stack.get(id, opts);
719
707
  if (!record)
720
708
  return null;
@@ -734,16 +722,14 @@ export class ScopedStack {
734
722
  async getOwnerEntity() {
735
723
  return this.getEntityByDid(this.stack.ownerEntityId);
736
724
  }
737
- /**
738
- * Query records, filtered to those this request can read. Pages are
739
- * filtered then refilled, so a page may slightly overshoot `limit` but
740
- * never skips a record. Grants are prefetched once, cursor-walked to
741
- * exhaustion.
742
- */
743
- async query(query = {}) {
725
+ async query(first = {}, typedQueryArg) {
726
+ if (isTypeHandle(first))
727
+ return typedQuery(this, first, typedQueryArg);
728
+ const query = first;
744
729
  assertValidSort(query.sort);
745
730
  assertSortCapability(query.sort, this.stack.capabilities);
746
731
  assertValidAssociationFilters(query.filter);
732
+ assertValidBaseIdFilter(query.filter);
747
733
  if (query.filter?.includeUnlisted && !this.ownerActingAlone) {
748
734
  throw new StackPermissionError('includeUnlisted is owner-only');
749
735
  }
@@ -771,17 +757,13 @@ export class ScopedStack {
771
757
  } while (records.length < limit && page.cursor && totalFetched < maxFetched);
772
758
  return { records, cursor: page.cursor };
773
759
  }
774
- /**
775
- * Apply a change set on behalf of the subject. Authority is resolved
776
- * **per key** and every gate reads the record as it stands, never as the
777
- * change set would leave it: a widened `permissions` never satisfies the
778
- * read check on a `parentId` named in the same call, and a `_group`
779
- * roster never satisfies the admin check that same call has to pass.
780
- * One refused key refuses the whole call, so nothing is partially
781
- * applied and no key is silently dropped.
782
- * See docs/spec/access-control.md § Composing a change set.
783
- */
784
- async mutate(id, changes, opts = {}) {
760
+ async mutate(first, second, third, fourth = {}) {
761
+ if (isTypeHandle(first)) {
762
+ return typedMutate(this, first, second, third, fourth);
763
+ }
764
+ const id = first;
765
+ const changes = second;
766
+ const opts = (third ?? {});
785
767
  // Ahead of every gate: a malformed change set is a validation error
786
768
  // for every requester, rather than one for the owner and a permission
787
769
  // refusal for everyone else.
@@ -856,12 +838,15 @@ export class ScopedStack {
856
838
  await this.requireAssociationAccess(record.typeId, assoc);
857
839
  }
858
840
  if (changes.parentId != null && !(await this.canReadReferent(changes.parentId))) {
859
- throw new StackPermissionError();
841
+ throw new StackPermissionError(`Cannot reference record "${changes.parentId}" as parent: it does not exist or you cannot read it`);
860
842
  }
861
843
  return this.stack.mutate(id, authorized, { ...opts, ...this.actor });
862
844
  }
863
- async patchContent(id, patch, opts = {}) {
864
- return this.mutate(id, { contentPatch: patch }, opts);
845
+ async patchContent(first, second, third, fourth) {
846
+ if (isTypeHandle(first)) {
847
+ return this.mutate(first, second, { contentPatch: third }, fourth);
848
+ }
849
+ return this.mutate(first, { contentPatch: second }, third);
865
850
  }
866
851
  /**
867
852
  * The record, having established that this request may decide who else
@@ -871,15 +856,12 @@ export class ScopedStack {
871
856
  * deliberately does not confer.
872
857
  */
873
858
  async requireReshareable(id) {
874
- const record = await this.stack.get(id);
859
+ const record = await this.stack.get(id, { includeDeleted: true });
875
860
  if (!record)
876
861
  throw new StackNotFoundError(`Record not found: "${id}"`);
877
862
  await this.requireOwnerForGrantRecord(record);
878
863
  await this.requireReshareOf(record);
879
- // Reached through its own gate rather than requireUpdatable(), so the
880
- // soft-delete refusal has to be asked here too — after the authority
881
- // decision above, for the reason refuseIfDeleted() gives.
882
- return this.refuseIfDeleted(record, true);
864
+ return record;
883
865
  }
884
866
  /**
885
867
  * Whether a change set's `permissions` key actually moves the ACL. Read
@@ -896,8 +878,9 @@ export class ScopedStack {
896
878
  }
897
879
  /** The reshare decision alone, for a record already read and write-gated. */
898
880
  async requireReshareOf(record) {
899
- if (!this.canReshare(record))
900
- throw await this.denialFor(record);
881
+ if (!this.canReshare(record)) {
882
+ throw await this.denialFor(record, `Cannot change permissions on "${record.id}": only its author or the stack owner can reshare it`);
883
+ }
901
884
  }
902
885
  /**
903
886
  * Whether this request may decide who else reaches `record` — the
@@ -993,22 +976,31 @@ export class ScopedStack {
993
976
  throw await this.denialFor(record, 'Only the stack owner may write a _grant record');
994
977
  }
995
978
  /**
996
- * Gated on the write bit alone, which is why the kind refusal comes
997
- * first: authority reached through this verb would be exactly the
979
+ * Gated on the write bit alone, which is why the list is held to its
980
+ * rules first: authority reached through this verb would be exactly the
998
981
  * escalation the partition exists to stop, decided before any record is
999
982
  * read so it cannot depend on who is asking.
1000
983
  */
1001
- async associate(id, association) {
1002
- assertDataAssociations([association], 'associate()');
1003
- const record = await this.requireUpdatable(id);
1004
- await this.requireAssociationAccess(record.typeId, association);
1005
- return this.stack.associate(id, association, this.actor);
984
+ async associate(id, associations) {
985
+ return this.amendAssociations(id, associations.map((association) => ({ op: 'add', association })), 'associate()');
1006
986
  }
1007
987
  /** See associate() — the same write gate, the same kind refusal. */
1008
- async dissociate(id, association) {
1009
- assertDataAssociations([association], 'dissociate()');
1010
- await this.requireUpdatable(id);
1011
- return this.stack.dissociate(id, association, this.actor);
988
+ async dissociate(id, associations) {
989
+ return this.amendAssociations(id, associations.map((association) => ({ op: 'remove', association })), 'dissociate()');
990
+ }
991
+ /**
992
+ * The write gate, plus the per-element reference gate on each add: what a
993
+ * remove names is already on the record, so it is gated by the write bit
994
+ * alone. See associate().
995
+ */
996
+ async amendAssociations(id, changes, surface = 'amendAssociations()') {
997
+ assertAssociationEdits(changes, surface, 'data');
998
+ const record = await this.requireUpdatable(id);
999
+ for (const change of changes) {
1000
+ if (change.op === 'add')
1001
+ await this.requireAssociationAccess(record.typeId, change.association);
1002
+ }
1003
+ return this.stack.amendAssociations(id, changes, this.actor, surface);
1012
1004
  }
1013
1005
  /**
1014
1006
  * Extend who reaches a record — the reshare gate's own verb, on the
@@ -1018,16 +1010,18 @@ export class ScopedStack {
1018
1010
  * scoping access is for.
1019
1011
  * See docs/spec/access-control.md § Record-level permissions.
1020
1012
  */
1021
- async grantAccess(id, permission) {
1022
- assertAuthorityAssociations([permission], 'grantAccess()');
1023
- await this.requireReshareable(id);
1024
- return this.stack.grantAccess(id, permission, this.actor);
1013
+ async grantAccess(id, permissions) {
1014
+ return this.amendAccess(id, permissions.map((association) => ({ op: 'add', association })), 'grantAccess()');
1025
1015
  }
1026
- /** Withdraw one element of who reaches a record — see grantAccess(). */
1027
- async revokeAccess(id, permission) {
1028
- assertAuthorityAssociations([permission], 'revokeAccess()');
1016
+ /** Withdraw elements of who reaches a record — see grantAccess(). */
1017
+ async revokeAccess(id, permissions) {
1018
+ return this.amendAccess(id, permissions.map((association) => ({ op: 'remove', association })), 'revokeAccess()');
1019
+ }
1020
+ /** The reshare gate over an edit list — see grantAccess(). */
1021
+ async amendAccess(id, changes, surface = 'amendAccess()') {
1022
+ assertAssociationEdits(changes, surface, 'authority');
1029
1023
  await this.requireReshareable(id);
1030
- return this.stack.revokeAccess(id, permission, this.actor);
1024
+ return this.stack.amendAccess(id, changes, this.actor, surface);
1031
1025
  }
1032
1026
  /**
1033
1027
  * Purge is owner-only: it is irreversible and destroys version
@@ -1069,9 +1063,9 @@ export class ScopedStack {
1069
1063
  * already read got that way is not the escalation that fence exists to
1070
1064
  * stop. See docs/spec/versioning.md § History access.
1071
1065
  */
1072
- async getVersions(id) {
1066
+ async getVersions(id, query = {}) {
1073
1067
  await this.requireUpdatable(id, { mutating: false });
1074
- return this.stack.getVersions(id);
1068
+ return this.stack.getVersions(id, query);
1075
1069
  }
1076
1070
  /**
1077
1071
  * See getVersions() — the same mutate-surface gate, for the same reason.
@@ -1169,8 +1163,9 @@ export class ScopedStack {
1169
1163
  * predicate as the reference-creation gate (canAccessFile).
1170
1164
  */
1171
1165
  async getAttachment(fileId) {
1172
- if (!(await this.canAccessFile(fileId)))
1173
- throw new StackPermissionError();
1166
+ if (!(await this.canAccessFile(fileId))) {
1167
+ throw new StackPermissionError(`Cannot read file "${fileId}": it does not exist or you cannot read it`);
1168
+ }
1174
1169
  return this.stack.getAttachment(fileId);
1175
1170
  }
1176
1171
  /**
@@ -1189,17 +1184,12 @@ export class ScopedStack {
1189
1184
  this.requireOwnerActingAlone('Only the stack owner can collect attachment garbage');
1190
1185
  return this.stack.collectAttachmentGarbage({ ...opts, ...this.actor });
1191
1186
  }
1192
- /**
1193
- * Observe the changes this request may read. The predicate is canRead
1194
- * applied per event — the same one get() and query() answer with, so a
1195
- * feed can't disagree with them about what this session sees.
1196
- *
1197
- * A record the subscriber cannot read produces no event at all, rather
1198
- * than an empty or redacted one: the existence of a change is itself a
1199
- * disclosure, the same reasoning that keeps a count of the whole match
1200
- * off a query result. See docs/spec/events.md § Permission scoping.
1201
- */
1202
- async subscribe(handler, opts = {}) {
1187
+ async subscribe(first, second, third) {
1188
+ if (isTypeHandle(first)) {
1189
+ return typedSubscribe(this, first, second, third);
1190
+ }
1191
+ const handler = first;
1192
+ const opts = (second ?? {});
1203
1193
  this.assertStackOpen();
1204
1194
  if (this.relaysChanges) {
1205
1195
  throw new RelayScopeError('This stack relays changes from elsewhere, and a scoped view cannot narrow that feed: ' +
@@ -1209,6 +1199,7 @@ export class ScopedStack {
1209
1199
  // A relaying stack was already refused above, so relaysChanges is
1210
1200
  // always false here — `since` never has a cursor to mean anything by.
1211
1201
  assertSinceUsable(opts.since, false);
1202
+ assertValidBaseIdFilter(opts.filter);
1212
1203
  if (opts.includeUnlisted && !this.ownerActingAlone) {
1213
1204
  throw new StackPermissionError('includeUnlisted is owner-only');
1214
1205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scoped-stack.js","sourceRoot":"","sources":["../src/scoped-stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scoped-stack.js","sourceRoot":"","sources":["../src/scoped-stack.ts"],"names":[],"mappings":"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"}