@interop/was-client 0.27.0 → 0.28.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 (99) hide show
  1. package/dist/Collection.d.ts.map +1 -1
  2. package/dist/Collection.js +27 -66
  3. package/dist/Collection.js.map +1 -1
  4. package/dist/Resource.d.ts.map +1 -1
  5. package/dist/Resource.js +28 -6
  6. package/dist/Resource.js.map +1 -1
  7. package/dist/Space.d.ts.map +1 -1
  8. package/dist/Space.js +10 -25
  9. package/dist/Space.js.map +1 -1
  10. package/dist/WasClient.d.ts.map +1 -1
  11. package/dist/WasClient.js +9 -19
  12. package/dist/WasClient.js.map +1 -1
  13. package/dist/codec.d.ts +31 -5
  14. package/dist/codec.d.ts.map +1 -1
  15. package/dist/edv/EdvCodec.d.ts +9 -14
  16. package/dist/edv/EdvCodec.d.ts.map +1 -1
  17. package/dist/edv/EdvCodec.js +147 -71
  18. package/dist/edv/EdvCodec.js.map +1 -1
  19. package/dist/edv/WasTransport.d.ts +1 -2
  20. package/dist/edv/WasTransport.d.ts.map +1 -1
  21. package/dist/edv/WasTransport.js +19 -28
  22. package/dist/edv/WasTransport.js.map +1 -1
  23. package/dist/edv/constants.d.ts +11 -0
  24. package/dist/edv/constants.d.ts.map +1 -1
  25. package/dist/edv/constants.js +16 -4
  26. package/dist/edv/constants.js.map +1 -1
  27. package/dist/edv/docCipher.d.ts +10 -26
  28. package/dist/edv/docCipher.d.ts.map +1 -1
  29. package/dist/edv/docCipher.js +62 -135
  30. package/dist/edv/docCipher.js.map +1 -1
  31. package/dist/edv/epochCrypto.d.ts +0 -4
  32. package/dist/edv/epochCrypto.d.ts.map +1 -1
  33. package/dist/edv/epochCrypto.js +4 -4
  34. package/dist/edv/epochCrypto.js.map +1 -1
  35. package/dist/edv/epochKeys.d.ts.map +1 -1
  36. package/dist/edv/epochKeys.js +2 -4
  37. package/dist/edv/epochKeys.js.map +1 -1
  38. package/dist/edv/epochMac.d.ts.map +1 -1
  39. package/dist/edv/epochMac.js +4 -4
  40. package/dist/edv/epochMac.js.map +1 -1
  41. package/dist/edv/index.d.ts +3 -2
  42. package/dist/edv/index.d.ts.map +1 -1
  43. package/dist/edv/index.js +2 -1
  44. package/dist/edv/index.js.map +1 -1
  45. package/dist/edv/recipients.d.ts +13 -14
  46. package/dist/edv/recipients.d.ts.map +1 -1
  47. package/dist/edv/recipients.js +126 -99
  48. package/dist/edv/recipients.js.map +1 -1
  49. package/dist/errors.d.ts +29 -12
  50. package/dist/errors.d.ts.map +1 -1
  51. package/dist/errors.js +37 -65
  52. package/dist/errors.js.map +1 -1
  53. package/dist/index.d.ts +1 -1
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/internal/codec.d.ts +15 -12
  56. package/dist/internal/codec.d.ts.map +1 -1
  57. package/dist/internal/codec.js +4 -6
  58. package/dist/internal/codec.js.map +1 -1
  59. package/dist/internal/conditional.d.ts +9 -4
  60. package/dist/internal/conditional.d.ts.map +1 -1
  61. package/dist/internal/conditional.js +9 -2
  62. package/dist/internal/conditional.js.map +1 -1
  63. package/dist/internal/content.d.ts +28 -24
  64. package/dist/internal/content.d.ts.map +1 -1
  65. package/dist/internal/content.js +28 -13
  66. package/dist/internal/content.js.map +1 -1
  67. package/dist/internal/describe.d.ts +15 -2
  68. package/dist/internal/describe.d.ts.map +1 -1
  69. package/dist/internal/describe.js +17 -0
  70. package/dist/internal/describe.js.map +1 -1
  71. package/dist/internal/pagination.d.ts +20 -1
  72. package/dist/internal/pagination.d.ts.map +1 -1
  73. package/dist/internal/pagination.js +22 -0
  74. package/dist/internal/pagination.js.map +1 -1
  75. package/dist/internal/paths.d.ts +0 -11
  76. package/dist/internal/paths.d.ts.map +1 -1
  77. package/dist/internal/paths.js +20 -33
  78. package/dist/internal/paths.js.map +1 -1
  79. package/dist/internal/policy.d.ts.map +1 -1
  80. package/dist/internal/policy.js +2 -9
  81. package/dist/internal/policy.js.map +1 -1
  82. package/dist/internal/write.d.ts +50 -4
  83. package/dist/internal/write.d.ts.map +1 -1
  84. package/dist/internal/write.js +45 -0
  85. package/dist/internal/write.js.map +1 -1
  86. package/dist/sync/cid.d.ts.map +1 -1
  87. package/dist/sync/cid.js +8 -2
  88. package/dist/sync/cid.js.map +1 -1
  89. package/dist/sync/port.d.ts +9 -8
  90. package/dist/sync/port.d.ts.map +1 -1
  91. package/dist/sync/port.js +74 -70
  92. package/dist/sync/port.js.map +1 -1
  93. package/dist/sync/provisioning.d.ts +32 -16
  94. package/dist/sync/provisioning.d.ts.map +1 -1
  95. package/dist/sync/provisioning.js +51 -18
  96. package/dist/sync/provisioning.js.map +1 -1
  97. package/dist/sync/types.d.ts +7 -10
  98. package/dist/sync/types.d.ts.map +1 -1
  99. package/package.json +13 -13
