@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.
@@ -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"}
@@ -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';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/edv/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;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,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"}
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';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/edv/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;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,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"}
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"}
@@ -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 { WAS_RESOURCE_LOG_METHOD } from '@interop/storage-core';
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
@@ -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,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,YAAY,EACV,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,EAC5B,6BAA6B,EAC7B,qBAAqB,EACtB,MAAM,uBAAuB,CAAA"}
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 { WAS_RESOURCE_LOG_METHOD } from '@interop/storage-core';
21
+ export { RESOURCE_LOG_METHOD } from '@interop/storage-core';
22
22
  //# sourceMappingURL=index.js.map
@@ -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,uBAAuB,EAAE,MAAM,uBAAuB,CAAA"}
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.36.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.8.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",