@interop/wallet-core 0.80.1 → 0.81.1

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.
@@ -50,9 +50,11 @@ export interface SpaceProvisionSpec {
50
50
  * stable id whose body is overwritten).
51
51
  * - `mutable` -- whether a document is overwritten in place (`true`) or only
52
52
  * ever appended (`false`).
53
- * - `shareable` -- whether the collection may be offered on the wallet's share
54
- * surface (the `https://w3id.org/byoe#shared-wallet-collection` grant
55
- * allowlist and the storage-page share dialog). `shareable: false` keeps a
53
+ * - `shareable` -- whether a new share may name the collection (the
54
+ * `https://w3id.org/byoe#shared-wallet-collection` grant allowlist). It
55
+ * gates new grants only: a reader already escrowed into the collection's key
56
+ * epochs stays there, so a listing of existing readers covers every
57
+ * encrypted collection instead. `shareable: false` keeps a
56
58
  * collection out of sharing while it stays in the encrypted sets (cipher
57
59
  * build, key epochs, the user-key cascade), which are driven by
58
60
  * `encryption: 'edv'`, not by this field.
@@ -78,6 +80,11 @@ export declare const PUBLIC_CREDENTIALS_COLLECTION_SPEC: SpaceCollectionSpec;
78
80
  * The append-only activity log: each entry stored as an EDV envelope, addressed
79
81
  * by content hash, never overwritten, never public. Shared with the web wallet's
80
82
  * `wallet-activity` collection, so each replica reads the other's entries.
83
+ * Not shareable: the rows are the account's grant history. Each Login and
84
+ * collection-share row carries the delegated capabilities verbatim, proofs and
85
+ * capability chains included, so one reader of this collection would learn
86
+ * every connected app and agent, its targets and verbs, and hold the
87
+ * capability documents themselves.
81
88
  */
82
89
  export declare const WALLET_ACTIVITY_COLLECTION_SPEC: SpaceCollectionSpec;
83
90
  /**
@@ -112,15 +119,17 @@ export declare const ID_COLLECTION_SPEC: SpaceProvisionSpec;
112
119
  * The `key-map` collection's provisioning attributes: plaintext (its resources
113
120
  * are wrap-sets and key-id maps, protected by capability, not by an EDV
114
121
  * envelope) and capability-only -- never public, exactly so `id` can be
115
- * world-readable without exposing key material.
122
+ * world-readable without exposing key material. Its roster names a passphrase
123
+ * credential by its passphrase-derived key beside a wrap of the user key, so
124
+ * a third-party read grant on it is an offline guessing oracle.
116
125
  */
117
126
  export declare const KEY_MAP_COLLECTION_SPEC: SpaceProvisionSpec;
118
127
  /**
119
- * The `unlock-methods` collection's provisioning attributes: plaintext (its one
120
- * resource, `methods.json`, holds non-secret method records -- which unlock
121
- * methods exist, never the secrets behind them) and capability-only. Read and
122
- * written directly with the remote as the source of truth (last-write-wins);
123
- * it gets no local replica and no background replication.
128
+ * The `unlock-methods` collection's provisioning attributes: plaintext on the
129
+ * server (its one resource, `methods.json`, is sealed and signed by the wallet
130
+ * itself, so the collection needs no EDV envelope) and capability-only. Read
131
+ * and written directly with the remote as the source of truth, under
132
+ * conditional writes; it gets no local replica and no background replication.
124
133
  */
125
134
  export declare const UNLOCK_METHODS_COLLECTION_SPEC: SpaceProvisionSpec;
126
135
  /**
@@ -213,9 +222,10 @@ export declare const COLLECTION_HISTORY_LOG_SUBRESOURCE = "meta/log";
213
222
  export declare const CLIENT_LABELS_RESOURCE = "client-labels.json";
214
223
  /**
215
224
  * The account's unlock-method registry, the single resource of the
216
- * `unlock-methods` collection: the non-secret records naming which methods can
217
- * unlock the account (passphrase, passkeys). Read and written directly, remote
218
- * as the source of truth (last-write-wins) -- never replicated.
225
+ * `unlock-methods` collection: the records naming which methods can unlock the
226
+ * account (passphrase, passkeys), sealed to the user key and signed. Read and
227
+ * written directly, remote as the source of truth under conditional writes --
228
+ * never replicated.
219
229
  */
