@interop/did-cli 0.8.0 → 0.10.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 (72) hide show
  1. package/CHANGELOG.md +158 -0
  2. package/README.md +386 -4
  3. package/dist/commands/did.d.ts +9 -0
  4. package/dist/commands/did.d.ts.map +1 -1
  5. package/dist/commands/did.js +1041 -20
  6. package/dist/commands/did.js.map +1 -1
  7. package/dist/commands/edv.d.ts +63 -0
  8. package/dist/commands/edv.d.ts.map +1 -0
  9. package/dist/commands/edv.js +627 -0
  10. package/dist/commands/edv.js.map +1 -0
  11. package/dist/commands/key.d.ts.map +1 -1
  12. package/dist/commands/key.js +44 -8
  13. package/dist/commands/key.js.map +1 -1
  14. package/dist/commands/was/space.d.ts +17 -0
  15. package/dist/commands/was/space.d.ts.map +1 -1
  16. package/dist/commands/was/space.js +37 -2
  17. package/dist/commands/was/space.js.map +1 -1
  18. package/dist/commands/was.d.ts +1 -1
  19. package/dist/commands/was.d.ts.map +1 -1
  20. package/dist/commands/was.js +11 -2
  21. package/dist/commands/was.js.map +1 -1
  22. package/dist/edv/core.d.ts +60 -0
  23. package/dist/edv/core.d.ts.map +1 -0
  24. package/dist/edv/core.js +75 -0
  25. package/dist/edv/core.js.map +1 -0
  26. package/dist/edv/document.d.ts +25 -0
  27. package/dist/edv/document.d.ts.map +1 -0
  28. package/dist/edv/document.js +19 -0
  29. package/dist/edv/document.js.map +1 -0
  30. package/dist/edv/hmac.d.ts +26 -0
  31. package/dist/edv/hmac.d.ts.map +1 -0
  32. package/dist/edv/hmac.js +67 -0
  33. package/dist/edv/hmac.js.map +1 -0
  34. package/dist/edv/recipients.d.ts +65 -0
  35. package/dist/edv/recipients.d.ts.map +1 -0
  36. package/dist/edv/recipients.js +253 -0
  37. package/dist/edv/recipients.js.map +1 -0
  38. package/dist/edv/stream.d.ts +69 -0
  39. package/dist/edv/stream.d.ts.map +1 -0
  40. package/dist/edv/stream.js +169 -0
  41. package/dist/edv/stream.js.map +1 -0
  42. package/dist/index.js +2 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/keys/webvh-driver.d.ts +24 -0
  45. package/dist/keys/webvh-driver.d.ts.map +1 -0
  46. package/dist/keys/webvh-driver.js +73 -0
  47. package/dist/keys/webvh-driver.js.map +1 -0
  48. package/dist/keys/webvh-signer.d.ts +29 -0
  49. package/dist/keys/webvh-signer.d.ts.map +1 -0
  50. package/dist/keys/webvh-signer.js +44 -0
  51. package/dist/keys/webvh-signer.js.map +1 -0
  52. package/dist/keys/webvh-update.d.ts +33 -0
  53. package/dist/keys/webvh-update.d.ts.map +1 -0
  54. package/dist/keys/webvh-update.js +62 -0
  55. package/dist/keys/webvh-update.js.map +1 -0
  56. package/dist/meta.d.ts +1 -0
  57. package/dist/meta.d.ts.map +1 -1
  58. package/dist/meta.js +1 -1
  59. package/dist/meta.js.map +1 -1
  60. package/dist/storage.d.ts +80 -4
  61. package/dist/storage.d.ts.map +1 -1
  62. package/dist/storage.js +75 -6
  63. package/dist/storage.js.map +1 -1
  64. package/dist/was/io.d.ts +14 -0
  65. package/dist/was/io.d.ts.map +1 -1
  66. package/dist/was/io.js +20 -7
  67. package/dist/was/io.js.map +1 -1
  68. package/dist/was/registry.d.ts +2 -1
  69. package/dist/was/registry.d.ts.map +1 -1
  70. package/dist/was/registry.js +16 -5
  71. package/dist/was/registry.js.map +1 -1
  72. package/package.json +9 -6