@@ -1,41 +1,74 @@
1
+ // A direct module import (not the `./edv` subpath entry), so the crypto-free
2
+ // sync module does not pull the EDV crypto graph for one number.
3
+ import { EDV_SCHEME_VERSION } from '../edv/constants.js';
1
4
  /**
2
5
  * Ensures the controller's Space exists and one synced collection is
3
- * configured. An `'edv'` collection declares the encryption descriptor `{
4
- * scheme: 'edv' }` (so the server stores only ciphertext it can never decrypt);
5
- * a `'plaintext'` collection is configured without one, with `force` so the
6
- * descriptor-less upsert can create a fresh collection (running with the root
7
- * capability, a 404 from the pre-merge describe really means absent). A public
8
- * collection additionally gets a collection-level world-read grant
9
- * (`setPublic`), which is what makes a resource URL in it resolve for anyone.
10
- * Runs full-tier -- the client invokes its own root capability.
6
+ * configured, without overwriting anything already there. The Space is
7
+ * described first and configured only when absent -- an existing Space keeps
8
+ * its name AND its controller, so `controllerDid` is used only at creation
9
+ * (a joined client re-running this never rewrites the description). The
10
+ * collection likewise: when absent, an `'edv'` collection is created with the
11
+ * encryption descriptor `{ scheme: 'edv', version: EDV_SCHEME_VERSION }`, so
12
+ * the server stores only ciphertext it can never decrypt and validates every
13
+ * write against the declared envelope wire format -- the same version the
14
+ * cipher binds into each envelope's AEAD-protected header, so descriptor and
15
+ * envelopes cannot drift; a `'plaintext'` collection is created without one,
16
+ * with `force` so the descriptor-less upsert can create a fresh collection
17
+ * (running full-tier, a 404 from the pre-merge describe really means absent).
18
+ * An existing collection that lacks a descriptor an `'edv'` spec calls for
19
+ * gets the late in-place declaration (set-once on the server); one that
20
+ * already carries a descriptor -- possibly with appended key epochs -- is
21
+ * left untouched, epochs and display name included. A public collection gets
22
+ * the collection-level world-read grant (`setPublic`, what makes a resource
23
+ * URL in it resolve for anyone) only when its policy does not already say so.
24
+ * Runs full-tier -- the client invokes its own root authority.
11
25
  *
12
26
  * @param options {object}
13
27
  * @param options.was {WasClient}
14
28
  * @param options.spaceId {string}
15
- * @param options.controllerDid {string} the Space controller (e.g. `did:key`)
29
+ * @param options.controllerDid {string} the Space controller (e.g. `did:key`);
30
+ * used only when the Space does not exist yet
16
31
  * @param options.collectionId {string} the WAS collection id
17
32
  * @param [options.encryption] {'edv' | 'plaintext'} defaults to `'edv'`
18
33
  * @param [options.isPublic] {boolean} grant collection-level world read
19
- * @param [options.spaceName] {string} the Space display name; defaults to
20
- * `'WAS Space'`
21
- * @param [options.collectionName] {string} the collection display name;
22
- * defaults to the collection id
34
+ * @param [options.spaceName] {string} the Space display name, applied only at
35
+ * Space creation; defaults to `'WAS Space'`
36
+ * @param [options.collectionName] {string} the collection display name,
37
+ * applied only at collection creation; defaults to the collection id
23
38
  * @returns {Promise<void>}
24
39
  */