220
230
  export declare const UNLOCK_METHODS_RESOURCE = "methods.json";
221
231
  //# sourceMappingURL=collections.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/space/collections.ts"],"names":[],"mappings":"AAgCA,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,wBAAwB,CAAA;AAE/B;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,iBAAiB,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,8BAA8B,wBAAwB,CAAA;AACnE;;GAEG;AACH,eAAO,MAAM,6BAA6B,uBAAuB,CAAA;AACjE;;GAEG;AACH,eAAO,MAAM,0BAA0B,oBAAoB,CAAA;AAC3D;;GAEG;AACH,eAAO,MAAM,0BAA0B,oBAAoB,CAAA;AAE3D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,KAAK,GAAG,WAAW,CAAA;IAC/B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,YAAY,EAAE,SAAS,GAAG,QAAQ,CAAA;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,mCAAmC,EAAE,mBAQjD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,EAAE,mBAQhD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,EAAE,mBAQ7C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,EAAE,mBAM5C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,sCAAsC,EAAE,mBAMpD,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,EAAE,mBAQ7C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAKhC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,kBAKrC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,EAAE,kBAK5C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,mBAAmB,EAO1D,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,EAIzD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,EAG7D,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,EAAE,CAIvD;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,aAAa,CAAA;AAC/C;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,cAAc,CAAA;AAC3C;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,cAAc,CAAA;AAC5C;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,mBAAmB,CAAA;AAC5D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kCAAkC,aAAa,CAAA;AAC5D;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,uBAAuB,CAAA;AAC1D;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,iBAAiB,CAAA"}
