@interop/was-client 0.100.0 → 0.101.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 +123 -53
  2. package/dist/Collection.d.ts +21 -9
  3. package/dist/Collection.d.ts.map +1 -1
  4. package/dist/Collection.js +39 -37
  5. package/dist/Collection.js.map +1 -1
  6. package/dist/Resource.d.ts +0 -4
  7. package/dist/Resource.d.ts.map +1 -1
  8. package/dist/Resource.js +1 -6
  9. package/dist/Resource.js.map +1 -1
  10. package/dist/Space.d.ts +97 -24
  11. package/dist/Space.d.ts.map +1 -1
  12. package/dist/Space.js +168 -84
  13. package/dist/Space.js.map +1 -1
  14. package/dist/WasClient.d.ts +135 -55
  15. package/dist/WasClient.d.ts.map +1 -1
  16. package/dist/WasClient.js +220 -100
  17. package/dist/WasClient.js.map +1 -1
  18. package/dist/edv/EdvCodec.d.ts.map +1 -1
  19. package/dist/edv/EdvCodec.js +7 -4
  20. package/dist/edv/EdvCodec.js.map +1 -1
  21. package/dist/edv/docCipher.js +2 -2
  22. package/dist/edv/docCipher.js.map +1 -1
  23. package/dist/index.d.ts +0 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/internal/codec.d.ts +11 -1
  27. package/dist/internal/codec.d.ts.map +1 -1
  28. package/dist/internal/codec.js +11 -1
  29. package/dist/internal/codec.js.map +1 -1
  30. package/dist/internal/describe.d.ts +6 -0
  31. package/dist/internal/describe.d.ts.map +1 -1
  32. package/dist/internal/describe.js +18 -1
  33. package/dist/internal/describe.js.map +1 -1
  34. package/dist/internal/grant.js +1 -1
  35. package/dist/internal/grant.js.map +1 -1
  36. package/dist/internal/indexSchema.d.ts +19 -4
  37. package/dist/internal/indexSchema.d.ts.map +1 -1
  38. package/dist/internal/indexSchema.js +33 -6
  39. package/dist/internal/indexSchema.js.map +1 -1
  40. package/dist/internal/paths.d.ts +113 -18
  41. package/dist/internal/paths.d.ts.map +1 -1
  42. package/dist/internal/paths.js +224 -40
  43. package/dist/internal/paths.js.map +1 -1
  44. package/dist/internal/request.d.ts +47 -14
  45. package/dist/internal/request.d.ts.map +1 -1
  46. package/dist/internal/request.js +64 -44
  47. package/dist/internal/request.js.map +1 -1
  48. package/dist/internal/reserved.d.ts +15 -3
  49. package/dist/internal/reserved.d.ts.map +1 -1
  50. package/dist/internal/reserved.js +37 -8
  51. package/dist/internal/reserved.js.map +1 -1
  52. package/dist/internal/revoke.d.ts +1 -65
  53. package/dist/internal/revoke.d.ts.map +1 -1
  54. package/dist/internal/revoke.js +5 -136
  55. package/dist/internal/revoke.js.map +1 -1
  56. package/dist/internal/rootCapability.d.ts +66 -0
  57. package/dist/internal/rootCapability.d.ts.map +1 -0
  58. package/dist/internal/rootCapability.js +144 -0
  59. package/dist/internal/rootCapability.js.map +1 -0
  60. package/dist/internal/service.d.ts +5 -3
  61. package/dist/internal/service.d.ts.map +1 -1
  62. package/dist/internal/service.js +5 -3
  63. package/dist/internal/service.js.map +1 -1
  64. package/dist/internal/withCodec.d.ts +19 -4
  65. package/dist/internal/withCodec.d.ts.map +1 -1
  66. package/dist/internal/withCodec.js +18 -2
  67. package/dist/internal/withCodec.js.map +1 -1
  68. package/dist/internal/write.js +13 -9
  69. package/dist/internal/write.js.map +1 -1
  70. package/dist/paths.d.ts +5 -3
  71. package/dist/paths.d.ts.map +1 -1
  72. package/dist/paths.js +5 -3
  73. package/dist/paths.js.map +1 -1
  74. package/dist/sync/provisioning.js +1 -1
  75. package/dist/sync/provisioning.js.map +1 -1
  76. package/package.json +3 -3