package/dist/storage.d.ts CHANGED
@@ -89,11 +89,12 @@ export declare function removeFromCollection({ collection, storageId }: {
89
89
  storageId: string;
90
90
  }): Promise<string[]>;
91
91
  /**
92
- * Find a stored wallet key by its publicKeyMultibase fingerprint.
92
+ * Find a stored wallet key by its publicKeyMultibase fingerprint or its key id.
93
93
  *
94
- * Fingerprints are not the file name (storage IDs carry a date/type prefix and
95
- * may encode a full verification method id), so the lookup scans every key
96
- * file in the collection.
94
+ * Neither identifier is the file name (storage IDs carry a date/type prefix and
95
+ * may encode a full verification method id), so the lookup scans every key file
96
+ * in the collection. Matching by `id` lets symmetric keys with no public
97
+ * fingerprint (e.g. an HMAC key) be resolved.
97
98
  *
98
99
  * @param options {object}
99
100
  * @param options.fingerprint {string}
@@ -104,6 +105,7 @@ export declare function findStoredKey({ fingerprint }: {
104
105
  }): Promise<{
105
106
  storageId: string;
106
107
  key: {
108
+ id?: string;
107
109
  publicKeyMultibase?: string;
108
110
  secretKeyMultibase?: string;
109
111
  };
@@ -174,6 +176,80 @@ export declare function saveDidMeta({ did, meta }: {
174
176
  export declare function removeDidFiles({ did }: {
175
177
  did: string;
176
178
  }): Promise<string[]>;
179
+ /**
180
+ * Save a did:webvh history log as a raw newline-delimited JSON (`.jsonl`) file
181
+ * alongside the DID document, under the method subdirectory.
182
+ *
183
+ * Unlike `saveToDids`, the log is written as raw text -- each entry serialized
184
+ * on its own line with a trailing newline -- not as a pretty-printed JSON
185
+ * object, so it round-trips as a valid `did.jsonl`.
186
+ *
187
+ * @param options {object}
188
+ * @param options.did {string}
189
+ * @param options.log {object[]} the array of signed log entries.
190
+ * @returns {Promise<string>} the log file path.
191
+ */
192
+ export declare function saveDidLog({ did, log }: {
193
+ did: string;
194
+ log: object[];
195
+ }): Promise<string>;
196
+ /**
197
+ * Load the raw did:webvh history log (`.jsonl`) saved for a DID.
198
+ *
199
+ * Returns the file's raw text (newline-delimited JSON), suitable for feeding to
200
+ * `resolveDIDFromLog` after splitting on newlines.
201
+ *
202
+ * @param did {string}
203
+ * @returns {Promise<string>}
204
+ */
205
+ export declare function loadDidLog(did: string): Promise<string>;
206
+ /**
207
+ * A did:webvh update (authorization) key pair. Update keys authorize new log
208
+ * entries and are deliberately kept separate from the document's
209
+ * verification-method keys (`<did>.keys.json`). `secretKeyMultibase` is absent
210
+ * only for an externally-held key supplied by public value alone.
211
+ */
212
+ export interface WebvhUpdateKey {
213
+ publicKeyMultibase: string;
214
+ secretKeyMultibase?: string;
215
+ }
216
+ /**
217
+ * The update-key state of a did:webvh DID, persisted in the
218
+ * `<did>.update-keys.json` sidecar: the key authorized right now (`active`)
219
+ * and, when pre-rotation is armed, the pre-committed next key (`staged`) whose
220
+ * hash is published in the log's `nextKeyHashes`. `staged` is absent only when
221
+ * pre-rotation is off. `retired` keeps superseded secrets when a rotation is
222
+ * asked to preserve them (`rotate-keys --keep-old-key`); they are needed only
223
+ * to verify historic entries, so the default is to drop them.
224
+ */
225
+ export interface WebvhUpdateKeys {
226
+ active: WebvhUpdateKey;
227
+ staged?: WebvhUpdateKey & {
228
+ nextKeyHash: string;
229
+ };
230
+ retired?: WebvhUpdateKey[];
231
+ }
232
+ /**
233
+ * Save the `<did>.update-keys.json` sidecar holding a did:webvh DID's update
234
+ * (authorization) keys, alongside its DID document under the method subdir.
235
+ *
236
+ * @param options {object}
237
+ * @param options.did {string}
238
+ * @param options.updateKeys {WebvhUpdateKeys}
239
+ * @returns {Promise<string>} the sidecar file path.
240
+ */
241
+ export declare function saveDidUpdateKeys({ did, updateKeys }: {
242
+ did: string;
243
+ updateKeys: WebvhUpdateKeys;
244
+ }): Promise<string>;
245
+ /**
246
+ * Load the `<did>.update-keys.json` sidecar of a did:webvh DID. Throws (ENOENT)
247
+ * when no sidecar exists -- e.g. a DID created before pre-rotation support.
248
+ *
249
+ * @param did {string}
250
+ * @returns {Promise<WebvhUpdateKeys>}
251
+ */
252
+ export declare function loadDidUpdateKeys(did: string): Promise<WebvhUpdateKeys>;
177
253
  /**
178
254
  * @param options {object}
179
255
  * @param options.method {string}
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
package/dist/storage.js CHANGED
@@ -141,11 +141,12 @@ export async function removeFromCollection({ collection, storageId }) {
141
141
  return removed;
142
142
  }
143
143
  /**
144
- * Find a stored wallet key by its publicKeyMultibase fingerprint.
144
+ * Find a stored wallet key by its publicKeyMultibase fingerprint or its key id.
145
145
  *
146
- * Fingerprints are not the file name (storage IDs carry a date/type prefix and
147
- * may encode a full verification method id), so the lookup scans every key
148
- * file in the collection.
146
+ * Neither identifier is the file name (storage IDs carry a date/type prefix and
147
+ * may encode a full verification method id), so the lookup scans every key file
148
+ * in the collection. Matching by `id` lets symmetric keys with no public
149
+ * fingerprint (e.g. an HMAC key) be resolved.
149
150
  *
150
151
  * @param options {object}
151
152
  * @param options.fingerprint {string}
@@ -155,7 +156,7 @@ export async function findStoredKey({ fingerprint }) {
155
156
  const storageIds = await listCollection('keys');
156
157
  for (const storageId of storageIds) {
157
158
  const key = await loadFromCollection('keys', storageId);
158
- if (key.publicKeyMultibase === fingerprint) {
159
+ if (key.publicKeyMultibase === fingerprint || key.id === fingerprint) {
159
160
  return { storageId, key };
160
161
  }
161
162
  }
@@ -196,6 +197,7 @@ export async function listDids() {
196
197
  for (const fileName of fileNames) {
197
198
  if (!fileName.endsWith('.json') ||
198
199
  fileName.endsWith('.keys.json') ||
200
+ fileName.endsWith('.update-keys.json') ||
199
201
  fileName.endsWith('.meta.json')) {
200
202
  continue;
201
203
  }
@@ -280,14 +282,81 @@ export async function removeDidFiles({ did }) {
280
282
  const docPath = join(dir, `${did}.json`);
281
283
  await unlink(docPath);
282
284
  removed.push(docPath);
283
- for (const suffix of ['keys', 'meta']) {
285
+ for (const suffix of ['keys', 'update-keys', 'meta']) {
284
286
  const sidecarPath = join(dir, `${did}.${suffix}.json`);
285
287
  if (await unlinkIfExists(sidecarPath)) {
286
288
  removed.push(sidecarPath);
287
289
  }
288
290
  }
291
+ // did:webvh additionally stores a `.jsonl` history log; only that method has
292
+ // one, so unlink it conditionally.
293
+ const logPath = join(dir, `${did}.jsonl`);
294
+ if (await unlinkIfExists(logPath)) {
295
+ removed.push(logPath);
296
+ }
289
297
  return removed;
290
298
  }
299
+ /**
300
+ * Save a did:webvh history log as a raw newline-delimited JSON (`.jsonl`) file
301
+ * alongside the DID document, under the method subdirectory.
302
+ *
303
+ * Unlike `saveToDids`, the log is written as raw text -- each entry serialized
304
+ * on its own line with a trailing newline -- not as a pretty-printed JSON
305
+ * object, so it round-trips as a valid `did.jsonl`.
306
+ *
307
+ * @param options {object}
308
+ * @param options.did {string}
309
+ * @param options.log {object[]} the array of signed log entries.
310
+ * @returns {Promise<string>} the log file path.
311
+ */
312
+ export async function saveDidLog({ did, log }) {
313
+ const method = did.split(':')[1];
314
+ const dir = join(getDidsDir(), method);
315
+ await mkdir(dir, { recursive: true });
316
+ const filePath = join(dir, `${did}.jsonl`);
317
+ const serialized = log.map(entry => JSON.stringify(entry)).join('\n') + '\n';
318
+ await writeFile(filePath, serialized, 'utf8');
319
+ return filePath;
320
+ }
321
+ /**
322
+ * Load the raw did:webvh history log (`.jsonl`) saved for a DID.
323
+ *
324
+ * Returns the file's raw text (newline-delimited JSON), suitable for feeding to
325
+ * `resolveDIDFromLog` after splitting on newlines.
326
+ *
327
+ * @param did {string}
328
+ * @returns {Promise<string>}
329
+ */
330
+ export async function loadDidLog(did) {
331
+ const method = did.split(':')[1];
332
+ const filePath = join(getDidsDir(), method, `${did}.jsonl`);
333
+ return readFile(filePath, 'utf8');
334
+ }
335
+ /**
336
+ * Save the `<did>.update-keys.json` sidecar holding a did:webvh DID's update
337
+ * (authorization) keys, alongside its DID document under the method subdir.
338
+ *
339
+ * @param options {object}
340
+ * @param options.did {string}
341
+ * @param options.updateKeys {WebvhUpdateKeys}
342
+ * @returns {Promise<string>} the sidecar file path.
343
+ */
344
+ export async function saveDidUpdateKeys({ did, updateKeys }) {
345
+ const method = did.split(':')[1];
346
+ return saveToDids({ method, did, suffix: 'update-keys', data: updateKeys });
347
+ }
348
+ /**
349
+ * Load the `<did>.update-keys.json` sidecar of a did:webvh DID. Throws (ENOENT)
350
+ * when no sidecar exists -- e.g. a DID created before pre-rotation support.
351
+ *
352
+ * @param did {string}
353
+ * @returns {Promise<WebvhUpdateKeys>}
354
+ */
355
+ export async function loadDidUpdateKeys(did) {
356
+ const method = did.split(':')[1];
357
+ const filePath = join(getDidsDir(), method, `${did}.update-keys.json`);
358
+ return JSON.parse(await readFile(filePath, 'utf8'));
359
+ }
291
360
  /**
292
361
  * @param options {object}
293
362
  * @param options.method {string}
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
package/dist/was/io.d.ts CHANGED
@@ -53,6 +53,20 @@ export declare function writeBytesOutput({ bytes, output }: {
53
53
  bytes: Uint8Array;
54
54
  output?: string;
55
55
  }): Promise<void>;
56
+ /**
57
+ * Pretty-prints a value as JSON to an output file (with a `Wrote <file>` note
58
+ * on stderr) or to stdout when no file is given.
59
+ *
60
+ * @param options {object}
61
+ * @param options.value {unknown} The value to serialize.
62
+ * @param [options.output] {string} The output file path; stdout when
63
+ * omitted.
64
+ * @returns {Promise<void>}
65
+ */
66
+ export declare function writeJsonOutput({ value, output }: {
67
+ value: unknown;
68
+ output?: string;
69
+ }): Promise<void>;
56
70
  /**
57
71
  * Writes a resource read result: JSON is pretty-printed to stdout (or
58
72
  * written to the `--output` file); binary content is written raw to the
@@ -1 +1 @@
1
- {"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../src/was/io.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAI/C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,GAAG,UAAU,CAAA;IACvB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AA2CD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,EAChC,IAAI,EACJ,WAAW,EACX,KAAqB,EACtB,GAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,QAAQ,CAAA;CACZ,GAAG,OAAO,CAAC,eAAe,CAAC,CAkBhC;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,EACnC,IAAI,EACJ,KAAqB,EACtB,GAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,QAAQ,CAAA;CACZ,GAAG,OAAO,CAAC,UAAU,CAAC,CAG3B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,KAAK,EACL,MAAM,EACP,EAAE;IACD,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,IAAI,EACJ,MAAM,EACP,EAAE;IACD,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBhB"}
1
+ {"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../../src/was/io.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAI/C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,GAAG,UAAU,CAAA;IACvB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AA2CD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,EAChC,IAAI,EACJ,WAAW,EACX,KAAqB,EACtB,GAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,QAAQ,CAAA;CACZ,GAAG,OAAO,CAAC,eAAe,CAAC,CAkBhC;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,EACnC,IAAI,EACJ,KAAqB,EACtB,GAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,QAAQ,CAAA;CACZ,GAAG,OAAO,CAAC,UAAU,CAAC,CAG3B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,KAAK,EACL,MAAM,EACP,EAAE;IACD,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhB;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,EACpC,KAAK,EACL,MAAM,EACP,EAAE;IACD,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,IAAI,EACJ,MAAM,EACP,EAAE;IACD,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAYhB"}
package/dist/was/io.js CHANGED
@@ -113,6 +113,25 @@ export async function writeBytesOutput({ bytes, output }) {
113
113
  }
114
114
  process.stdout.write(bytes);
115
115
  }
116
+ /**
117
+ * Pretty-prints a value as JSON to an output file (with a `Wrote <file>` note
118
+ * on stderr) or to stdout when no file is given.
119
+ *
120
+ * @param options {object}
121
+ * @param options.value {unknown} The value to serialize.
122
+ * @param [options.output] {string} The output file path; stdout when
123
+ * omitted.
124
+ * @returns {Promise<void>}
125
+ */
126
+ export async function writeJsonOutput({ value, output }) {
127
+ const text = JSON.stringify(value, null, 2);
128
+ if (output) {
129
+ await writeFile(output, `${text}\n`, 'utf8');
130
+ console.error(`Wrote ${output}`);
131
+ return;
132
+ }
133
+ console.log(text);
134
+ }
116
135
  /**
117
136
  * Writes a resource read result: JSON is pretty-printed to stdout (or
118
137
  * written to the `--output` file); binary content is written raw to the
@@ -135,12 +154,6 @@ export async function writeResourceOutput({ data, output }) {
135
154
  process.stdout.write(bytes);
136
155
  return;
137
156
  }
138
- const text = JSON.stringify(data, null, 2);
139
- if (output) {
140
- await writeFile(output, `${text}\n`, 'utf8');
141
- console.error(`Wrote ${output}`);
142
- return;
143
- }
144
- console.log(text);
157
+ await writeJsonOutput({ value: data, output });
145
158
  }
146
159
  //# sourceMappingURL=io.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"io.js","sourceRoot":"","sources":["../../src/was/io.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"io.js","sourceRoot":"","sources":["../../src/was/io.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,8 @@ export interface SpaceRecord {
25
25
  /**
26
26
  * Saves (or overwrites) a space registry entry and its metadata sidecar.
27
27
  * The `created` timestamp of an existing sidecar is preserved; `handle` and
28
- * `description` overwrite only when given.
28
+ * `description` overwrite only when given, and an empty string clears the
29
+ * field.
29
30
  *
30
31
  * @param options {object}
31
32
  * @param options.record {SpaceRecord}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/was/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,eAAe,CAAA;AAItB;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAA;IACV,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,EACpC,MAAM,EACN,MAAM,EACN,WAAW,EACZ,EAAE;IACD,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBlB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAC/C;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,CAAC,EAAE,YAAY,CAAA;CAAE,EAAE,CAClE,CAgBA;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CACpE;IACE,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,WAAW,CAAA;IACnB,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB,GACD,SAAS,CACZ,CAiBA;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,SAAS,EACV,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEpB"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/was/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,eAAe,CAAA;AAItB;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAA;IACV,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,EACpC,MAAM,EACN,MAAM,EACN,WAAW,EACZ,EAAE;IACD,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BlB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAC/C;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,CAAC,EAAE,YAAY,CAAA;CAAE,EAAE,CAClE,CAgBA;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CACpE;IACE,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,WAAW,CAAA;IACnB,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB,GACD,SAAS,CACZ,CAiBA;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,SAAS,EACV,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEpB"}
@@ -13,7 +13,8 @@ const COLLECTION = 'was-spaces';
13
13
  /**
14
14
  * Saves (or overwrites) a space registry entry and its metadata sidecar.
15
15
  * The `created` timestamp of an existing sidecar is preserved; `handle` and
16
- * `description` overwrite only when given.
16
+ * `description` overwrite only when given, and an empty string clears the
17
+ * field.
17
18
  *
18
19
  * @param options {object}
19
20
  * @param options.record {SpaceRecord}
@@ -32,11 +33,21 @@ export async function saveSpaceRecord({ record, handle, description }) {
32
33
  ...existing,
33
34
  created: existing?.created ?? new Date().toISOString()
34
35
  };
35
- if (handle) {
36
- meta.handle = handle;
36
+ if (handle !== undefined) {
37
+ if (handle) {
38
+ meta.handle = handle;
39
+ }
40
+ else {
41
+ delete meta.handle;
42
+ }
37
43
  }
38
- if (description) {
39
- meta.description = description;
44
+ if (description !== undefined) {
45
+ if (description) {
46
+ meta.description = description;
47
+ }
48
+ else {
49
+ delete meta.description;
50
+ }
40
51
  }
41
52
  await saveMetaToCollection({ collection: COLLECTION, storageId, meta });
42
53
  return filePath;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/was/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/was/registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@interop/did-cli",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "description": "DID CLI tool for DIDs, Verifiable Credentials, key pairs, and zcaps",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -26,20 +26,23 @@
26
26
  "dependencies": {
27
27
  "@digitalcredentials/bnid": "^5.0.0",
28
28
  "@digitalcredentials/issuer-registry-client": "^4.0.0",
29
- "@interop/data-integrity-core": "^8.0.0",
29
+ "@interop/data-integrity-core": "^8.1.0",
30
30
  "@interop/data-integrity-proof": "^3.4.0",
31
31
  "@interop/did-method-key": "^7.3.2",
32
+ "@interop/did-method-webvh": "^3.4.0",
32
33
  "@interop/did-web-resolver": "^6.2.2",
33
34
  "@interop/ecdsa-multikey": "^2.3.1",
34
35
  "@interop/ecdsa-signature": "2.0.3",
35
36
  "@interop/ed25519-signature": "^7.1.2",
36
- "@interop/ed25519-verification-key": "^8.0.0",
37
+ "@interop/ed25519-verification-key": "^8.0.2",
38
+ "@interop/edv-client": "^17.2.0",
37
39
  "@interop/ezcap": "^7.2.1",
38
- "@interop/security-document-loader": "^9.3.1",
40
+ "@interop/minimal-cipher": "^7.4.0",
41
+ "@interop/security-document-loader": "^9.4.0",
39
42
  "@interop/vc": "^11.0.4",
40
43
  "@interop/verifier-core": "^3.2.1",
41
- "@interop/was-client": "^0.5.0",
42
- "@interop/x25519-key-agreement-key": "^5.0.0",
44
+ "@interop/was-client": "^0.7.1",
45
+ "@interop/x25519-key-agreement-key": "^5.1.0",
43
46
  "@interop/zcap": "^11.0.3",
44
47
  "@scure/base": "^2.2.0",
45
48
  "commander": "^15.0.0"