@interop/wallet-core 0.107.0 → 0.108.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 +21 -19
- package/dist/clientAnnex/establish.d.ts +6 -5
- package/dist/clientAnnex/establish.d.ts.map +1 -1
- package/dist/clientAnnex/establish.js +9 -8
- package/dist/clientAnnex/establish.js.map +1 -1
- package/dist/clientAnnex/forget.d.ts +5 -5
- package/dist/clientAnnex/forget.d.ts.map +1 -1
- package/dist/clientAnnex/forget.js +1 -1
- package/dist/clientAnnex/forget.js.map +1 -1
- package/dist/clientAnnex/forgetLast.d.ts +8 -8
- package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
- package/dist/clientAnnex/forgetLast.js +2 -2
- package/dist/clientAnnex/forgetLast.js.map +1 -1
- package/dist/clientAnnex/gc.d.ts.map +1 -1
- package/dist/clientAnnex/gc.js +4 -1
- package/dist/clientAnnex/gc.js.map +1 -1
- package/dist/clientAnnex/grantRevocation.d.ts +11 -7
- package/dist/clientAnnex/grantRevocation.d.ts.map +1 -1
- package/dist/clientAnnex/grantRevocation.js +1 -1
- package/dist/clientAnnex/grantRevocation.js.map +1 -1
- package/dist/clientAnnex/heal.d.ts +16 -14
- package/dist/clientAnnex/heal.d.ts.map +1 -1
- package/dist/clientAnnex/heal.js +9 -9
- package/dist/clientAnnex/heal.js.map +1 -1
- package/dist/clientAnnex/ladderAnchored.d.ts +35 -27
- package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/ladderAnchored.js +26 -37
- package/dist/clientAnnex/ladderAnchored.js.map +1 -1
- package/dist/clientAnnex/log.d.ts +31 -31
- package/dist/clientAnnex/log.d.ts.map +1 -1
- package/dist/clientAnnex/log.js +28 -28
- package/dist/clientAnnex/log.js.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts +4 -3
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.js +1 -1
- package/dist/clientAnnex/selfEnroll.d.ts +3 -3
- package/dist/clientAnnex/selfEnroll.d.ts.map +1 -1
- package/dist/clientAnnex/selfEnroll.js +1 -1
- package/dist/clients/grantState.d.ts +11 -9
- package/dist/clients/grantState.d.ts.map +1 -1
- package/dist/clients/grantState.js +19 -16
- package/dist/clients/grantState.js.map +1 -1
- package/dist/clients/index.d.ts +9 -9
- package/dist/clients/index.js +9 -9
- package/dist/clients/listing.d.ts +12 -14
- package/dist/clients/listing.d.ts.map +1 -1
- package/dist/clients/listing.js +17 -23
- package/dist/clients/listing.js.map +1 -1
- package/dist/clients/revocation.d.ts +2 -2
- package/dist/clients/revocation.d.ts.map +1 -1
- package/dist/clients/revocation.js.map +1 -1
- package/dist/connections/entry.d.ts +100 -9
- package/dist/connections/entry.d.ts.map +1 -1
- package/dist/connections/entry.js +104 -12
- package/dist/connections/entry.js.map +1 -1
- package/dist/connections/grantProof.d.ts +47 -14
- package/dist/connections/grantProof.d.ts.map +1 -1
- package/dist/connections/grantProof.js +88 -57
- package/dist/connections/grantProof.js.map +1 -1
- package/dist/connections/grants.d.ts +13 -1
- package/dist/connections/grants.d.ts.map +1 -1
- package/dist/connections/grants.js +18 -31
- package/dist/connections/grants.js.map +1 -1
- package/dist/connections/index.d.ts +13 -8
- package/dist/connections/index.d.ts.map +1 -1
- package/dist/connections/index.js +10 -6
- package/dist/connections/index.js.map +1 -1
- package/dist/connections/replicas.d.ts +227 -0
- package/dist/connections/replicas.d.ts.map +1 -0
- package/dist/connections/replicas.js +539 -0
- package/dist/connections/replicas.js.map +1 -0
- package/dist/connections/upsert.d.ts +75 -1
- package/dist/connections/upsert.d.ts.map +1 -1
- package/dist/connections/upsert.js +62 -34
- package/dist/connections/upsert.js.map +1 -1
- package/dist/recovery/continuation.d.ts +3 -9
- package/dist/recovery/continuation.d.ts.map +1 -1
- package/dist/recovery/continuation.js +1 -3
- package/dist/recovery/continuation.js.map +1 -1
- package/dist/recovery/index.d.ts +2 -1
- package/dist/recovery/index.d.ts.map +1 -1
- package/dist/recovery/recoveryWebvh.d.ts +21 -15
- package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
- package/dist/recovery/recoveryWebvh.js +12 -7
- package/dist/recovery/recoveryWebvh.js.map +1 -1
- package/dist/testing/accountBuilder.d.ts.map +1 -1
- package/dist/testing/accountBuilder.js +1 -3
- package/dist/testing/accountBuilder.js.map +1 -1
- package/dist/testing/signerFixture.d.ts +3 -3
- package/dist/testing/signerFixture.d.ts.map +1 -1
- package/dist/testing/signerFixture.js +7 -5
- package/dist/testing/signerFixture.js.map +1 -1
- package/dist/unlock/index.d.ts +2 -1
- package/dist/unlock/index.d.ts.map +1 -1
- package/dist/unlock/retire.d.ts +7 -5
- package/dist/unlock/retire.d.ts.map +1 -1
- package/dist/unlock/retire.js +5 -4
- package/dist/unlock/retire.js.map +1 -1
- package/dist/unlock/standingWebvh.d.ts +24 -15
- package/dist/unlock/standingWebvh.d.ts.map +1 -1
- package/dist/unlock/standingWebvh.js +32 -19
- package/dist/unlock/standingWebvh.js.map +1 -1
- package/dist/webvh/accountEntry.d.ts +39 -50
- package/dist/webvh/accountEntry.d.ts.map +1 -1
- package/dist/webvh/accountEntry.js +133 -55
- package/dist/webvh/accountEntry.js.map +1 -1
- package/dist/webvh/delegatedLogStore.d.ts +4 -11
- package/dist/webvh/delegatedLogStore.d.ts.map +1 -1
- package/dist/webvh/delegatedLogStore.js +1 -1
- package/dist/webvh/delegatedLogStore.js.map +1 -1
- package/dist/webvh/didWebProjection.d.ts +30 -49
- package/dist/webvh/didWebProjection.d.ts.map +1 -1
- package/dist/webvh/didWebProjection.js +9 -56
- package/dist/webvh/didWebProjection.js.map +1 -1
- package/dist/webvh/didWebvh.d.ts +13 -8
- package/dist/webvh/didWebvh.d.ts.map +1 -1
- package/dist/webvh/didWebvh.js +11 -7
- package/dist/webvh/didWebvh.js.map +1 -1
- package/dist/webvh/enrollClient.d.ts +5 -3
- package/dist/webvh/enrollClient.d.ts.map +1 -1
- package/dist/webvh/enrollClient.js +12 -10
- package/dist/webvh/enrollClient.js.map +1 -1
- package/dist/webvh/index.d.ts +14 -7
- package/dist/webvh/index.d.ts.map +1 -1
- package/dist/webvh/index.js +12 -5
- package/dist/webvh/index.js.map +1 -1
- package/dist/webvh/listClients.d.ts +124 -15
- package/dist/webvh/listClients.d.ts.map +1 -1
- package/dist/webvh/listClients.js +148 -43
- package/dist/webvh/listClients.js.map +1 -1
- package/dist/webvh/revokeClient.d.ts +10 -4
- package/dist/webvh/revokeClient.d.ts.map +1 -1
- package/dist/webvh/revokeClient.js +22 -22
- package/dist/webvh/revokeClient.js.map +1 -1
- package/dist/webvh/standingZcap.d.ts +4 -1
- package/dist/webvh/standingZcap.d.ts.map +1 -1
- package/dist/webvh/standingZcap.js +13 -14
- package/dist/webvh/standingZcap.js.map +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import type { ConnectionIdKey } from './resourceId.js';
|
|
2
|
+
import type { ConnectionsStore } from './store.js';
|
|
3
|
+
import type { ConnectionWriteResult } from './upsert.js';
|
|
4
|
+
/**
|
|
5
|
+
* The intent markers a replica item carries.
|
|
6
|
+
*/
|
|
7
|
+
export declare const REPLICA_MARKERS: readonly ["stoppedAt", "restartedAt", "lostAt"];
|
|
8
|
+
/**
|
|
9
|
+
* One value of {@link REPLICA_MARKERS}.
|
|
10
|
+
*/
|
|
11
|
+
export type ReplicaMarker = (typeof REPLICA_MARKERS)[number];
|
|
12
|
+
/**
|
|
13
|
+
* The registration ceremony's entry write, before anything touches the
|
|
14
|
+
* replica server: creates the `replica-server` entry, or merges into it.
|
|
15
|
+
* `url` is set, `name` when it passes the display-name rule, and `lastSeen`
|
|
16
|
+
* moves to `now`. Each item of `replicas` is added by its `fromSpace` (stored
|
|
17
|
+
* URL-normalized) with its freshly minted replica Space id; an item already
|
|
18
|
+
* listed for that source Space is left as stored, so a re-run adopts the ids
|
|
19
|
+
* an earlier run persisted. An item already listed that carries `lostAt` is
|
|
20
|
+
* refused with an `Error`: its replica Space is gone, so adopting its id
|
|
21
|
+
* would register under a lost Space while the item kept reading as lost.
|
|
22
|
+
* Delete removes the item (`removeReplica`) before the Space is registered
|
|
23
|
+
* again. `retired` and `declined` are cleared, since the user's registration
|
|
24
|
+
* is a fresh consent toward the server. `firstSeen` is set only on create,
|
|
25
|
+
* and `label` is never touched.
|
|
26
|
+
*
|
|
27
|
+
* A `seed` and its `seedTag` (both or neither) are written when the entry
|
|
28
|
+
* carries no seed, and left as stored when it carries the same one. An entry
|
|
29
|
+
* carrying a different seed is refused with an `Error`, since the seed is
|
|
30
|
+
* written once and a retired entry keeps it.
|
|
31
|
+
*
|
|
32
|
+
* Refuses an entry of another kind with {@link ConnectionKindMismatchError},
|
|
33
|
+
* and a `fromSpace` that is not a container URL, a `spaceId` that is not a
|
|
34
|
+
* fresh id, two items naming one source Space, or a `seed` without its tag
|
|
35
|
+
* (or the reverse) with a `TypeError`, before anything is written. The tag
|
|
36
|
+
* is not verified here; the caller minted both under the directory's key.
|
|
37
|
+
*
|
|
38
|
+
* @param options {object}
|
|
39
|
+
* @param options.store {ConnectionsStore}
|
|
40
|
+
* @param options.hmacKey {ConnectionIdKey}
|
|
41
|
+
* @param options.did {string} the replica server's `serverDid`
|
|
42
|
+
* @param options.url {string} the replica server's base URL
|
|
43
|
+
* @param options.replicas {Array<object>} `{ fromSpace, spaceId }` per
|
|
44
|
+
* replica Space to record
|
|
45
|
+
* @param [options.name] {string} the replica server's host name
|
|
46
|
+
* @param [options.seed] {string} the bootstrap seed, base64url with no
|
|
47
|
+
* padding
|
|
48
|
+
* @param [options.seedTag] {string} the seed's tag (`connectionSeedTag`)
|
|
49
|
+
* @param [options.now] {Date}
|
|
50
|
+
* @returns {Promise<ConnectionWriteResult>}
|
|
51
|
+
*/
|
|
52
|
+
export declare function recordReplicas({ store, hmacKey, did, url, replicas, name, seed, seedTag, now }: {
|
|
53
|
+
store: ConnectionsStore;
|
|
54
|
+
hmacKey: ConnectionIdKey;
|
|
55
|
+
did: string;
|
|
56
|
+
url: string;
|
|
57
|
+
replicas: Array<{
|
|
58
|
+
fromSpace: string;
|
|
59
|
+
spaceId: string;
|
|
60
|
+
}>;
|
|
61
|
+
name?: string;
|
|
62
|
+
seed?: string;
|
|
63
|
+
seedTag?: string;
|
|
64
|
+
now?: Date;
|
|
65
|
+
}): Promise<ConnectionWriteResult>;
|
|
66
|
+
/**
|
|
67
|
+
* Records one pull grant on the entry, and with it a first registration's
|
|
68
|
+
* pending id, in one write. The grant is appended as a `'grant'` record
|
|
69
|
+
* stamped `grantedAt: now`; one already recorded by its capability id is
|
|
70
|
+
* left as stored. With `pendingRegistrationId`, the item for `fromSpace`
|
|
71
|
+
* gains it, unless its first registration already landed (`registrationId`
|
|
72
|
+
* present) or it is pending under another id, each refused with an `Error`:
|
|
73
|
+
* the pending id is recorded before its POST, so a second id would orphan a
|
|
74
|
+
* registration that may have landed under the first.
|
|
75
|
+
*
|
|
76
|
+
* With `renews`, the id of the recorded grant the capability renews, the
|
|
77
|
+
* record is a renewal under `renewedGrantRecord`, the rule
|
|
78
|
+
* `recordRenewedGrants` applies: it keeps the source's `grantKind` and
|
|
79
|
+
* `grantedAt` and carries `renewedAt: now`, the source stays as stored, and
|
|
80
|
+
* the capability must share the source's scope (controller, invocation
|
|
81
|
+
* target, allowed actions) and expire strictly later. A source no longer on
|
|
82
|
+
* the entry, no longer the latest record of its scope, or a capability not
|
|
83
|
+
* expiring strictly later, is refused with an `Error`. The login pass records a renewal this
|
|
84
|
+
* way, with no pending id; the two together are refused with a `TypeError`.
|
|
85
|
+
*
|
|
86
|
+
* This write touches neither `declined` nor `retired`: the pass records a
|
|
87
|
+
* renewal through it, and a declined entry must stay declined until the
|
|
88
|
+
* owner's re-start (`setReplicaMarker` with `restartedAt`) clears it.
|
|
89
|
+
*
|
|
90
|
+
* Refuses an entry of another kind with {@link ConnectionKindMismatchError},
|
|
91
|
+
* a retired entry with an `Error`, and a capability not delegated to the
|
|
92
|
+
* server's DID or not targeting `fromSpace` (`checkedDelegatedZcap`), one
|
|
93
|
+
* allowing any action but `GET` (a pull grant reads and nothing else), or a
|
|
94
|
+
* `pendingRegistrationId` that is not a fresh id, with a `TypeError`. An entry listing no item for
|
|
95
|
+
* `fromSpace` is refused with an `Error`. An absent entry writes nothing.
|
|
96
|
+
*
|
|
97
|
+
* @param options {object}
|
|
98
|
+
* @param options.store {ConnectionsStore}
|
|
99
|
+
* @param options.hmacKey {ConnectionIdKey}
|
|
100
|
+
* @param options.did {string} the replica server's `serverDid`, the
|
|
101
|
+
* grant's controller
|
|
102
|
+
* @param options.fromSpace {string} the source Space the grant reads from
|
|
103
|
+
* @param options.zcap {object} the pull capability
|
|
104
|
+
* @param [options.pendingRegistrationId] {string} a first registration's
|
|
105
|
+
* id, recorded before its POST
|
|
106
|
+
* @param [options.renews] {string} the capability id of the recorded grant
|
|
107
|
+
* this one renews
|
|
108
|
+
* @param [options.now] {Date}
|
|
109
|
+
* @returns {Promise<ConnectionWriteResult>}
|
|
110
|
+
*/
|
|
111
|
+
export declare function recordReplicaGrant({ store, hmacKey, did, fromSpace: spaceValue, zcap: zcapValue, pendingRegistrationId, renews, now }: {
|
|
112
|
+
store: ConnectionsStore;
|
|
113
|
+
hmacKey: ConnectionIdKey;
|
|
114
|
+
did: string;
|
|
115
|
+
fromSpace: string;
|
|
116
|
+
zcap: object;
|
|
117
|
+
pendingRegistrationId?: string;
|
|
118
|
+
renews?: string;
|
|
119
|
+
now?: Date;
|
|
120
|
+
}): Promise<ConnectionWriteResult>;
|
|
121
|
+
/**
|
|
122
|
+
* Moves a landed first registration's id from `pendingRegistrationId` to
|
|
123
|
+
* `registrationId` on the item for `fromSpace`. An item already settled on
|
|
124
|
+
* `registrationId` with no pending id writes nothing. An item whose pending
|
|
125
|
+
* id is another, or that carries neither, is refused with an `Error`.
|
|
126
|
+
*
|
|
127
|
+
* Refuses an entry of another kind with {@link ConnectionKindMismatchError},
|
|
128
|
+
* and an entry listing no item for `fromSpace` with an `Error`. An absent
|
|
129
|
+
* entry writes nothing.
|
|
130
|
+
*
|
|
131
|
+
* @param options {object}
|
|
132
|
+
* @param options.store {ConnectionsStore}
|
|
133
|
+
* @param options.hmacKey {ConnectionIdKey}
|
|
134
|
+
* @param options.did {string} the replica server's `serverDid`
|
|
135
|
+
* @param options.fromSpace {string} the item's source Space
|
|
136
|
+
* @param options.registrationId {string} the id that landed
|
|
137
|
+
* @returns {Promise<ConnectionWriteResult>}
|
|
138
|
+
*/
|
|
139
|
+
export declare function settleReplicaRegistration({ store, hmacKey, did, fromSpace: value, registrationId }: {
|
|
140
|
+
store: ConnectionsStore;
|
|
141
|
+
hmacKey: ConnectionIdKey;
|
|
142
|
+
did: string;
|
|
143
|
+
fromSpace: string;
|
|
144
|
+
registrationId: string;
|
|
145
|
+
}): Promise<ConnectionWriteResult>;
|
|
146
|
+
/**
|
|
147
|
+
* Sets one intent marker to `now` on each named item, or on every item when
|
|
148
|
+
* `fromSpaces` is omitted: `stoppedAt` is the user's Stop, `restartedAt` the
|
|
149
|
+
* re-start, and `lostAt` the replica Space reading absent under the account's
|
|
150
|
+
* own authority. An item already carrying the marker keeps its time. Setting
|
|
151
|
+
* `restartedAt` also clears the entry's `declined`, in the same write, since
|
|
152
|
+
* the re-start is the owner's consent. Nothing to set writes nothing.
|
|
153
|
+
*
|
|
154
|
+
* Refuses an entry of another kind with {@link ConnectionKindMismatchError},
|
|
155
|
+
* a named source Space the entry lists no item for with an `Error`, and an
|
|
156
|
+
* empty `fromSpaces` with a `TypeError`, since it would mark nothing while
|
|
157
|
+
* the re-start's decline clearing still ran. An absent entry writes nothing.
|
|
158
|
+
*
|
|
159
|
+
* @param options {object}
|
|
160
|
+
* @param options.store {ConnectionsStore}
|
|
161
|
+
* @param options.hmacKey {ConnectionIdKey}
|
|
162
|
+
* @param options.did {string} the replica server's `serverDid`
|
|
163
|
+
* @param options.marker {ReplicaMarker}
|
|
164
|
+
* @param [options.fromSpaces] {Iterable<string>} the items to mark, by
|
|
165
|
+
* source Space; omitted, every item
|
|
166
|
+
* @param [options.now] {Date}
|
|
167
|
+
* @returns {Promise<ConnectionWriteResult>}
|
|
168
|
+
*/
|
|
169
|
+
export declare function setReplicaMarker({ store, hmacKey, did, marker, fromSpaces, now }: {
|
|
170
|
+
store: ConnectionsStore;
|
|
171
|
+
hmacKey: ConnectionIdKey;
|
|
172
|
+
did: string;
|
|
173
|
+
marker: ReplicaMarker;
|
|
174
|
+
fromSpaces?: Iterable<string>;
|
|
175
|
+
now?: Date;
|
|
176
|
+
}): Promise<ConnectionWriteResult>;
|
|
177
|
+
/**
|
|
178
|
+
* Clears one intent marker on each named item, or on every item when
|
|
179
|
+
* `fromSpaces` is omitted: a completed re-start clears `stoppedAt` and then
|
|
180
|
+
* `restartedAt`. An item without the marker is left as stored, and nothing
|
|
181
|
+
* to clear writes nothing.
|
|
182
|
+
*
|
|
183
|
+
* Refuses an entry of another kind with {@link ConnectionKindMismatchError},
|
|
184
|
+
* a named source Space the entry lists no item for with an `Error`, and an
|
|
185
|
+
* empty `fromSpaces` with a `TypeError`. An absent entry writes nothing.
|
|
186
|
+
*
|
|
187
|
+
* @param options {object}
|
|
188
|
+
* @param options.store {ConnectionsStore}
|
|
189
|
+
* @param options.hmacKey {ConnectionIdKey}
|
|
190
|
+
* @param options.did {string} the replica server's `serverDid`
|
|
191
|
+
* @param options.marker {ReplicaMarker}
|
|
192
|
+
* @param [options.fromSpaces] {Iterable<string>} the items to clear, by
|
|
193
|
+
* source Space; omitted, every item
|
|
194
|
+
* @returns {Promise<ConnectionWriteResult>}
|
|
195
|
+
*/
|
|
196
|
+
export declare function clearReplicaMarker({ store, hmacKey, did, marker, fromSpaces }: {
|
|
197
|
+
store: ConnectionsStore;
|
|
198
|
+
hmacKey: ConnectionIdKey;
|
|
199
|
+
did: string;
|
|
200
|
+
marker: ReplicaMarker;
|
|
201
|
+
fromSpaces?: Iterable<string>;
|
|
202
|
+
}): Promise<ConnectionWriteResult>;
|
|
203
|
+
/**
|
|
204
|
+
* Removes the item for `fromSpace`, once its replica Space is gone. An
|
|
205
|
+
* entry listing no such item writes nothing. The entry is not retired here:
|
|
206
|
+
* `retireConnection` runs once the list is empty.
|
|
207
|
+
*
|
|
208
|
+
* Refuses an entry of another kind with {@link ConnectionKindMismatchError},
|
|
209
|
+
* and an item whose source Space a recorded grant still targets with an
|
|
210
|
+
* `Error`: Stop revokes and removes the pull grants first, so a grant left
|
|
211
|
+
* recorded means a Stop torn before its last step, and the removal would
|
|
212
|
+
* hide it from the readers that finish it. An absent entry writes nothing.
|
|
213
|
+
*
|
|
214
|
+
* @param options {object}
|
|
215
|
+
* @param options.store {ConnectionsStore}
|
|
216
|
+
* @param options.hmacKey {ConnectionIdKey}
|
|
217
|
+
* @param options.did {string} the replica server's `serverDid`
|
|
218
|
+
* @param options.fromSpace {string} the item's source Space
|
|
219
|
+
* @returns {Promise<ConnectionWriteResult>}
|
|
220
|
+
*/
|
|
221
|
+
export declare function removeReplica({ store, hmacKey, did, fromSpace: value }: {
|
|
222
|
+
store: ConnectionsStore;
|
|
223
|
+
hmacKey: ConnectionIdKey;
|
|
224
|
+
did: string;
|
|
225
|
+
fromSpace: string;
|
|
226
|
+
}): Promise<ConnectionWriteResult>;
|
|
227
|
+
//# sourceMappingURL=replicas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replicas.d.ts","sourceRoot":"","sources":["../../src/connections/replicas.ts"],"names":[],"mappings":"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"}
|