1
+ {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/space/collections.ts"],"names":[],"mappings":"AAgCA,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,wBAAwB,CAAA;AAE/B;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,iBAAiB,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,8BAA8B,wBAAwB,CAAA;AACnE;;GAEG;AACH,eAAO,MAAM,6BAA6B,uBAAuB,CAAA;AACjE;;GAEG;AACH,eAAO,MAAM,0BAA0B,oBAAoB,CAAA;AAC3D;;GAEG;AACH,eAAO,MAAM,0BAA0B,oBAAoB,CAAA;AAE3D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,KAAK,GAAG,WAAW,CAAA;IAC/B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,YAAY,EAAE,SAAS,GAAG,QAAQ,CAAA;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,mCAAmC,EAAE,mBAQjD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,EAAE,mBAQhD,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,+BAA+B,EAAE,mBAQ7C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,EAAE,mBAM5C,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,sCAAsC,EAAE,mBAMpD,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,EAAE,mBAQ7C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAKhC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE,kBAKrC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,EAAE,kBAK5C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,mBAAmB,EAO1D,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,EAIzD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,EAG7D,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,EAAE,CAIvD;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,aAAa,CAAA;AAC/C;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,cAAc,CAAA;AAC3C;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,cAAc,CAAA;AAC5C;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,mBAAmB,CAAA;AAC5D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kCAAkC,aAAa,CAAA;AAC5D;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,uBAAuB,CAAA;AAC1D;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,iBAAiB,CAAA"}
@@ -77,6 +77,11 @@ export const PUBLIC_CREDENTIALS_COLLECTION_SPEC = {
77
77
  * The append-only activity log: each entry stored as an EDV envelope, addressed
78
78
  * by content hash, never overwritten, never public. Shared with the web wallet's
79
79
  * `wallet-activity` collection, so each replica reads the other's entries.
80
+ * Not shareable: the rows are the account's grant history. Each Login and
81
+ * collection-share row carries the delegated capabilities verbatim, proofs and
82
+ * capability chains included, so one reader of this collection would learn
83
+ * every connected app and agent, its targets and verbs, and hold the
84
+ * capability documents themselves.
80
85
  */
81
86
  export const WALLET_ACTIVITY_COLLECTION_SPEC = {
82
87
  collectionId: WALLET_ACTIVITY_COLLECTION,
@@ -85,7 +90,7 @@ export const WALLET_ACTIVITY_COLLECTION_SPEC = {
85
90
  mutable: false,
86
91
  encryption: 'edv',
87
92
  isPublic: false,
88
- shareable: true
93
+ shareable: false
89
94
  };
90
95
  /**
91
96
  * The contacts head collection as it sits in the wallet Space: the identity
@@ -144,7 +149,9 @@ export const ID_COLLECTION_SPEC = {
144
149
  * The `key-map` collection's provisioning attributes: plaintext (its resources
145
150
  * are wrap-sets and key-id maps, protected by capability, not by an EDV
146
151
  * envelope) and capability-only -- never public, exactly so `id` can be
147
- * world-readable without exposing key material.
152
+ * world-readable without exposing key material. Its roster names a passphrase
153
+ * credential by its passphrase-derived key beside a wrap of the user key, so
154
+ * a third-party read grant on it is an offline guessing oracle.
148
155
  */
149
156
  export const KEY_MAP_COLLECTION_SPEC = {
150
157
  collectionId: KEY_MAP_COLLECTION.id,
@@ -153,11 +160,11 @@ export const KEY_MAP_COLLECTION_SPEC = {
153
160
  isPublic: false
154
161
  };
155
162
  /**
156
- * The `unlock-methods` collection's provisioning attributes: plaintext (its one
157
- * resource, `methods.json`, holds non-secret method records -- which unlock
158
- * methods exist, never the secrets behind them) and capability-only. Read and
159
- * written directly with the remote as the source of truth (last-write-wins);
160
- * it gets no local replica and no background replication.
163
+ * The `unlock-methods` collection's provisioning attributes: plaintext on the
164
+ * server (its one resource, `methods.json`, is sealed and signed by the wallet
165
+ * itself, so the collection needs no EDV envelope) and capability-only. Read
166
+ * and written directly with the remote as the source of truth, under
167
+ * conditional writes; it gets no local replica and no background replication.
161
168
  */
162
169
  export const UNLOCK_METHODS_COLLECTION_SPEC = {
163
170
  collectionId: UNLOCK_METHODS_COLLECTION.id,
@@ -271,9 +278,10 @@ export const COLLECTION_HISTORY_LOG_SUBRESOURCE = 'meta/log';
271
278
  export const CLIENT_LABELS_RESOURCE = 'client-labels.json';
272
279
  /**
273
280
  * The account's unlock-method registry, the single resource of the
274
- * `unlock-methods` collection: the non-secret records naming which methods can
275
- * unlock the account (passphrase, passkeys). Read and written directly, remote
276
- * as the source of truth (last-write-wins) -- never replicated.
281
+ * `unlock-methods` collection: the records naming which methods can unlock the
282
+ * account (passphrase, passkeys), sealed to the user key and signed. Read and
283
+ * written directly, remote as the source of truth under conditional writes --
284
+ * never replicated.
277
285
  */
278
286
  export const UNLOCK_METHODS_RESOURCE = 'methods.json';
279
287
  //# sourceMappingURL=collections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/space/collections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/space/collections.ts"],"names":[],"mappings":"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"}
@@ -23,11 +23,15 @@
23
23
  * - `key-map` -- private and capability-gated: the key-id map (`keys.json`)
24
24
  * and the user key wrap-set roster log (`user-key.jsonl`). Kept separate from
25
25
  * `id` exactly so `id` can be made world-readable without ever exposing key
26
- * material.
26
+ * material. No capability to it should be delegated to a third party: the
27
+ * roster names a passphrase credential by its passphrase-derived key, beside
28
+ * a wrap of the user key, so a reader can test passphrase guesses offline.
27
29
  * - `unlock-methods` -- private and capability-gated: the account's
28
- * unlock-method registry (`methods.json`), the non-secret records describing
29
- * how the account can be unlocked (passphrase, passkeys). It lives in the
30
- * wallet data Space, not the unlock Space, and holds no key material.
30
+ * unlock-method registry (`methods.json`), the records describing how the
31
+ * account can be unlocked (passphrase, passkeys). The record is sealed to
32
+ * the user key and signed by the key the user key derives, since its
33
+ * entries carry each method's management capability. It lives in the
34
+ * wallet data Space, not the unlock Space.
31
35
  * - `keyring` -- the unlock Space's single collection, holding the one
32
36
  * keyring record (`keyring.json`). It lives in the minimal unlock Space
33
37
  * controlled by an unlock identity, never in the wallet data Space.
@@ -1 +1 @@
1
- {"version":3,"file":"systemCollections.d.ts","sourceRoot":"","sources":["../../src/space/systemCollections.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,aAAa;;;CAAiC,CAAA;AAC3D,eAAO,MAAM,kBAAkB;;;CAAqC,CAAA;AACpE,eAAO,MAAM,yBAAyB;;;CAGrC,CAAA;AACD,eAAO,MAAM,kBAAkB;;;CAAqC,CAAA;AAEpE;;GAEG;AACH,eAAO,MAAM,gBAAgB,iBAAiB,CAAA"}
1
+ {"version":3,"file":"systemCollections.d.ts","sourceRoot":"","sources":["../../src/space/systemCollections.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,aAAa;;;CAAiC,CAAA;AAC3D,eAAO,MAAM,kBAAkB;;;CAAqC,CAAA;AACpE,eAAO,MAAM,yBAAyB;;;CAGrC,CAAA;AACD,eAAO,MAAM,kBAAkB;;;CAAqC,CAAA;AAEpE;;GAEG;AACH,eAAO,MAAM,gBAAgB,iBAAiB,CAAA"}
@@ -23,11 +23,15 @@
23
23
  * - `key-map` -- private and capability-gated: the key-id map (`keys.json`)
24
24
  * and the user key wrap-set roster log (`user-key.jsonl`). Kept separate from
25
25
  * `id` exactly so `id` can be made world-readable without ever exposing key
26
- * material.
26
+ * material. No capability to it should be delegated to a third party: the
27
+ * roster names a passphrase credential by its passphrase-derived key, beside
28
+ * a wrap of the user key, so a reader can test passphrase guesses offline.
27
29
  * - `unlock-methods` -- private and capability-gated: the account's
28
- * unlock-method registry (`methods.json`), the non-secret records describing
29
- * how the account can be unlocked (passphrase, passkeys). It lives in the
30
- * wallet data Space, not the unlock Space, and holds no key material.
30
+ * unlock-method registry (`methods.json`), the records describing how the
31
+ * account can be unlocked (passphrase, passkeys). The record is sealed to
32
+ * the user key and signed by the key the user key derives, since its
33
+ * entries carry each method's management capability. It lives in the
34
+ * wallet data Space, not the unlock Space.
31
35
  * - `keyring` -- the unlock Space's single collection, holding the one
32
36
  * keyring record (`keyring.json`). It lives in the minimal unlock Space
33
37
  * controlled by an unlock identity, never in the wallet data Space.
@@ -1 +1 @@
1
- {"version":3,"file":"systemCollections.js","sourceRoot":"","sources":["../../src/space/systemCollections.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;AAC3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,EAAE,EAAE,gBAAgB;IACpB,IAAI,EAAE,gBAAgB;CACvB,CAAA;AACD,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;AAEpE;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAA"}
1
+ {"version":3,"file":"systemCollections.js","sourceRoot":"","sources":["../../src/space/systemCollections.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;AAC3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,EAAE,EAAE,gBAAgB;IACpB,IAAI,EAAE,gBAAgB;CACvB,CAAA;AACD,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;AAEpE;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@interop/wallet-core",
3
3
  "description": "Shared wallet-domain logic (WAS sync engine core and wallet Space layout contracts) for Interop wallet apps.",
4
- "version": "0.80.1",
4
+ "version": "0.81.1",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "build": "pnpm run clear && tsc",
@@ -25,7 +25,7 @@
25
25
  "@interop/did-method-webvh": "^5.11.0",
26
26
  "@interop/ed25519-signature": "^7.2.3",
27
27
  "@interop/ed25519-verification-key": "^8.2.1",
28
- "@interop/ezcap": "^7.4.10",
28
+ "@interop/ezcap": "^7.5.0",
29
29
  "@interop/social-core": "^0.8.1",
30
30
  "@interop/vh-resource-log": "^0.5.3",
31
31
  "@interop/x25519-key-agreement-key": "^5.4.1",
@@ -37,8 +37,8 @@
37
37
  "devDependencies": {
38
38
  "@eslint/js": "^10.0.1",
39
39
  "@interop/logger": "^0.2.0",
40
- "@interop/storage-core": "^0.19.1",
41
- "@interop/was-client": "^0.71.0",
40
+ "@interop/storage-core": "^0.20.0",
41
+ "@interop/was-client": "^0.73.0",
42
42
  "@playwright/test": "^1.60.0",
43
43
  "@types/node": "^26.0.1",
44
44
  "@vitest/coverage-v8": "^4.1.7",