package/dist/Space.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { canonicalSpaceUrl, spaceIdOfCanonicalUrl, spaceMetaUrl, spaceExportUrl, spaceImportUrl, spaceBackendsUrl, registeredBackendUrl, spaceQuotasUrl, spacePolicyUrl, spaceLinksetUrl, spaceReplicasUrl, replicaRegistrationUrl, replicaStatusUrl } from './internal/paths.js';
2
2
  import { assertNotReserved } from './internal/reserved.js';
3
- import { composeAndSwap } from './internal/cas.js';
3
+ import { compareAndSwap, composeAndSwap } from './internal/cas.js';
4
4
  import { collectionWritableFields, unreadableDescriptionError } from './internal/describe.js';
5
5
  import { delegateGrantAt } from './internal/grant.js';
6
6
  import { submitRevocation } from './internal/revoke.js';
7
- import { send, readData, readDataWithEtag } from './internal/request.js';
7
+ import { send, readData, readDataWithEtag, missingJsonBodyError } from './internal/request.js';
8
8
  import { readEtag, writeHeaders } from './internal/conditional.js';
9
9
  import { collectWalk, signedPageWalk, walkPagesOrEmpty } from './internal/pagination.js';
10
10
  import { NotFoundError, WasServerError } from './errors.js';
@@ -18,72 +18,20 @@ import { Collection } from './Collection.js';
18
18
  * omitted member; `controller` is always sent.
19
19
  *
20
20
  * @param fields {object}
21
- * @param fields.id {string}
21
+ * @param [fields.id] {string} absent for a fixed Space with no id
22
22
  * @param [fields.name] {string}
23
23
  * @param fields.controller {string}
24
24
  * @param [fields.type] {string[]}
25
- * @returns {{ id: string; name?: string; controller: string; type?: string[] }}
25
+ * @returns {{ id?: string; name?: string; controller: string; type?: string[] }}
26
26
  */
27
27
  function spaceMetadataBody({ id, name, controller, type }) {
28
28
  return {
29
- id,
29
+ ...(id !== undefined && { id }),
30
30
  ...(name !== undefined && { name }),
31
31
  controller,
32
32
  ...(type !== undefined && { type })
33
33
  };
34
34
  }
