@interop/was-client 0.36.0 → 0.38.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/dist/edv/epochRoster.d.ts +53 -0
- package/dist/edv/epochRoster.d.ts.map +1 -0
- package/dist/edv/epochRoster.js +49 -0
- package/dist/edv/epochRoster.js.map +1 -0
- package/dist/edv/index.d.ts +5 -0
- package/dist/edv/index.d.ts.map +1 -1
- package/dist/edv/index.js +5 -0
- package/dist/edv/index.js.map +1 -1
- package/dist/log/index.d.ts +1 -1
- package/dist/log/index.d.ts.map +1 -1
- package/dist/log/index.js +1 -1
- package/dist/log/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Crypto-free predicates over a Collection's `encryption` descriptor: whether it
|
|
6
|
+
* carries a usable key-epoch roster, and whether two descriptors name the same
|
|
7
|
+
* roster. Neither touches key material, so a caller deciding what to do with a
|
|
8
|
+
* descriptor -- open it, refuse it fail-closed, rebuild a cipher for it -- does
|
|
9
|
+
* not have to pull in the epoch crypto to ask.
|
|
10
|
+
*
|
|
11
|
+
* These exist because every consumer that holds descriptors (a local replica
|
|
12
|
+
* deciding whether a collection is encrypted, a sync layer deciding whether a
|
|
13
|
+
* freshly-read descriptor invalidates the cipher it opened with) otherwise
|
|
14
|
+
* re-derives the same two checks, and the two definitions have to agree across
|
|
15
|
+
* consumers to be worth anything.
|
|
16
|
+
*/
|
|
17
|
+
import type { CollectionEncryption, CollectionEncryptionEpoch } from '../types.js';
|
|
18
|
+
/**
|
|
19
|
+
* Whether a descriptor carries a usable key-epoch roster: it is present, its
|
|
20
|
+
* `currentEpoch` is a string, and its `epochs` list is a non-empty array. Both
|
|
21
|
+
* halves matter -- a roster with no `currentEpoch` names no epoch to write
|
|
22
|
+
* under, and a `currentEpoch` with no epochs names an entry that does not
|
|
23
|
+
* exist -- so only a descriptor passing both is one an epoch-aware cipher can
|
|
24
|
+
* be opened from.
|
|
25
|
+
*
|
|
26
|
+
* @param [encryption] {CollectionEncryption} the descriptor to test
|
|
27
|
+
* @returns {boolean}
|
|
28
|
+
*/
|
|
29
|
+
export declare function hasKeyEpochs(encryption?: CollectionEncryption): encryption is CollectionEncryption & {
|
|
30
|
+
currentEpoch: string;
|
|
31
|
+
epochs: CollectionEncryptionEpoch[];
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Whether two descriptors name the same key-epoch roster: their `currentEpoch`
|
|
35
|
+
* values are equal AND their `epochs` lists carry the same epoch ids in the same
|
|
36
|
+
* order. An `undefined` descriptor equals only another `undefined` one, so a
|
|
37
|
+
* caller holding nothing yet reads a freshly-read descriptor as a change.
|
|
38
|
+
*
|
|
39
|
+
* This is roster IDENTITY, not descriptor equality: the recipients wrapped
|
|
40
|
+
* inside each epoch are deliberately not compared. Adding or removing a reader
|
|
41
|
+
* within an existing epoch changes which recipients an epoch wraps its key to,
|
|
42
|
+
* but leaves every epoch id and the write epoch alone, so the keys this reader
|
|
43
|
+
* already resolved stay correct and a cipher built from the older descriptor
|
|
44
|
+
* stays valid. Only a rotation -- a new epoch appended and `currentEpoch` moved
|
|
45
|
+
* onto it -- changes what a reader must resolve, and that is exactly what an
|
|
46
|
+
* inequality here reports.
|
|
47
|
+
*
|
|
48
|
+
* @param [current] {CollectionEncryption} the descriptor in hand
|
|
49
|
+
* @param [next] {CollectionEncryption} the descriptor to compare it against
|
|
50
|
+
* @returns {boolean}
|
|
51
|
+
*/
|
|
52
|
+
export declare function epochRostersEqual(current?: CollectionEncryption, next?: CollectionEncryption): boolean;
|
|
53
|
+
//# sourceMappingURL=epochRoster.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"epochRoster.d.ts","sourceRoot":"","sources":["../../src/edv/epochRoster.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,aAAa,CAAA;AAEpB;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAC1B,UAAU,CAAC,EAAE,oBAAoB,GAChC,UAAU,IAAI,oBAAoB,GAAG;IACtC,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,yBAAyB,EAAE,CAAA;CACpC,CAOA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,CAAC,EAAE,oBAAoB,EAC9B,IAAI,CAAC,EAAE,oBAAoB,GAC1B,OAAO,CAaT"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether a descriptor carries a usable key-epoch roster: it is present, its
|
|
3
|
+
* `currentEpoch` is a string, and its `epochs` list is a non-empty array. Both
|
|
4
|
+
* halves matter -- a roster with no `currentEpoch` names no epoch to write
|
|
5
|
+
* under, and a `currentEpoch` with no epochs names an entry that does not
|
|
6
|
+
* exist -- so only a descriptor passing both is one an epoch-aware cipher can
|
|
7
|
+
* be opened from.
|
|
8
|
+
*
|
|
9
|
+
* @param [encryption] {CollectionEncryption} the descriptor to test
|
|
10
|
+
* @returns {boolean}
|
|
11
|
+
*/
|
|
12
|
+
export function hasKeyEpochs(encryption) {
|
|
13
|
+
return (encryption !== undefined &&
|
|
14
|
+
typeof encryption.currentEpoch === 'string' &&
|
|
15
|
+
Array.isArray(encryption.epochs) &&
|
|
16
|
+
encryption.epochs.length > 0);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Whether two descriptors name the same key-epoch roster: their `currentEpoch`
|
|
20
|
+
* values are equal AND their `epochs` lists carry the same epoch ids in the same
|
|
21
|
+
* order. An `undefined` descriptor equals only another `undefined` one, so a
|
|
22
|
+
* caller holding nothing yet reads a freshly-read descriptor as a change.
|
|
23
|
+
*
|
|
24
|
+
* This is roster IDENTITY, not descriptor equality: the recipients wrapped
|
|
25
|
+
* inside each epoch are deliberately not compared. Adding or removing a reader
|
|
26
|
+
* within an existing epoch changes which recipients an epoch wraps its key to,
|
|
27
|
+
* but leaves every epoch id and the write epoch alone, so the keys this reader
|
|
28
|
+
* already resolved stay correct and a cipher built from the older descriptor
|
|
29
|
+
* stays valid. Only a rotation -- a new epoch appended and `currentEpoch` moved
|
|
30
|
+
* onto it -- changes what a reader must resolve, and that is exactly what an
|
|
31
|
+
* inequality here reports.
|
|
32
|
+
*
|
|
33
|
+
* @param [current] {CollectionEncryption} the descriptor in hand
|
|
34
|
+
* @param [next] {CollectionEncryption} the descriptor to compare it against
|
|
35
|
+
* @returns {boolean}
|
|
36
|
+
*/
|
|
37
|
+
export function epochRostersEqual(current, next) {
|
|
38
|
+
if (current === undefined || next === undefined) {
|
|
39
|
+
return current === undefined && next === undefined;
|
|
40
|
+
}
|
|
41
|
+
if (current.currentEpoch !== next.currentEpoch) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
const currentIds = (current.epochs ?? []).map(epoch => epoch.id);
|
|
45
|
+
const nextIds = (next.epochs ?? []).map(epoch => epoch.id);
|
|
46
|
+
return (currentIds.length === nextIds.length &&
|
|
47
|
+
currentIds.every((id, index) => id === nextIds[index]));
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=epochRoster.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"epochRoster.js","sourceRoot":"","sources":["../../src/edv/epochRoster.ts"],"names":[],"mappings":"AAqBA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAiC;IAKjC,OAAO,CACL,UAAU,KAAK,SAAS;QACxB,OAAO,UAAU,CAAC,YAAY,KAAK,QAAQ;QAC3C,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QAChC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAC7B,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAA8B,EAC9B,IAA2B;IAE3B,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,OAAO,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,CAAA;IACpD,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAChE,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC1D,OAAO,CACL,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;QACpC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CACvD,CAAA;AACH,CAAC"}
|
package/dist/edv/index.d.ts
CHANGED
|
@@ -33,6 +33,10 @@
|
|
|
33
33
|
* epoch key (see `hmacKey.ts`). It is installed at provisioning or never, and
|
|
34
34
|
* never rotates.
|
|
35
35
|
*
|
|
36
|
+
* `hasKeyEpochs` and `epochRostersEqual` are the crypto-free predicates over a
|
|
37
|
+
* descriptor: whether it carries a usable roster, and whether two descriptors
|
|
38
|
+
* name the same one (roster identity, recipient sets deliberately excluded).
|
|
39
|
+
*
|
|
36
40
|
* `x25519RecipientFromDidKey` is the one rule for turning a grantee named only
|
|
37
41
|
* by its Ed25519 `did:key` controller into a `RecipientPublicKey`, so a
|
|
38
42
|
* recipient key is always derived from an identifier both sides already hold
|
|
@@ -48,6 +52,7 @@ export { isEd25519DidKey, x25519RecipientFromDidKey } from './didKeyRecipient.js
|
|
|
48
52
|
export { collectionDescriptorStore, resourceDescriptorStore } from './descriptorStore.js';
|
|
49
53
|
export type { EncryptionDescriptorStore } from './descriptorStore.js';
|
|
50
54
|
export { mintEpoch, epochKeyIdFor, unwrapEpochSecret, wrapEpochSecret } from './epochCrypto.js';
|
|
55
|
+
export { hasKeyEpochs, epochRostersEqual } from './epochRoster.js';
|
|
51
56
|
export { resolveEpochKeys } from './epochKeys.js';
|
|
52
57
|
export type { ResolvedEpochKeys } from './epochKeys.js';
|
|
53
58
|
export { HMAC_KEY_TYPE, mintHmacKey, hmacKeyFromSecret, resolveHmacKey } from './hmacKey.js';
|
package/dist/edv/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/edv/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/edv/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7D,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACtE,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,gBAAgB,EACjB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EACL,eAAe,EACf,yBAAyB,EAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,EACL,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,eAAe,EAChB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EACL,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,cAAc,EACf,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
|
package/dist/edv/index.js
CHANGED
|
@@ -33,6 +33,10 @@
|
|
|
33
33
|
* epoch key (see `hmacKey.ts`). It is installed at provisioning or never, and
|
|
34
34
|
* never rotates.
|
|
35
35
|
*
|
|
36
|
+
* `hasKeyEpochs` and `epochRostersEqual` are the crypto-free predicates over a
|
|
37
|
+
* descriptor: whether it carries a usable roster, and whether two descriptors
|
|
38
|
+
* name the same one (roster identity, recipient sets deliberately excluded).
|
|
39
|
+
*
|
|
36
40
|
* `x25519RecipientFromDidKey` is the one rule for turning a grantee named only
|
|
37
41
|
* by its Ed25519 `did:key` controller into a `RecipientPublicKey`, so a
|
|
38
42
|
* recipient key is always derived from an identifier both sides already hold
|
|
@@ -45,6 +49,7 @@ export { ensureFirstEpoch, initRecipients, addRecipient, removeRecipient, replac
|
|
|
45
49
|
export { isEd25519DidKey, x25519RecipientFromDidKey } from './didKeyRecipient.js';
|
|
46
50
|
export { collectionDescriptorStore, resourceDescriptorStore } from './descriptorStore.js';
|
|
47
51
|
export { mintEpoch, epochKeyIdFor, unwrapEpochSecret, wrapEpochSecret } from './epochCrypto.js';
|
|
52
|
+
export { hasKeyEpochs, epochRostersEqual } from './epochRoster.js';
|
|
48
53
|
export { resolveEpochKeys } from './epochKeys.js';
|
|
49
54
|
export { HMAC_KEY_TYPE, mintHmacKey, hmacKeyFromSecret, resolveHmacKey } from './hmacKey.js';
|
|
50
55
|
export { createEdvDocCipher, ownerRecipient, UnknownEpochError, isEncryptedEnvelope } from './docCipher.js';
|
package/dist/edv/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/edv/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/edv/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACtE,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,gBAAgB,EACjB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,eAAe,EACf,yBAAyB,EAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,eAAe,EAChB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,OAAO,EACL,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,cAAc,EACf,MAAM,cAAc,CAAA;AAErB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,gBAAgB,CAAA"}
|
package/dist/log/index.d.ts
CHANGED
|
@@ -19,6 +19,6 @@ export { parseResourceLog, serializeResourceLog, serializeResourceLogEntry } fro
|
|
|
19
19
|
export { LOG_CONTENT_TYPE, resourceLogStore, confirmAppend } from './logStore.js';
|
|
20
20
|
export type { ResourceLogStore } from './logStore.js';
|
|
21
21
|
export { LogNotConfirmedError } from '../errors.js';
|
|
22
|
-
export {
|
|
22
|
+
export { RESOURCE_LOG_METHOD } from '@interop/storage-core';
|
|
23
23
|
export type { ResourceLogEntry, ResourceLogEntryProof, ResourceLogGenesisParameters, ResourceLogTerminalParameters, ResourceLogParameters } from '@interop/storage-core';
|
|
24
24
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/log/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/log/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;GAaG;AACH,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACd,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/log/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;GAaG;AACH,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACd,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,YAAY,EACV,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,EAC5B,6BAA6B,EAC7B,qBAAqB,EACtB,MAAM,uBAAuB,CAAA"}
|
package/dist/log/index.js
CHANGED
|
@@ -18,5 +18,5 @@
|
|
|
18
18
|
export { parseResourceLog, serializeResourceLog, serializeResourceLogEntry } from './jsonl.js';
|
|
19
19
|
export { LOG_CONTENT_TYPE, resourceLogStore, confirmAppend } from './logStore.js';
|
|
20
20
|
export { LogNotConfirmedError } from '../errors.js';
|
|
21
|
-
export {
|
|
21
|
+
export { RESOURCE_LOG_METHOD } from '@interop/storage-core';
|
|
22
22
|
//# sourceMappingURL=index.js.map
|
package/dist/log/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/log/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;GAaG;AACH,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACd,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/log/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;GAaG;AACH,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACd,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@interop/was-client",
|
|
3
3
|
"description": "A developer-friendly client for Wallet Attached Storage (WAS) servers.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.38.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"build": "pnpm run clear && tsc",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"@interop/ezcap": "^7.4.1",
|
|
67
67
|
"@interop/http-client": "^1.0.5",
|
|
68
68
|
"@interop/minimal-cipher": "^7.8.1",
|
|
69
|
-
"@interop/storage-core": "^0.
|
|
69
|
+
"@interop/storage-core": "^0.9.0",
|
|
70
70
|
"@interop/x25519-key-agreement-key": "^5.2.1",
|
|
71
71
|
"@noble/hashes": "^2.3.0",
|
|
72
72
|
"@scure/base": "^2.3.0",
|