25
40
  export async function ensureSpaceAndCollection({ was, spaceId, controllerDid, collectionId, encryption = 'edv', isPublic = false, spaceName = 'WAS Space', collectionName = collectionId }) {
26
41
  const space = was.space(spaceId);
27
42
  try {
28
- await space.configure({ name: spaceName, controller: controllerDid });
43
+ if ((await space.describe()) === null) {
44
+ await space.configure({ name: spaceName, controller: controllerDid });
45
+ }
29
46
  }
30
47
  catch (err) {
31
48
  throw new Error(`Failed to configure WAS space "${spaceId}" for "${controllerDid}".`, { cause: err });
32
49
  }
33
50
  try {
34
51
  const collection = space.collection(collectionId);
35
- await collection.configure(encryption === 'edv'
36
- ? { name: collectionName, encryption: { scheme: 'edv' } }
37
- : { name: collectionName, force: true });
38
- if (isPublic) {
52
+ const current = await collection.describe();
53
+ if (current === null) {
54
+ await collection.configure(encryption === 'edv'
55
+ ? {
56
+ name: collectionName,
57
+ encryption: { scheme: 'edv', version: EDV_SCHEME_VERSION }
58
+ }
59
+ : { name: collectionName, force: true });
60
+ }
61
+ else if (encryption === 'edv' && current.encryption === undefined) {
62
+ // The late in-place declaration: adding a descriptor to a collection
63
+ // that lacks one is allowed (set-once), while re-sending one over an
64
+ // existing descriptor would drop its appended key epochs -- which is
65
+ // exactly why an existing descriptor is never touched.
66
+ await collection.configure({
67
+ name: current.name ?? collectionName,
68
+ encryption: { scheme: 'edv', version: EDV_SCHEME_VERSION }
69
+ });
70
+ }
71
+ if (isPublic && !(await collection.isPublic())) {
39
72
  await collection.setPublic();
40
73
  }
41
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provisioning.js","sourceRoot":"","sources":["../../src/sync/provisioning.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,EAC7C,GAAG,EACH,OAAO,EACP,aAAa,EACb,YAAY,EACZ,UAAU,GAAG,KAAK,EAClB,QAAQ,GAAG,KAAK,EAChB,SAAS,GAAG,WAAW,EACvB,cAAc,GAAG,YAAY,EAU9B;IACC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAEhC,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAA;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,kCAAkC,OAAO,UAAU,aAAa,IAAI,EACpE,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QACjD,MAAM,UAAU,CAAC,SAAS,CACxB,UAAU,KAAK,KAAK;YAClB,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YACzD,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,CAC1C,CAAA;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,UAAU,CAAC,SAAS,EAAE,CAAA;QAC9B,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,mCAAmC,YAAY,eAAe,OAAO,IAAI,EACzE,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"provisioning.js","sourceRoot":"","sources":["../../src/sync/provisioning.ts"],"names":[],"mappings":"AAaA,6EAA6E;AAC7E,iEAAiE;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,EAC7C,GAAG,EACH,OAAO,EACP,aAAa,EACb,YAAY,EACZ,UAAU,GAAG,KAAK,EAClB,QAAQ,GAAG,KAAK,EAChB,SAAS,GAAG,WAAW,EACvB,cAAc,GAAG,YAAY,EAU9B;IACC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAEhC,IAAI,CAAC;QACH,IAAI,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;YACtC,MAAM,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAA;QACvE,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,kCAAkC,OAAO,UAAU,aAAa,IAAI,EACpE,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QACjD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAA;QAC3C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,UAAU,CAAC,SAAS,CACxB,UAAU,KAAK,KAAK;gBAClB,CAAC,CAAC;oBACE,IAAI,EAAE,cAAc;oBACpB,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE;iBAC3D;gBACH,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,CAC1C,CAAA;QACH,CAAC;aAAM,IAAI,UAAU,KAAK,KAAK,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACpE,qEAAqE;YACrE,qEAAqE;YACrE,qEAAqE;YACrE,uDAAuD;YACvD,MAAM,UAAU,CAAC,SAAS,CAAC;gBACzB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,cAAc;gBACpC,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE;aAC3D,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,QAAQ,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YAC/C,MAAM,UAAU,CAAC,SAAS,EAAE,CAAA;QAC9B,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,mCAAmC,YAAY,eAAe,OAAO,IAAI,EACzE,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -40,16 +40,16 @@ export type WireDoc = ChangeDocument;
40
40
  export type SyncPage = ChangesPage;
41
41
  /**
42
42
  * The current master state of a single resource, read back for the 412-conflict
43
- * path ({@link WasSyncPort.get}). `deleted` distinguishes a tombstone from a
44
- * live resource. `updatedAt`, `metaVersion`, `custom`, `createdBy`, and `epoch`
45
- * are populated from the resource's `/meta` document when it exists; a resource
46
- * with no metadata yet reports an epoch-zero `updatedAt` placeholder (a valid,
47
- * sortable timestamp -- the change feed remains the authority on ordering).
43
+ * path ({@link WasSyncPort.get}). An absent or tombstoned resource surfaces as
44
+ * `get` resolving `null`, never as a `MasterState`. `updatedAt`, `metaVersion`,
45
+ * `custom`, `createdBy`, and `epoch` are populated from the resource's `/meta`
46
+ * document when it exists; a resource with no metadata yet reports an
47
+ * epoch-zero `updatedAt` placeholder (a valid, sortable timestamp -- the
48
+ * change feed remains the authority on ordering).
48
49
  */
49
50
  export interface MasterState {
50
51
  version: number;
51
52
  updatedAt: string;
52
- deleted: boolean;
53
53
  metaVersion?: number;
54
54
  data?: Json;
55
55
  custom?: Json;
@@ -74,10 +74,7 @@ export interface WasSyncPort {
74
74
  query(options: {
75
75
  checkpoint?: SyncCheckpoint;
76
76
  limit: number;
77
- }): Promise<{
78
- documents: WireDoc[];
79
- checkpoint: SyncCheckpoint | null;
80
- }>;
77
+ }): Promise<SyncPage>;
81
78
  /**
82
79
  * Conditionally writes the content body verbatim (`PUT /:id`). Pass
83
80
  * `ifNoneMatch: true` for create-if-absent, or `ifMatch` (a quoted ETag over
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sync/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sync/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;GASG;AACH,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,WAAW,EACZ,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC,YAAY,EAAE,IAAI,EAAE,CAAA;AAEpB;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAA;AAE9C;;;;;;;;GAQG;AACH,MAAM,MAAM,OAAO,GAAG,cAAc,CAAA;AAEpC;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAA;AAElC;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,MAAM,CAAC,EAAE,IAAI,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE;QACb,UAAU,CAAC,EAAE,cAAc,CAAA;QAC3B,KAAK,EAAE,MAAM,CAAA;KACd,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAErB;;;;;;;OAOG;IACH,UAAU,CAAC,OAAO,EAAE;QAClB,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,IAAI,CAAA;QACV,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,WAAW,CAAC,EAAE,OAAO,CAAA;QACrB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAEnB;;;;;;OAMG;IACH,aAAa,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAEzE;;;;OAIG;IACH,OAAO,CAAC,CAAC,OAAO,EAAE;QAChB,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,EAAE,IAAI,CAAA;QACZ,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,WAAW,CAAC,EAAE,OAAO,CAAA;KACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEjB;;;;;OAKG;IACH,GAAG,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;CAC1D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,OAAO,EAAE;QACf,IAAI,EAAE,IAAI,CAAA;KACX,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC3D,aAAa,CAAC,CAAC,OAAO,EAAE;QACtB,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,IAAI,CAAA;QACV,OAAO,EAAE,IAAI,CAAA;KACd,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC3D,OAAO,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACpD"}
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.27.0",
4
+ "version": "0.28.0",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "build": "pnpm run clear && tsc",
@@ -56,25 +56,25 @@
56
56
  "@interop/minimal-cipher": "^7.8.1",
57
57
  "@interop/storage-core": "^0.3.13",
58
58
  "@interop/x25519-key-agreement-key": "^5.2.1",
59
- "@noble/hashes": "^2.2.0",
59
+ "@noble/hashes": "^2.3.0",
60
60
  "@scure/base": "^2.2.0",
61
61
  "json-canonicalize": "^2.0.0"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@eslint/js": "^10.0.1",
65
65
  "@interop/ed25519-verification-key": "^8.0.3",
66
- "@playwright/test": "^1.60.0",
67
- "@types/node": "^25.9.1",
68
- "@vitest/coverage-v8": "^4.1.7",
69
- "eslint": "^10.4.0",
66
+ "@playwright/test": "^1.62.1",
67
+ "@types/node": "^26.1.2",
68
+ "@vitest/coverage-v8": "^4.1.10",
69
+ "eslint": "^10.8.0",
70
70
  "eslint-config-prettier": "^10.1.8",
71
- "globals": "^17.6.0",
72
- "prettier": "^3.8.3",
71
+ "globals": "^17.9.0",
72
+ "prettier": "^3.9.6",
73
73
  "rimraf": "^6.1.3",
74
- "typescript": "^5.9.3",
75
- "typescript-eslint": "^8.59.4",
76
- "vite": "^8.0.14",
77
- "vitest": "^4.1.7"
74
+ "typescript": "~6.0.3",
75
+ "typescript-eslint": "^8.66.0",
76
+ "vite": "^8.2.1",
77
+ "vitest": "^4.1.10"
78
78
  },
79
79
  "publishConfig": {
80
80
  "access": "public",
@@ -86,7 +86,7 @@
86
86
  "zcap",
87
87
  "ezcap"
88
88
  ],
89
- "packageManager": "pnpm@11.5.0",
89
+ "packageManager": "pnpm@11.20.0",
90
90
  "engines": {
91
91
  "node": ">=24.0"
92
92
  },