@haverstack/core 0.33.0 → 0.36.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 -1
- package/dist/access.d.ts +39 -34
- package/dist/access.d.ts.map +1 -1
- package/dist/access.js +94 -68
- package/dist/access.js.map +1 -1
- package/dist/changes.d.ts +74 -58
- package/dist/changes.d.ts.map +1 -1
- package/dist/changes.js +115 -101
- package/dist/changes.js.map +1 -1
- package/dist/combine.d.ts.map +1 -1
- package/dist/combine.js +7 -0
- package/dist/combine.js.map +1 -1
- package/dist/grants.d.ts +78 -33
- package/dist/grants.d.ts.map +1 -1
- package/dist/grants.js +164 -72
- package/dist/grants.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/query-validation.d.ts +30 -1
- package/dist/query-validation.d.ts.map +1 -1
- package/dist/query-validation.js +128 -2
- package/dist/query-validation.js.map +1 -1
- package/dist/record-changes.d.ts +77 -57
- package/dist/record-changes.d.ts.map +1 -1
- package/dist/record-changes.js +153 -89
- package/dist/record-changes.js.map +1 -1
- package/dist/scoped-stack.d.ts +120 -120
- package/dist/scoped-stack.d.ts.map +1 -1
- package/dist/scoped-stack.js +210 -190
- package/dist/scoped-stack.js.map +1 -1
- package/dist/stack.d.ts +178 -168
- package/dist/stack.d.ts.map +1 -1
- package/dist/stack.js +346 -277
- package/dist/stack.js.map +1 -1
- package/dist/testing.d.ts +16 -5
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +124 -52
- package/dist/testing.js.map +1 -1
- package/dist/types.d.ts +155 -113
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +0 -2
- package/dist/validate.js.map +1 -1
- package/dist/wire-record.d.ts.map +1 -1
- package/dist/wire-record.js.map +1 -1
- package/package.json +1 -1
package/dist/stack.d.ts
CHANGED
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
*
|
|
14
14
|
* Apps should never talk to a StackAdapter directly.
|
|
15
15
|
*/
|
|
16
|
-
import type { StackRecord, StackType, TypeSchema, TypeId, StackAdapter, StackQuery, QueryResult,
|
|
17
|
-
import type { GrantTarget } from './grants.js';
|
|
16
|
+
import type { StackRecord, StackType, TypeSchema, TypeId, StackAdapter, StackQuery, QueryResult, AuthorityAssociation, DataAssociation, Migration, RecordVersion, StackFeatures, GrantAction, AttachmentContent, FileId, EntityId, AppId, TokenSession, ActorOptions, RecordChange, RecordChanges, SubscribeOptions, Unsubscribe, JournalQuery, RecordJournalEntry } from './types.js';
|
|
17
|
+
import type { GrantQuery, GrantTarget } from './grants.js';
|
|
18
18
|
import { ScopedStack } from './scoped-stack.js';
|
|
19
19
|
export type CreateRecordOptions = {
|
|
20
20
|
/**
|
|
@@ -34,8 +34,8 @@ export type CreateRecordOptions = {
|
|
|
34
34
|
* reconstructing a delegated write. See StackRecord.principalId.
|
|
35
35
|
*/
|
|
36
36
|
principalId?: EntityId;
|
|
37
|
-
permissions?:
|
|
38
|
-
associations?:
|
|
37
|
+
permissions?: AuthorityAssociation[];
|
|
38
|
+
associations?: DataAssociation[];
|
|
39
39
|
/**
|
|
40
40
|
* Create the record already unlisted, so the create event itself is
|
|
41
41
|
* withheld from the feed — there is no window where the record exists
|
|
@@ -46,16 +46,11 @@ export type CreateRecordOptions = {
|
|
|
46
46
|
};
|
|
47
47
|
/**
|
|
48
48
|
* CreateRecordOptions extended with createdAt/updatedAt, for backdating a
|
|
49
|
-
* record's clock fields on import
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
* either could otherwise forge a sort position the same way a raw `id`
|
|
55
|
-
* could. A server built on ScopedStack inherits this automatically: an
|
|
56
|
-
* owner-authenticated `POST /records` may carry both fields; anyone else's
|
|
57
|
-
* request has them ignored, as before. See docs/spec/data-model.md §
|
|
58
|
-
* Record IDs and docs/spec/wire-format.md § Records.
|
|
49
|
+
* record's clock fields on import. Unscoped Stack.create() accepts them
|
|
50
|
+
* unconditionally; ScopedStack.create() only from the stack owner acting
|
|
51
|
+
* alone, since a grantee or a delegated app could otherwise forge a sort
|
|
52
|
+
* position the same way a raw `id` could.
|
|
53
|
+
* See docs/spec/data-model.md § Record IDs.
|
|
59
54
|
*/
|
|
60
55
|
export type BackdatableCreateRecordOptions = CreateRecordOptions & {
|
|
61
56
|
/**
|
|
@@ -138,6 +133,22 @@ export type DeleteRecordOptions = IfVersionOptions & {
|
|
|
138
133
|
/** If true, permanently remove the record and all its history. Default: false */
|
|
139
134
|
hard?: boolean;
|
|
140
135
|
};
|
|
136
|
+
/**
|
|
137
|
+
* What a delete reports back. Information, not action: a purge never
|
|
138
|
+
* touches the blob store, and nothing here is deleted by having been
|
|
139
|
+
* named. See docs/spec/attachments.md § A purge strands the bytes it
|
|
140
|
+
* referenced.
|
|
141
|
+
*/
|
|
142
|
+
export type DeleteResult = {
|
|
143
|
+
/**
|
|
144
|
+
* The files the purged record referenced — its attachment associations
|
|
145
|
+
* and its `file-ref` content fields, deduplicated. The purge removes the
|
|
146
|
+
* only rows naming them, so this is the caller's one chance to hold the
|
|
147
|
+
* argument `deleteAttachment()` takes. Empty on a soft delete, which
|
|
148
|
+
* strands nothing: a tombstone's references stand.
|
|
149
|
+
*/
|
|
150
|
+
referencedFileIds: FileId[];
|
|
151
|
+
};
|
|
141
152
|
export type DefineTypeOptions = {
|
|
142
153
|
migratesFrom?: TypeId;
|
|
143
154
|
};
|
|
@@ -165,8 +176,9 @@ export interface StackClient {
|
|
|
165
176
|
getOwnerEntity(): Promise<StackRecord | null>;
|
|
166
177
|
/**
|
|
167
178
|
* Apply a change set: any combination of content patch, `parentId`,
|
|
168
|
-
* `permissions`, `associations` and `unlisted`, in one atomic write
|
|
169
|
-
* producing one version
|
|
179
|
+
* `permissions`, `associations` and `unlisted`, in one atomic write —
|
|
180
|
+
* producing one version where it names `contentPatch`, and none where it
|
|
181
|
+
* doesn't. Keys are read for presence, so `unlisted: false`
|
|
170
182
|
* and `parentId: null` are changes; a change set naming no key at all is
|
|
171
183
|
* a StackQueryError. Under ScopedStack each key carries its own gate and
|
|
172
184
|
* one refused key refuses the call.
|
|
@@ -177,14 +189,22 @@ export interface StackClient {
|
|
|
177
189
|
patchContent(id: string, patch: Record<string, unknown | null>, opts?: IfVersionOptions): Promise<StackRecord>;
|
|
178
190
|
/**
|
|
179
191
|
* Add an association. Never bumps `version`/`updatedAt` and takes no
|
|
180
|
-
* `ifVersion` — a set-add composes
|
|
181
|
-
*
|
|
182
|
-
* history.
|
|
192
|
+
* `ifVersion` — a set-add composes regardless of write order.
|
|
193
|
+
* See docs/spec/versioning.md § Version history.
|
|
183
194
|
*/
|
|
184
|
-
associate(id: string, association:
|
|
195
|
+
associate(id: string, association: DataAssociation): Promise<StackRecord>;
|
|
185
196
|
/** Remove an association. Never bumps `version`/`updatedAt` — see associate(). */
|
|
186
|
-
dissociate(id: string, association:
|
|
187
|
-
|
|
197
|
+
dissociate(id: string, association: DataAssociation): Promise<StackRecord>;
|
|
198
|
+
/**
|
|
199
|
+
* Extend who reaches a record by one element — the record-level mirror of
|
|
200
|
+
* the type-level `grant()`, and the amending spelling of the
|
|
201
|
+
* `permissions` key, which replaces the whole set. No-bump, like
|
|
202
|
+
* associate(). See docs/spec/access-control.md § Record-level permissions.
|
|
203
|
+
*/
|
|
204
|
+
grantAccess(id: string, permission: AuthorityAssociation): Promise<StackRecord>;
|
|
205
|
+
/** Withdraw one element of who reaches a record — see grantAccess(). */
|
|
206
|
+
revokeAccess(id: string, permission: AuthorityAssociation): Promise<StackRecord>;
|
|
207
|
+
delete(id: string, opts?: DeleteRecordOptions): Promise<DeleteResult>;
|
|
188
208
|
undelete(id: string, opts?: IfVersionOptions): Promise<StackRecord>;
|
|
189
209
|
getVersions(id: string): Promise<RecordVersion[]>;
|
|
190
210
|
getVersion(id: string, version: number): Promise<RecordVersion | null>;
|
|
@@ -193,15 +213,10 @@ export interface StackClient {
|
|
|
193
213
|
* A record's change journal, oldest first. On the mutate surface, on the
|
|
194
214
|
* same footing as getVersions() — a plain reader is refused.
|
|
195
215
|
*
|
|
196
|
-
*
|
|
197
|
-
*
|
|
198
|
-
*
|
|
199
|
-
*
|
|
200
|
-
* than making it optional: an adapter with nothing to read refuses and
|
|
201
|
-
* names why, so an empty log always means "nothing changed" and never
|
|
202
|
-
* "this stack does not remember". A caller deserves that refusal over a
|
|
203
|
-
* method that isn't there. See docs/spec/versioning.md § The change
|
|
204
|
-
* journal.
|
|
216
|
+
* Required of every adapter rather than optional, which is why it sits
|
|
217
|
+
* here beside the rest: an empty log has to mean "nothing changed"
|
|
218
|
+
* unconditionally, so an adapter with nothing to read refuses and names
|
|
219
|
+
* why instead. See docs/spec/journal.md § Reading it.
|
|
205
220
|
*/
|
|
206
221
|
getJournal(id: string, query?: JournalQuery): Promise<RecordJournalEntry[]>;
|
|
207
222
|
/**
|
|
@@ -254,7 +269,7 @@ export declare class Stack implements StackClient {
|
|
|
254
269
|
* and nothing about work they deferred. A handler cannot fail the write:
|
|
255
270
|
* there is nothing left to fail. See docs/spec/events.md § Handlers.
|
|
256
271
|
*/
|
|
257
|
-
private
|
|
272
|
+
private announce;
|
|
258
273
|
/**
|
|
259
274
|
* The actor for a `create` journal entry, read off the record as just
|
|
260
275
|
* built. Create is the one journaled write that stamps the requester
|
|
@@ -389,20 +404,14 @@ export declare class Stack implements StackClient {
|
|
|
389
404
|
*/
|
|
390
405
|
get(id: string, opts?: GetRecordOptions): Promise<StackRecord | null>;
|
|
391
406
|
/**
|
|
392
|
-
* Apply a change set —
|
|
393
|
-
*
|
|
394
|
-
*
|
|
395
|
-
* `unlisted: false` and `parentId: null` are changes.
|
|
396
|
-
*
|
|
397
|
-
* Every key present is checked against the record as it stands, and a
|
|
398
|
-
* change set already satisfied in all of them writes nothing and returns
|
|
399
|
-
* the record unchanged. The ops the change event carries are derived
|
|
400
|
-
* from that same comparison, so naming an aspect without moving it is
|
|
401
|
-
* never reported as moving it.
|
|
407
|
+
* Apply a change set as one atomic write — see the StackClient
|
|
408
|
+
* declaration above for what it accepts. Atomicity is what it is for: a
|
|
409
|
+
* publish is one act, so nothing it names may half-land.
|
|
402
410
|
*
|
|
403
|
-
*
|
|
404
|
-
*
|
|
405
|
-
*
|
|
411
|
+
* Every key present is checked against the record as it stands, and a set
|
|
412
|
+
* already satisfied in all of them writes nothing. Content is validated
|
|
413
|
+
* against the record's *current* stored type; `typeId` never changes here.
|
|
414
|
+
* See docs/spec/data-model.md § Mutations.
|
|
406
415
|
*/
|
|
407
416
|
mutate(id: string, changes: RecordChanges, opts?: IfVersionOptions & ActorOptions): Promise<StackRecord>;
|
|
408
417
|
/**
|
|
@@ -424,52 +433,58 @@ export declare class Stack implements StackClient {
|
|
|
424
433
|
*/
|
|
425
434
|
private validateChangeSet;
|
|
426
435
|
/**
|
|
427
|
-
* Refuse a write that would leave a `_group` Record with no `admin` on
|
|
428
|
-
*
|
|
429
|
-
*
|
|
430
|
-
*
|
|
431
|
-
*
|
|
432
|
-
*
|
|
433
|
-
* That framing is the whole of the self-removal question: an `admin`
|
|
434
|
-
* removing themselves passes while another remains and is refused when
|
|
435
|
-
* they are the last, and neither case needs to know whose entry went.
|
|
436
|
+
* Refuse a write that would leave a `_group` Record with no `admin` on its
|
|
437
|
+
* roster. Asked of the roster the write would *produce*, which is the
|
|
438
|
+
* whole of the self-removal question: an admin removing themselves passes
|
|
439
|
+
* while another remains and is refused when they are the last, without
|
|
440
|
+
* either case naming who is going.
|
|
436
441
|
*
|
|
437
|
-
*
|
|
438
|
-
*
|
|
439
|
-
*
|
|
440
|
-
* requester — the stack owner included, who would otherwise be the hole
|
|
441
|
-
* that stops anything downstream relying on the invariant.
|
|
442
|
-
* See docs/spec/identity.md § Group.
|
|
442
|
+
* An integrity constraint on the Record, not a permission question, so it
|
|
443
|
+
* lives here rather than in `ScopedStack` and binds every requester — the
|
|
444
|
+
* stack owner included. See docs/spec/identity.md § Group.
|
|
443
445
|
*/
|
|
444
446
|
private assertGroupAdminRemains;
|
|
445
447
|
/**
|
|
446
|
-
* Add an association to a record
|
|
447
|
-
*
|
|
448
|
-
* order, so it needs neither the OCC `ifVersion` guards content,
|
|
449
|
-
* `parentId` and `permissions`, nor the rollback history that guards.
|
|
450
|
-
* See docs/spec/versioning.md § Version history.
|
|
448
|
+
* Add an association to a record — no-bump and no snapshot, per the
|
|
449
|
+
* StackClient declaration above.
|
|
451
450
|
*
|
|
452
451
|
* An association the record already holds, saying the same thing, is a
|
|
453
452
|
* no-op; one matching an existing association's identity but naming a
|
|
454
453
|
* different `attachmentRecordId` — or none, which clears the one stored —
|
|
455
|
-
* re-points
|
|
456
|
-
*
|
|
457
|
-
*
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
454
|
+
* re-points it in place rather than adding a second reference to the same
|
|
455
|
+
* file. What a re-point overwrote is kept only by the journal, on that
|
|
456
|
+
* entry's `repoint`. See docs/spec/journal.md § The entry.
|
|
457
|
+
*/
|
|
458
|
+
associate(id: string, association: DataAssociation, opts?: ActorOptions): Promise<StackRecord>;
|
|
459
|
+
/**
|
|
460
|
+
* Remove an association from a record — see associate(). Matched by kind,
|
|
461
|
+
* label and payload; a no-op if not found. The emitted event names the
|
|
462
|
+
* association by identity only, since an attachment's
|
|
463
|
+
* `attachmentRecordId` describes nothing current once it is gone; the
|
|
464
|
+
* journal is where it survives.
|
|
461
465
|
*/
|
|
462
|
-
|
|
466
|
+
dissociate(id: string, association: DataAssociation, opts?: ActorOptions): Promise<StackRecord>;
|
|
463
467
|
/**
|
|
464
|
-
*
|
|
465
|
-
*
|
|
466
|
-
*
|
|
467
|
-
*
|
|
468
|
-
*
|
|
469
|
-
* docs/spec/events.md § The event shape. Returns the record as it now
|
|
470
|
-
* stands — unchanged on a no-op.
|
|
468
|
+
* Extend who reaches a record by one element. The spelling that survives
|
|
469
|
+
* two admins sharing a record at once: a `permissions` key write replaces
|
|
470
|
+
* the whole set, so the later of two concurrent ones drops what the
|
|
471
|
+
* earlier granted. No-bump, like associate(); an element the record
|
|
472
|
+
* already carries is a no-op.
|
|
471
473
|
*/
|
|
472
|
-
|
|
474
|
+
grantAccess(id: string, permission: AuthorityAssociation, opts?: ActorOptions): Promise<StackRecord>;
|
|
475
|
+
/**
|
|
476
|
+
* Withdraw one element of who reaches a record — see grantAccess() for
|
|
477
|
+
* why this is a verb rather than a key write. An element the record does
|
|
478
|
+
* not carry is a no-op. Returns the record as it now stands.
|
|
479
|
+
*/
|
|
480
|
+
revokeAccess(id: string, permission: AuthorityAssociation, opts?: ActorOptions): Promise<StackRecord>;
|
|
481
|
+
/**
|
|
482
|
+
* Hold a permission set to the cross-element invariant — see
|
|
483
|
+
* validatePermissions() in access.ts for why it reads the post-state.
|
|
484
|
+
*/
|
|
485
|
+
private assertPermissionSet;
|
|
486
|
+
/** The record, or the not-found refusal every mutating verb owes. */
|
|
487
|
+
private requireRecord;
|
|
473
488
|
/**
|
|
474
489
|
* The checks a *caller-named* destination owes, before the cycle walk:
|
|
475
490
|
* `parentId` is a real, well-formed record id. Format first, so a
|
|
@@ -484,24 +499,18 @@ export declare class Stack implements StackClient {
|
|
|
484
499
|
private assertParentExists;
|
|
485
500
|
/**
|
|
486
501
|
* Refuse an edge that would make a record its own ancestor — asked at
|
|
487
|
-
* every site that adds one
|
|
488
|
-
*
|
|
489
|
-
* downstream (a generator deriving a page path, a folder view) is
|
|
490
|
-
* written to survive a cycle.
|
|
502
|
+
* every site that adds one. Nothing downstream (a generator deriving a
|
|
503
|
+
* page path, a folder view) is written to survive a cycle.
|
|
491
504
|
*
|
|
492
|
-
* Walks with the unscoped adapter
|
|
493
|
-
*
|
|
494
|
-
*
|
|
495
|
-
* because a chain long enough to exhaust it is already pathological.
|
|
505
|
+
* Walks with the unscoped adapter: a walk that skipped the links a
|
|
506
|
+
* requester cannot read would let a cycle be assembled through them and
|
|
507
|
+
* break the invariant for every reader.
|
|
496
508
|
*
|
|
497
509
|
* Read-then-write, so two moves racing on opposite ends of one chain can
|
|
498
|
-
* both pass —
|
|
499
|
-
*
|
|
500
|
-
*
|
|
501
|
-
*
|
|
502
|
-
* carry a visited set rather than trust this alone; MAX_PARENT_DEPTH is
|
|
503
|
-
* the same posture applied here.
|
|
504
|
-
* See docs/spec/data-model.md § Reparenting.
|
|
510
|
+
* both pass — the same deferral as checkBindingUnique() above, since
|
|
511
|
+
* closing it would put a graph constraint in the storage contract.
|
|
512
|
+
* Consumers walking `parentId` should carry a visited set rather than
|
|
513
|
+
* trust this alone. See docs/spec/data-model.md § Reparenting.
|
|
505
514
|
*/
|
|
506
515
|
private assertNoParentCycle;
|
|
507
516
|
/**
|
|
@@ -510,8 +519,22 @@ export declare class Stack implements StackClient {
|
|
|
510
519
|
* version; a no-op if already deleted. `_config` is never deletable
|
|
511
520
|
* (docs/spec.md § The `_config` record). See docs/spec/versioning.md
|
|
512
521
|
* § Deletion.
|
|
522
|
+
*
|
|
523
|
+
* A purge reports the files the record referenced. It deletes none of
|
|
524
|
+
* them — byte lifetime is not the purged record's to decide — but it
|
|
525
|
+
* destroys the only rows naming them, so a caller who means to erase the
|
|
526
|
+
* bytes too has nowhere else to read the argument from afterwards. See
|
|
527
|
+
* docs/spec/attachments.md § A purge strands the bytes it referenced.
|
|
513
528
|
*/
|
|
514
|
-
delete(id: string, opts?: DeleteRecordOptions & ActorOptions): Promise<
|
|
529
|
+
delete(id: string, opts?: DeleteRecordOptions & ActorOptions): Promise<DeleteResult>;
|
|
530
|
+
/**
|
|
531
|
+
* The files a record references, by the same definition
|
|
532
|
+
* deleteAttachment() and the garbage sweep use: attachment associations
|
|
533
|
+
* and top-level `file-ref` content fields. An `_attachment` record's own
|
|
534
|
+
* `fileId` is a plain string by design and is not one, which is why
|
|
535
|
+
* purging a metadata record reports nothing — see initSystemTypes().
|
|
536
|
+
*/
|
|
537
|
+
private referencedFileIds;
|
|
515
538
|
/**
|
|
516
539
|
* Reverse a soft delete. Idempotent — undeleting a record that isn't
|
|
517
540
|
* deleted returns it unchanged. Hard-deleted records are gone, so this
|
|
@@ -535,48 +558,33 @@ export declare class Stack implements StackClient {
|
|
|
535
558
|
private resolveBaseIdFilter;
|
|
536
559
|
getVersions(id: string): Promise<RecordVersion[]>;
|
|
537
560
|
/**
|
|
538
|
-
* A record's change journal, oldest first — what moved, who moved it,
|
|
539
|
-
*
|
|
540
|
-
* surface
|
|
541
|
-
* changed what, gated on current read access, would make a record's past
|
|
542
|
-
* exactly as reachable as its present. `ScopedStack` applies that gate;
|
|
543
|
-
* this layer is unscoped and trusted by definition.
|
|
561
|
+
* A record's change journal, oldest first — what moved, who moved it, and
|
|
562
|
+
* the association deltas nothing else retains. `ScopedStack` applies the
|
|
563
|
+
* mutate-surface gate; this layer is unscoped and trusted by definition.
|
|
544
564
|
*
|
|
545
|
-
*
|
|
546
|
-
*
|
|
547
|
-
*
|
|
548
|
-
* history cannot tell them apart. The refusal is the adapter's own, so
|
|
549
|
-
* it can name why. See docs/spec/versioning.md § The change journal.
|
|
565
|
+
* A record that isn't there is StackNotFoundError, a purged one included:
|
|
566
|
+
* a destroyed log and an empty one are not the same answer.
|
|
567
|
+
* See docs/spec/journal.md § Reading it.
|
|
550
568
|
*/
|
|
551
569
|
getJournal(id: string, query?: JournalQuery): Promise<RecordJournalEntry[]>;
|
|
552
570
|
getVersion(id: string, version: number): Promise<RecordVersion | null>;
|
|
553
571
|
/**
|
|
554
572
|
* Restore a record to a previous version by creating a new version —
|
|
555
573
|
* never rewrites history. The snapshot is validated against its own
|
|
556
|
-
* stored typeId
|
|
557
|
-
*
|
|
558
|
-
* containment), and restores neither associations nor permissions. See
|
|
559
|
-
* docs/spec/versioning.md § Restore semantics.
|
|
574
|
+
* stored typeId, and puts back `content` and `typeId` alone: a snapshot
|
|
575
|
+
* carries nothing else. See docs/spec/versioning.md § Restore semantics.
|
|
560
576
|
*/
|
|
561
577
|
restoreVersion(id: string, version: number, opts?: IfVersionOptions & ActorOptions): Promise<StackRecord>;
|
|
562
578
|
/**
|
|
563
|
-
* Commit a per-record migration
|
|
564
|
-
*
|
|
565
|
-
*
|
|
566
|
-
*
|
|
567
|
-
* (computed client-side by the type's owning app, per
|
|
568
|
-
* docs/spec/wire-format.md § Migration commit) rather than a registered
|
|
569
|
-
* Migration function. Snapshots the prior state to version history, same
|
|
570
|
-
* as mutate()/restoreVersion(), and takes the same optional `ifVersion`
|
|
571
|
-
* precondition every version-bumping mutation takes — checked atomically
|
|
572
|
-
* at the adapter, not here (see docs/spec/versioning.md § Optimistic
|
|
573
|
-
* concurrency).
|
|
579
|
+
* Commit a per-record migration — the single-record counterpart to
|
|
580
|
+
* migrateAll(), with `content` supplied by the caller rather than by a
|
|
581
|
+
* registered Migration function. See docs/spec/wire-format.md § Migration
|
|
582
|
+
* commit.
|
|
574
583
|
*
|
|
575
584
|
* Because `content` is a full replacement written under a new `typeId`,
|
|
576
585
|
* this is create-shaped at the destination *and* update-shaped over the
|
|
577
|
-
* record as it stands, so it owes both sets of integrity checks
|
|
578
|
-
*
|
|
579
|
-
* half would make migrate a second, unguarded write path to the same
|
|
586
|
+
* record as it stands, so it owes both sets of integrity checks. Missing
|
|
587
|
+
* either half would make migrate a second, unguarded write path to a
|
|
580
588
|
* state create()/mutate() refuse to reach.
|
|
581
589
|
*/
|
|
582
590
|
commitMigration(id: string, toTypeId: TypeId, content: Record<string, unknown>, opts?: IfVersionOptions & ActorOptions): Promise<StackRecord>;
|
|
@@ -606,18 +614,14 @@ export declare class Stack implements StackClient {
|
|
|
606
614
|
*/
|
|
607
615
|
private checkBindingsOnUpdate;
|
|
608
616
|
/**
|
|
609
|
-
* Bindings across a migration. `content` is a full replacement
|
|
610
|
-
*
|
|
611
|
-
*
|
|
612
|
-
*
|
|
613
|
-
*
|
|
614
|
-
* families' binding fields, so a card can neither shed its DID by
|
|
615
|
-
* migrating out of `_entity`/`_app` nor pick one up on the way in.
|
|
617
|
+
* Bindings across a migration. `content` is a full replacement, so every
|
|
618
|
+
* binding field either keeps its value, moves to a new one, or is shed by
|
|
619
|
+
* omission — and immutability refuses the last two. Asked across the
|
|
620
|
+
* union of both families' binding fields, so a card can neither shed its
|
|
621
|
+
* DID by migrating out of `_entity`/`_app` nor pick one up on the way in.
|
|
616
622
|
*
|
|
617
|
-
* Uniqueness is asked only of the destination family,
|
|
618
|
-
* record
|
|
619
|
-
* itself — re-sending the value it already holds claims nothing.
|
|
620
|
-
* See docs/spec/identity.md § DID bindings.
|
|
623
|
+
* Uniqueness is asked only of the destination family, excluding the
|
|
624
|
+
* record itself. See docs/spec/identity.md § DID bindings.
|
|
621
625
|
*/
|
|
622
626
|
private checkBindingsOnMigrate;
|
|
623
627
|
/**
|
|
@@ -626,16 +630,10 @@ export declare class Stack implements StackClient {
|
|
|
626
630
|
* claiming one value would leave that lookup without a single answer, and
|
|
627
631
|
* ambiguity is all an impersonating card needs. Enforced here rather than
|
|
628
632
|
* by schema, since uniqueness is a property of the set, not of the value.
|
|
629
|
-
* Called by the paths that can introduce a binding: create and update.
|
|
630
|
-
*
|
|
631
|
-
* Short-circuits on the first clash rather than materialising the family,
|
|
632
|
-
* so a stack whose `_entity` family is larger than a single scan settles
|
|
633
|
-
* the common case — the value is already taken — without walking the rest.
|
|
634
633
|
*
|
|
635
|
-
* Read-then-write, so two creates racing on one value can both pass
|
|
636
|
-
*
|
|
637
|
-
*
|
|
638
|
-
* uniqueness lives, not a local fix.
|
|
634
|
+
* Read-then-write, so two creates racing on one value can both pass:
|
|
635
|
+
* closing that means a unique index over a JSON field, which is a
|
|
636
|
+
* decision about where uniqueness lives rather than a local fix.
|
|
639
637
|
* See docs/spec/identity.md § DID bindings.
|
|
640
638
|
*/
|
|
641
639
|
private checkBindingUnique;
|
|
@@ -799,9 +797,10 @@ export declare class Stack implements StackClient {
|
|
|
799
797
|
assertOpen(): void;
|
|
800
798
|
/**
|
|
801
799
|
* Create _grant records authorizing entities to act on records of
|
|
802
|
-
* specific types
|
|
803
|
-
*
|
|
804
|
-
*
|
|
800
|
+
* specific types. The target is the grantee the record carries:
|
|
801
|
+
* `{ kind: 'entity' }` for one DID, `{ kind: 'group' }` for a `_group`
|
|
802
|
+
* Record's roster at a role, `{ kind: 'authenticated' }` for any
|
|
803
|
+
* authenticated entity.
|
|
805
804
|
*
|
|
806
805
|
* Granting an **app** a `-own` action does not contain it the way the
|
|
807
806
|
* suffix suggests: when that app acts for someone, `-own` is read as the
|
|
@@ -811,32 +810,44 @@ export declare class Stack implements StackClient {
|
|
|
811
810
|
* needs, not the suffix that looks narrowest. See
|
|
812
811
|
* docs/spec/access-control.md § Delegation: principal and subject.
|
|
813
812
|
*
|
|
814
|
-
* The grantee lives in content.
|
|
815
|
-
*
|
|
816
|
-
* grants.
|
|
813
|
+
* The grantee lives in content.grantee, not record.entityId. See
|
|
814
|
+
* docs/spec/access-control.md § Type-level grants.
|
|
817
815
|
*/
|
|
818
816
|
grant(target: GrantTarget, grants: Array<{
|
|
819
817
|
actions: GrantAction[];
|
|
820
818
|
typeId: TypeId;
|
|
821
819
|
}>): Promise<StackRecord[]>;
|
|
822
820
|
/**
|
|
823
|
-
* List _grant records. Omit `
|
|
824
|
-
*
|
|
825
|
-
*
|
|
826
|
-
*
|
|
827
|
-
*
|
|
821
|
+
* List _grant records. Omit `query` for all grants;
|
|
822
|
+
* `{ kind: 'authenticated' }` for only default grants;
|
|
823
|
+
* `{ kind: 'group' }` for grants naming that exact group and role, or
|
|
824
|
+
* `role: 'any'` for every grant naming the group;
|
|
825
|
+
* `{ kind: 'entity' }` for the grants that currently apply to that entity
|
|
826
|
+
* (ones naming them, ones naming a group they belong to at a role they
|
|
827
|
+
* hold, plus every default grant) — the same resolution hasGrant() uses.
|
|
828
|
+
*
|
|
829
|
+
* Every arm but `entity` answers identity — what `grant()` would have
|
|
830
|
+
* written with the same argument. The `entity` arm answers coverage, so
|
|
831
|
+
* its result is not a preview of what `revoke()` would withdraw.
|
|
832
|
+
* See docs/spec/access-control.md § Type-level grants.
|
|
828
833
|
*/
|
|
829
|
-
listGrants(
|
|
834
|
+
listGrants(query?: GrantQuery): Promise<StackRecord[]>;
|
|
830
835
|
/**
|
|
831
836
|
* The inverse of grant(): soft-deletes _grant records matching `target`
|
|
832
|
-
*
|
|
833
|
-
*
|
|
834
|
-
* owner can undelete a revocation.
|
|
837
|
+
* and each `{ typeId, actions }` pair, at the same granularity grant()
|
|
838
|
+
* writes — the grantee is matched whole, role included. A soft delete
|
|
839
|
+
* like any other — the owner can undelete a revocation.
|
|
840
|
+
*
|
|
841
|
+
* Returns the grants it withdrew, as they stood, so a revocation that
|
|
842
|
+
* matched nothing says so rather than passing in silence. An empty result
|
|
843
|
+
* is not an error — a grant already withdrawn or never written is the
|
|
844
|
+
* ordinary case, and re-running a revocation has to stay safe.
|
|
845
|
+
* See docs/spec/access-control.md § Type-level grants.
|
|
835
846
|
*/
|
|
836
847
|
revoke(target: GrantTarget, grants: Array<{
|
|
837
848
|
actions: GrantAction[];
|
|
838
849
|
typeId: TypeId;
|
|
839
|
-
}>): Promise<
|
|
850
|
+
}>): Promise<StackRecord[]>;
|
|
840
851
|
/**
|
|
841
852
|
* Validates the whole grant batch before any record is created, so a bad
|
|
842
853
|
* entry fails clean rather than leaving a partial set written. Actions
|
|
@@ -864,13 +875,12 @@ export declare class Stack implements StackClient {
|
|
|
864
875
|
private writeOptions;
|
|
865
876
|
/**
|
|
866
877
|
* Snapshot of a record's prior state, passed with the mutating adapter
|
|
867
|
-
* call so snapshot and mutation land in one atomic write.
|
|
868
|
-
*
|
|
869
|
-
*
|
|
870
|
-
*
|
|
871
|
-
*
|
|
872
|
-
*
|
|
873
|
-
* docs/spec/versioning.md § Version history.
|
|
878
|
+
* call so snapshot and mutation land in one atomic write. Carries what
|
|
879
|
+
* only a snapshot preserves: `content` and the `typeId` it is read
|
|
880
|
+
* under. Containment, listing and associations — the authority ones
|
|
881
|
+
* among them — are all kept by the journal instead, so no version ever
|
|
882
|
+
* snapshots them and there is nothing for a restore to roll them back
|
|
883
|
+
* to. See docs/spec/versioning.md § Version history.
|
|
874
884
|
*/
|
|
875
885
|
private buildVersionSnapshot;
|
|
876
886
|
}
|
package/dist/stack.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../src/stack.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../src/stack.ts"],"names":[],"mappings":"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"}
|