35
- /**
36
- * The error for a successful response that carried no parsed JSON body where
37
- * one is required. The request layer parses a body into `data` only for a JSON
38
- * content type, so naming the content type the server sent points at the
39
- * cause (a mislabeled or body-less 2xx).
40
- *
41
- * @param options {object}
42
- * @param options.response {HttpResponse | null}
43
- * @param options.operation {string} the request, as the message's subject
44
- * @param options.expected {string} what the body should have carried
45
- * @returns {WasServerError}
46
- */
47
- function missingJsonBodyError({ response, operation, expected }) {
48
- const contentType = response?.headers.get('content-type') ?? 'no content-type';
49
- return new WasServerError(`${operation} response carried no JSON body (the server sent ` +
50
- `${contentType}); expected ${expected}.`);
51
- }
52
- /**
53
- * A controller-only `GET` of a replica record: `null` on the masked 404
54
- * (missing, or the caller is not the controller), the parsed body otherwise.
55
- * Unlike `readData`, a 2xx with no JSON body is a server fault
56
- * (`WasServerError`), so a misbehaving server is not read as "nothing
57
- * registered".
58
- *
59
- * @param context {ClientContext}
60
- * @param options {object}
61
- * @param options.url {string}
62
- * @param [options.capability] {IZcap}
63
- * @param options.expected {string} what the body should have carried, for
64
- * the error message
65
- * @returns {Promise<T | null>}
66
- */
67
- async function readReplicaRecord(context, { url, capability, expected }) {
68
- const response = await send(context, {
69
- url,
70
- method: 'GET',
71
- capability,
72
- read: true
73
- });
74
- if (response === null) {
75
- return null;
76
- }
77
- const record = dataOrNull(response);
78
- if (record === null) {
79
- throw missingJsonBodyError({
80
- response,
81
- operation: 'Replica read',
82
- expected
83
- });
84
- }
85
- return record;
86
- }
87
35
  export class Space {
88
36
  /**
89
37
  * The Space's absolute URL in canonical (trailing-slash) form, as the
@@ -95,7 +43,8 @@ export class Space {
95
43
  url;
96
44
  /**
97
45
  * The Space's id: the last path segment of {@link url}, the value the Space
98
- * Metadata object's `id` carries.
46
+ * Metadata object's `id` carries. `undefined` for a single fixed Space
47
+ * served from an origin root, which has no id.
99
48
  */
100
49
  id;
101
50
  #context;
@@ -276,7 +225,7 @@ export class Space {
276
225
  !desc.force &&
277
226
  !(desc.name !== undefined && desc.controller !== undefined)) {
278
227
  throw unreadableDescriptionError({
279
- operation: `configure space "${this.id}"`,
228
+ operation: `configure space "${this.id ?? this.url}"`,
280
229
  consequence: 'merging forward could silently change the controller or drop ' +
281
230
  'the existing name',
282
231
  advice: 'Supply both `name` and `controller` explicitly, use a ' +
@@ -623,9 +572,18 @@ export class Space {
623
572
  * in the peer Space and its `allowedAction` lies within `GET` and `HEAD`),
624
573
  * the peer's `fromSpace` URL, this Space's `toSpace` URL, the `role`
625
574
  * (`source`), and an optional `collections` list naming what to pull (absent
626
- * means every Collection). Controller-only: the server answers a delegated
627
- * capability with the masked 404, so open the handle with the controller's
628
- * authority.
575
+ * means every Collection).
576
+ *
577
+ * Authority on the replicas route: every method on it (`GET`, `POST`,
578
+ * `PUT`, `DELETE`) takes the controller's own capability, or a delegated
579
+ * capability whose chain roots in this Space's root capability. A delegated
580
+ * `POST` may only name a `fromSpace` the Space already has a registration
581
+ * for. Any other caller gets the masked 404, and so does every delegated
582
+ * caller on a server that still treats the route as controller-only.
583
+ * `fromCapability` refuses a grant whose target is the reserved `replicas`
584
+ * sub-resource (`{spaceUrl}replicas`), so a holder of such a grant opens
585
+ * the handle with `was.space(id, { capability })` (or
586
+ * `was.spaceAt(url, { capability })`) and calls the replica methods on it.
629
587
  *
630
588
  * Returns the stored record, as the server serves it back. The registration
631
589
  * is per-server state: it is not replicated or exported, and deleting the
@@ -662,15 +620,16 @@ export class Space {
662
620
  /**
663
621
  * Lists this Space's replica registrations (`GET /space/:id/replicas`): the
664
622
  * unpaginated `{ url, totalItems, items }` listing, each item a full
665
- * registration with its pull capability. Controller-only, like the records
666
- * it lists; returns `null` if the Space is missing or the caller is not its
667
- * controller (404 conflation caveat). A 2xx with no JSON body throws
668
- * `WasServerError` rather than reading as an empty listing.
623
+ * registration with its pull capability. Takes the authority
624
+ * {@link registerReplica} describes; returns `null` if the Space is
625
+ * missing or the caller holds none (404 conflation caveat). A 2xx with no
626
+ * JSON body throws `WasServerError` rather than reading as an empty
627
+ * listing.
669
628
  *
670
629
  * @returns {Promise<ReplicaListing | null>}
671
630
  */
672
631
  async replicas() {
673
- return readReplicaRecord(this.#context, {
632
+ return readData(this.#context, {
674
633
  url: spaceReplicasUrl({ spaceUrl: this.url }),
675
634
  capability: this.#capability,
676
635
  expected: 'the replica listing'
@@ -678,16 +637,16 @@ export class Space {
678
637
  }
679
638
  /**
680
639
  * Reads one replica registration by id
681
- * (`GET /space/:id/replicas/:replicaId`). Controller-only; returns `null`
682
- * if the registration or the Space is missing, or the caller is not the
683
- * controller (404 conflation caveat). A 2xx with no JSON body throws
684
- * `WasServerError`.
640
+ * (`GET /space/:id/replicas/:replicaId`). Takes the authority
641
+ * {@link registerReplica} describes; returns `null` if the registration or
642
+ * the Space is missing, or the caller holds none (404 conflation caveat).
643
+ * A 2xx with no JSON body throws `WasServerError`.
685
644
  *
686
645
  * @param replicaId {string}
687
646
  * @returns {Promise<ReplicaRegistration | null>}
688
647
  */
689
648
  async replica(replicaId) {
690
- return readReplicaRecord(this.#context, {
649
+ return readData(this.#context, {
691
650
  url: replicaRegistrationUrl({ spaceUrl: this.url, replicaId }),
692
651
  capability: this.#capability,
693
652
  expected: 'the replica registration'
@@ -697,12 +656,13 @@ export class Space {
697
656
  * Removes a replica registration (`DELETE /space/:id/replicas/:replicaId`)
698
657
  * and reports the server's answer. The data already pulled under it stays.
699
658
  *
700
- * Controller-only, and the server answers a delegated capability with the
701
- * same masked 404 as an absent registration, so the 404 is not swallowed as
702
- * success the way an idempotent delete would: `'not-found'` means "absent
703
- * or refused", and only a caller with its own prior discovery (a
704
- * {@link replica} read under the same authority) may read it as absence. A
705
- * caller that wants removing twice to be a no-op ignores the outcome.
659
+ * Takes the authority {@link registerReplica} describes, and the server
660
+ * answers a caller without it with the same masked 404 as an absent
661
+ * registration, so the 404 is not swallowed as success the way an
662
+ * idempotent delete would: `'not-found'` means "absent or refused", and
663
+ * only a caller with its own prior discovery (a {@link replica} read under
664
+ * the same authority) may read it as absence. A caller that wants removing
665
+ * twice to be a no-op ignores the outcome.
706
666
  *
707
667
  * The server refuses with `ConflictError` (409, `replica-refused`) when the
708
668
  * registration is the one that maps this Space's did:webvh controller,
@@ -724,22 +684,146 @@ export class Space {
724
684
  /**
725
685
  * Reads the pull loop's runtime state for one registration
726
686
  * (`GET /space/:id/replicas/:replicaId/status`): the loop `state` (`idle`,
727
- * `pulling`, `backing-off`, `stalled`), its cycle timestamps, and one entry
728
- * per Collection with its own `state` and, while stalled, a `stall` naming
729
- * the `ReplicaStallReason` and when it began. Uncacheable and controller-
730
- * only; returns `null` (and throws on a bodiless 2xx) on the same terms as
731
- * {@link replica}.
687
+ * `pulling`, `paused`, `backing-off`, `stalled`), its cycle timestamps, and
688
+ * one entry per Collection with its own `state` and, while stalled, a
689
+ * `stall` naming the `ReplicaStallReason` and when it began. `paused` means
690
+ * the registration carries `pausedAt` ({@link pauseReplica}), and no cycle
691
+ * runs until {@link resumeReplica} clears it. Uncacheable; takes the
692
+ * authority {@link registerReplica} describes, and returns `null` (and
693
+ * throws on a bodiless 2xx) on the same terms as {@link replica}.
732
694
  *
733
695
  * @param replicaId {string}
734
696
  * @returns {Promise<ReplicaStatus | null>}
735
697
  */
736
698
  async replicaStatus(replicaId) {
737
- return readReplicaRecord(this.#context, {
699
+ return readData(this.#context, {
738
700
  url: replicaStatusUrl({ spaceUrl: this.url, replicaId }),
739
701
  capability: this.#capability,
740
702
  expected: 'the pull loop status'
741
703
  });
742
704
  }
705
+ /**
706
+ * Pauses a registration's pull loop: a `PUT` of the stored registration at
707
+ * `/space/:id/replicas/:replicaId` with `pausedAt` set. The server writes
708
+ * its own time into `pausedAt` (the value sent is ignored) and keeps it
709
+ * while the registration stays paused, so pausing twice changes nothing.
710
+ * {@link replicaStatus} reads `paused` from then on, the data already
711
+ * pulled stays, and the registration keeps its `id` and its checkpoint, so
712
+ * a {@link resumeReplica} continues where the loop stopped. Stopping a
713
+ * replica pauses it rather than removing the registration, which the
714
+ * server refuses for the one mapping this Space's did:webvh controller.
715
+ *
716
+ * A compare-and-swap: the registration is read with its `ETag`, changed,
717
+ * and written back under `If-Match`, rebasing on a write that lands in
718
+ * between and surfacing `PreconditionFailedError` (412,
719
+ * `precondition-failed`) only if it keeps losing the race. Throws
720
+ * `NotFoundError` when the read gets the masked 404 (the registration is
721
+ * absent, or the caller holds no authority on the route): a `PUT` there
722
+ * would register a new replica, which a pause never means to. Takes the
723
+ * authority {@link registerReplica} describes.
724
+ *
725
+ * @param replicaId {string}
726
+ * @returns {Promise<void>}
727
+ */
728
+ async pauseReplica(replicaId) {
729
+ await this.#replaceReplica({
730
+ replicaId,
731
+ change: stored => ({ ...stored, pausedAt: new Date().toISOString() })
732
+ });
733
+ }
734
+ /**
735
+ * Resumes a paused registration's pull loop: a `PUT` of the stored
736
+ * registration with `pausedAt` omitted. The loop wakes at once, continuing
737
+ * from the checkpoint the pause left. Resuming a registration that is not
738
+ * paused changes nothing. Same compare-and-swap and errors as
739
+ * {@link pauseReplica}.
740
+ *
741
+ * @param replicaId {string}
742
+ * @returns {Promise<void>}
743
+ */
744
+ async resumeReplica(replicaId) {
745
+ await this.#replaceReplica({
746
+ replicaId,
747
+ change: ({ pausedAt: _pausedAt, ...resumed }) => resumed
748
+ });
749
+ }
750
+ /**
751
+ * Replaces a registration's pull capability in place: a `PUT` of the
752
+ * stored registration with the new `capability`, every other member as
753
+ * stored (`pausedAt` included, so a paused registration stays paused). The
754
+ * registration keeps its `id`, its loop and its checkpoint, which a
755
+ * deregister-and-register would lose. A pull grant dies with the signer
756
+ * that delegated it, so this is the call to make before that signer is
757
+ * withdrawn.
758
+ *
759
+ * The new capability passes the peer checks a {@link registerReplica}
760
+ * does: it is `ConflictError` (409, `replica-refused`) when its controller
761
+ * is not the server's DID, its chain does not root in `fromSpace`, or the
762
+ * peer cannot be read under it, and `ValidationError` (400,
763
+ * `invalid-request-body`, pointer `#/capability`) when it is malformed. A
764
+ * capability equal to the stored one is accepted without a peer read. Same
765
+ * compare-and-swap and errors as {@link pauseReplica}.
766
+ *
767
+ * @param replicaId {string}
768
+ * @param capability {IDelegatedZcap} the new pull capability: delegated
769
+ * to the server's DID, rooted in the peer Space, `allowedAction` within
770
+ * `GET` and `HEAD`
771
+ * @returns {Promise<void>}
772
+ */
773
+ async replaceReplicaCapability(replicaId, capability) {
774
+ await this.#replaceReplica({
775
+ replicaId,
776
+ change: stored => ({ ...stored, capability })
777
+ });
778
+ }
779
+ /**
780
+ * The compare-and-swap behind {@link pauseReplica}, {@link resumeReplica}
781
+ * and {@link replaceReplicaCapability}: the shared `compareAndSwap` loop
782
+ * over a store whose read is the registration `GET` with its `ETag` and
783
+ * whose replace is the `PUT` under `If-Match`. The loop refuses a read
784
+ * that served no `ETag` with `NotSupportedError` rather than writing
785
+ * unconditionally. The body goes back as read, stamp members included: the
786
+ * server ignores them in a write body. The masked 404 on the read is
787
+ * `NotFoundError`, since a `PUT` at an absent registration would create
788
+ * one and none of the three means to.
789
+ *
790
+ * @param options {object}
791
+ * @param options.replicaId {string}
792
+ * @param options.change {function} `(stored) => record`, the registration
793
+ * to write
794
+ * @returns {Promise<void>}
795
+ */
796
+ async #replaceReplica({ replicaId, change }) {
797
+ const url = replicaRegistrationUrl({ spaceUrl: this.url, replicaId });
798
+ await compareAndSwap({
799
+ store: {
800
+ read: async () => {
801
+ const read = await readDataWithEtag(this.#context, {
802
+ url,
803
+ capability: this.#capability,
804
+ expected: 'the replica registration'
805
+ });
806
+ if (read === null) {
807
+ throw new NotFoundError(`Replica registration "${replicaId}" was not found at "${url}", ` +
808
+ 'or the caller holds no authority on the replicas route, so ' +
809
+ 'it cannot be changed.', { status: 404, requestUrl: url });
810
+ }
811
+ return { value: read.data, etag: read.etag };
812
+ },
813
+ replace: async (value, { ifMatch }) => {
814
+ await send(this.#context, {
815
+ url,
816
+ method: 'PUT',
817
+ capability: this.#capability,
818
+ json: value,
819
+ headers: writeHeaders({ precondition: { ifMatch } })
820
+ });
821
+ }
822
+ },
823
+ mutate: change,
824
+ operation: `Replica registration "${replicaId}" change`
825
+ });
826
+ }
743
827
  /**
744
828
  * Delegates access to this space. Prefills the grant `target` with this
745
829
  * space's URL (and the bound `capability`, if any, for re-delegation).
package/dist/Space.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Space.js","sourceRoot":"","sources":["../src/Space.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Space.js","sourceRoot":"","sources":["../src/Space.ts"],"names":[],"mappings":"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"}