@interop/did-cli 0.12.0 → 0.14.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/CHANGELOG.md +131 -6
- package/README.md +184 -18
- package/dist/commands/did/create.d.ts +22 -0
- package/dist/commands/did/create.d.ts.map +1 -1
- package/dist/commands/did/create.js +6 -27
- package/dist/commands/did/create.js.map +1 -1
- package/dist/commands/did/service.d.ts +19 -4
- package/dist/commands/did/service.d.ts.map +1 -1
- package/dist/commands/did/service.js +46 -45
- package/dist/commands/did/service.js.map +1 -1
- package/dist/commands/did/webvh-update.d.ts +72 -9
- package/dist/commands/did/webvh-update.d.ts.map +1 -1
- package/dist/commands/did/webvh-update.js +177 -61
- package/dist/commands/did/webvh-update.js.map +1 -1
- package/dist/commands/did.d.ts.map +1 -1
- package/dist/commands/did.js +10 -1
- package/dist/commands/did.js.map +1 -1
- package/dist/commands/key.d.ts +2 -16
- package/dist/commands/key.d.ts.map +1 -1
- package/dist/commands/key.js +64 -11
- package/dist/commands/key.js.map +1 -1
- package/dist/commands/was/request-grant.d.ts +37 -0
- package/dist/commands/was/request-grant.d.ts.map +1 -0
- package/dist/commands/was/request-grant.js +248 -0
- package/dist/commands/was/request-grant.js.map +1 -0
- package/dist/commands/was/resource.d.ts +21 -7
- package/dist/commands/was/resource.d.ts.map +1 -1
- package/dist/commands/was/resource.js +40 -15
- package/dist/commands/was/resource.js.map +1 -1
- package/dist/commands/was/shared.d.ts +43 -3
- package/dist/commands/was/shared.d.ts.map +1 -1
- package/dist/commands/was/shared.js +82 -4
- package/dist/commands/was/shared.js.map +1 -1
- package/dist/commands/was/shell/completer.d.ts +24 -0
- package/dist/commands/was/shell/completer.d.ts.map +1 -0
- package/dist/commands/was/shell/completer.js +99 -0
- package/dist/commands/was/shell/completer.js.map +1 -0
- package/dist/commands/was/shell/dispatcher.d.ts +27 -0
- package/dist/commands/was/shell/dispatcher.d.ts.map +1 -0
- package/dist/commands/was/shell/dispatcher.js +227 -0
- package/dist/commands/was/shell/dispatcher.js.map +1 -0
- package/dist/commands/was/shell/session.d.ts +37 -0
- package/dist/commands/was/shell/session.d.ts.map +1 -0
- package/dist/commands/was/shell/session.js +67 -0
- package/dist/commands/was/shell/session.js.map +1 -0
- package/dist/commands/was/shell/tokenize.d.ts +19 -0
- package/dist/commands/was/shell/tokenize.d.ts.map +1 -0
- package/dist/commands/was/shell/tokenize.js +77 -0
- package/dist/commands/was/shell/tokenize.js.map +1 -0
- package/dist/commands/was/shell.d.ts +30 -0
- package/dist/commands/was/shell.d.ts.map +1 -0
- package/dist/commands/was/shell.js +170 -0
- package/dist/commands/was/shell.js.map +1 -0
- package/dist/commands/was/tree.d.ts +6 -1
- package/dist/commands/was/tree.d.ts.map +1 -1
- package/dist/commands/was/tree.js +12 -5
- package/dist/commands/was/tree.js.map +1 -1
- package/dist/commands/was.d.ts.map +1 -1
- package/dist/commands/was.js +31 -1
- package/dist/commands/was.js.map +1 -1
- package/dist/keys/seed.d.ts +21 -0
- package/dist/keys/seed.d.ts.map +1 -0
- package/dist/keys/seed.js +41 -0
- package/dist/keys/seed.js.map +1 -0
- package/dist/keys/webvh-signer.d.ts +18 -13
- package/dist/keys/webvh-signer.d.ts.map +1 -1
- package/dist/keys/webvh-signer.js +5 -20
- package/dist/keys/webvh-signer.js.map +1 -1
- package/dist/meta.js +1 -1
- package/dist/meta.js.map +1 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +57 -10
- package/dist/storage.js.map +1 -1
- package/dist/was/address.d.ts +24 -0
- package/dist/was/address.d.ts.map +1 -1
- package/dist/was/address.js +49 -3
- package/dist/was/address.js.map +1 -1
- package/dist/was/request-grant.d.ts +144 -0
- package/dist/was/request-grant.d.ts.map +1 -0
- package/dist/was/request-grant.js +249 -0
- package/dist/was/request-grant.js.map +1 -0
- package/package.json +22 -20
package/dist/commands/key.js
CHANGED
|
@@ -13,8 +13,9 @@
|
|
|
13
13
|
* stub. Keys are referenced by their `publicKeyMultibase` fingerprint or by a
|
|
14
14
|
* metadata handle. Data goes to stdout, diagnostics and errors to stderr.
|
|
15
15
|
*/
|
|
16
|
+
import { createHash, randomBytes } from 'node:crypto';
|
|
16
17
|
import { Command } from 'commander';
|
|
17
|
-
import {
|
|
18
|
+
import { IdEncoder } from '@digitalcredentials/bnid';
|
|
18
19
|
import { Ed25519VerificationKey } from '@interop/ed25519-verification-key';
|
|
19
20
|
import * as EcdsaMultikey from '@interop/ecdsa-multikey';
|
|
20
21
|
import { X25519KeyAgreementKey2020 } from '@interop/x25519-key-agreement-key';
|
|
@@ -23,10 +24,17 @@ import { saveMetaToCollection, saveToCollection } from '../storage.js';
|
|
|
23
24
|
import { mapFingerprintsToDids, parseKeyStorageId, resolveKeyRef } from '../meta.js';
|
|
24
25
|
import { renderTable, truncateMiddle } from '../table.js';
|
|
25
26
|
import { isEcdsaPublicKeyMultibase, normalizeEcdsaCurve, SUPPORTED_ECDSA_CURVES, warnIfNotVcIssuanceCapable } from '../keys/ecdsa.js';
|
|
27
|
+
import { deriveSeed } from '../keys/seed.js';
|
|
26
28
|
import { runAndExit } from './was/shared.js';
|
|
27
29
|
import { applyMetaEdits, requireSaveForMetaFlags, resolveRefOrReport, runListCollection, runRemoveCollection, writeCreateMeta } from './collection-command.js';
|
|
28
30
|
/** The wallet collection name for stored keys. */
|
|
29
31
|
const COLLECTION = 'keys';
|
|
32
|
+
/**
|
|
33
|
+
* The Multikey header for an AES-256 symmetric key (`0xa2 0x01`, the multicodec
|
|
34
|
+
* varint for `aes-256`), prefixed before the 32 raw key bytes in a KEK's
|
|
35
|
+
* `secretKeyMultibase`.
|
|
36
|
+
*/
|
|
37
|
+
const AES_256_MULTIKEY_HEADER = Buffer.from([0xa2, 0x01]);
|
|
30
38
|
/**
|
|
31
39
|
* Build the human-readable key type label shown in list/show output, e.g.
|
|
32
40
|
* `ed25519` or `ecdsa-p256`, from a parsed key storage ID.
|
|
@@ -62,7 +70,8 @@ function didsCell({ dids }) {
|
|
|
62
70
|
* wallet, and prints the key (or the seed-wrapped form) to stdout.
|
|
63
71
|
*
|
|
64
72
|
* @param options {object}
|
|
65
|
-
* @param options.type {string} Key type: ed25519, ecdsa, x25519, or
|
|
73
|
+
* @param options.type {string} Key type: ed25519, ecdsa, x25519, hmac, or
|
|
74
|
+
* aes256.
|
|
66
75
|
* @param options.curve {string} ECDSA curve, for --type ecdsa.
|
|
67
76
|
* @param [options.save] {boolean} Save the key to wallet storage.
|
|
68
77
|
* @param [options.handle] {string} Short tag stored in the metadata sidecar.
|
|
@@ -77,13 +86,9 @@ export async function runCreate(options) {
|
|
|
77
86
|
}
|
|
78
87
|
switch (options.type) {
|
|
79
88
|
case 'ed25519': {
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
: envSeed;
|
|
84
|
-
const seedBytes = secretKeySeed
|
|
85
|
-
? decodeSecretKeySeed({ secretKeySeed })
|
|
86
|
-
: undefined;
|
|
89
|
+
const { secretKeySeed, seedBytes } = await deriveSeed({
|
|
90
|
+
withSeed: options.withSeed
|
|
91
|
+
});
|
|
87
92
|
const keyPair = await Ed25519VerificationKey.generate({
|
|
88
93
|
seed: seedBytes
|
|
89
94
|
});
|
|
@@ -222,9 +227,50 @@ export async function runCreate(options) {
|
|
|
222
227
|
console.log(JSON.stringify(exported, null, 2));
|
|
223
228
|
return 0;
|
|
224
229
|
}
|
|
230
|
+
case 'aes256': {
|
|
231
|
+
if (options.withSeed) {
|
|
232
|
+
console.error('--with-seed is not supported for aes256 keys; an AES-256 KEK is ' +
|
|
233
|
+
'always generated from fresh random bytes, never derived from a ' +
|
|
234
|
+
'seed.');
|
|
235
|
+
return 1;
|
|
236
|
+
}
|
|
237
|
+
// 32 random key bytes prefixed with the AES-256 Multikey header, encoded
|
|
238
|
+
// as base58btc multibase -- a symmetric Multikey `secretKeyMultibase`.
|
|
239
|
+
const keyBytes = randomBytes(32);
|
|
240
|
+
const secretKeyMultibase = new IdEncoder({
|
|
241
|
+
encoding: 'base58',
|
|
242
|
+
multibase: true
|
|
243
|
+
}).encode(Buffer.concat([AES_256_MULTIKEY_HEADER, keyBytes]));
|
|
244
|
+
// The id is derived from the RAW 32 key bytes (header excluded), matching
|
|
245
|
+
// the KEK id a Wallet Attached Storage server derives from the same value.
|
|
246
|
+
const id = `urn:kek:sha256:${createHash('sha256')
|
|
247
|
+
.update(keyBytes)
|
|
248
|
+
.digest('hex')}`;
|
|
249
|
+
const exported = { id, type: 'Multikey', secretKeyMultibase };
|
|
250
|
+
if (options.save) {
|
|
251
|
+
const now = new Date();
|
|
252
|
+
const date = now.toISOString().slice(0, 10);
|
|
253
|
+
const storageId = `${date}-aes256-${id}`.replaceAll(':', '_');
|
|
254
|
+
const filePath = await saveToCollection({
|
|
255
|
+
collection: 'keys',
|
|
256
|
+
storageId,
|
|
257
|
+
data: exported
|
|
258
|
+
});
|
|
259
|
+
await writeCreateMeta({
|
|
260
|
+
collection: COLLECTION,
|
|
261
|
+
storageId,
|
|
262
|
+
created: now.toISOString(),
|
|
263
|
+
handle: options.handle,
|
|
264
|
+
description: options.description
|
|
265
|
+
});
|
|
266
|
+
console.error(`Key saved to ${filePath}`);
|
|
267
|
+
}
|
|
268
|
+
console.log(JSON.stringify(exported, null, 2));
|
|
269
|
+
return 0;
|
|
270
|
+
}
|
|
225
271
|
default:
|
|
226
272
|
console.error(`Unknown key type: ${options.type}. ` +
|
|
227
|
-
'Supported: ed25519, ecdsa, x25519, hmac');
|
|
273
|
+
'Supported: ed25519, ecdsa, x25519, hmac, aes256');
|
|
228
274
|
return 1;
|
|
229
275
|
}
|
|
230
276
|
}
|
|
@@ -368,6 +414,13 @@ export async function runShow(options) {
|
|
|
368
414
|
// never the secret material.
|
|
369
415
|
publicKey = { id: storedKey.id, type: 'Sha256HmacKey2019' };
|
|
370
416
|
}
|
|
417
|
+
else if (storedKey.type === 'Multikey' &&
|
|
418
|
+
storedKey.secretKeyMultibase &&
|
|
419
|
+
!storedKey.publicKeyMultibase) {
|
|
420
|
+
// A symmetric AES-256 KEK (a Multikey with a secretKeyMultibase and no
|
|
421
|
+
// public half); show only its safe fields, never the secret material.
|
|
422
|
+
publicKey = { id: storedKey.id, type: 'Multikey' };
|
|
423
|
+
}
|
|
371
424
|
else if (storedKey.type === 'X25519KeyAgreementKey2020') {
|
|
372
425
|
publicKey = await (await X25519KeyAgreementKey2020.from(storedKey)).export({ publicKey: true });
|
|
373
426
|
}
|
|
@@ -490,7 +543,7 @@ export function makeKeyCommand() {
|
|
|
490
543
|
key
|
|
491
544
|
.command('create')
|
|
492
545
|
.description('Create a new key')
|
|
493
|
-
.option('-t, --type <type>', 'key type (supported: ed25519, ecdsa, x25519, hmac)', 'ed25519')
|
|
546
|
+
.option('-t, --type <type>', 'key type (supported: ed25519, ecdsa, x25519, hmac, aes256)', 'ed25519')
|
|
494
547
|
.option('--curve <curve>', `ECDSA curve for --type ecdsa (supported: ${SUPPORTED_ECDSA_CURVES})`, 'p256')
|
|
495
548
|
.option('--save', 'save the key to local wallet storage (~/.config/did-cli-wallet/keys/)')
|
|
496
549
|
.option('--handle <handle>', 'short tag for the saved key (requires --save)')
|
package/dist/commands/key.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key.js","sourceRoot":"","sources":["../../src/commands/key.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"key.js","sourceRoot":"","sources":["../../src/commands/key.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Requests a capability from a user's wallet: mints the grantee key, opens an
|
|
3
|
+
* ephemeral exchange carrying a zcap-only VPR, prints the interaction URL for
|
|
4
|
+
* the user to open, then waits for their approval and records what came back.
|
|
5
|
+
*
|
|
6
|
+
* @param options {object}
|
|
7
|
+
* @param [options.collection] {string} The collection to request (default
|
|
8
|
+
* `web`).
|
|
9
|
+
* @param [options.action] {string[]} The actions to request.
|
|
10
|
+
* @param [options.reason] {string} Why access is wanted, shown at consent.
|
|
11
|
+
* @param [options.name] {string} The agent's self-declared display name,
|
|
12
|
+
* shown at consent as what it calls itself.
|
|
13
|
+
* @param [options.server] {string} The WAS server base URL.
|
|
14
|
+
* @param [options.wallet] {string} A wallet base URL to print an approval
|
|
15
|
+
* deep link for, beside the interaction URL.
|
|
16
|
+
* @param [options.save] {boolean} Persist the key and capabilities
|
|
17
|
+
* (default true).
|
|
18
|
+
* @param [options.handle] {string} Handle to file them under.
|
|
19
|
+
* @param [options.description] {string} Longer description for the sidecar.
|
|
20
|
+
* @param [options.timeout] {string} Seconds to wait for approval.
|
|
21
|
+
* @param [options.json] {boolean} Print one JSON object instead of prose.
|
|
22
|
+
* @returns {Promise<number>} The process exit code.
|
|
23
|
+
*/
|
|
24
|
+
export declare function runRequestGrant(options: {
|
|
25
|
+
collection?: string;
|
|
26
|
+
action?: string[];
|
|
27
|
+
reason?: string;
|
|
28
|
+
name?: string;
|
|
29
|
+
server?: string;
|
|
30
|
+
wallet?: string;
|
|
31
|
+
save?: boolean;
|
|
32
|
+
handle?: string;
|
|
33
|
+
description?: string;
|
|
34
|
+
timeout?: string;
|
|
35
|
+
json?: boolean;
|
|
36
|
+
}): Promise<number>;
|
|
37
|
+
//# sourceMappingURL=request-grant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-grant.d.ts","sourceRoot":"","sources":["../../../src/commands/was/request-grant.ts"],"names":[],"mappings":"AAsKA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,GAAG,OAAO,CAAC,MAAM,CAAC,CAmIlB"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `was request-grant` -- ask a user's wallet for a capability on one of its
|
|
3
|
+
* public collections. The inverse of `was grant`: an agent runs this, the user
|
|
4
|
+
* approves in their wallet, and the agent receives a signed zcap it can then
|
|
5
|
+
* invoke with `was put --capability`.
|
|
6
|
+
*
|
|
7
|
+
* The grantee key is minted here rather than passed in, so the agent driving
|
|
8
|
+
* the CLI never handles key material: the secret goes straight to local DID
|
|
9
|
+
* storage and stdout carries only the capabilities (or, with `--json`, one
|
|
10
|
+
* object holding the DID, the handle, the interaction URL, and the
|
|
11
|
+
* capabilities). Everything addressed to the human -- the approval link and
|
|
12
|
+
* the progress notes -- goes to stderr, so stdout stays pipe-clean.
|
|
13
|
+
*/
|
|
14
|
+
import { driver } from '@interop/did-method-key';
|
|
15
|
+
import { Ed25519VerificationKey } from '@interop/ed25519-verification-key';
|
|
16
|
+
import { sanitizeStorageId, saveToCollection } from '../../storage.js';
|
|
17
|
+
import { resolveDidRef, resolveZcapRef } from '../../meta.js';
|
|
18
|
+
import { encodeCapability } from '../../zcap/encoding.js';
|
|
19
|
+
import { awaitGrantedCapabilities, buildCapabilityRequest, buildWalletDeepLink, openGrantExchange, walletRequestRoute, GrantRequestError, DEFAULT_COLLECTION, DEFAULT_TIMEOUT_MS, MAX_TIMEOUT_MS } from '../../was/request-grant.js';
|
|
20
|
+
import { saveDidArtifacts } from '../did/create.js';
|
|
21
|
+
import { requireSaveForMetaFlags, writeCreateMeta } from '../collection-command.js';
|
|
22
|
+
import { reportError } from './shared.js';
|
|
23
|
+
/** The zcap wallet collection received capabilities are saved into. */
|
|
24
|
+
const ZCAP_COLLECTION = 'zcaps';
|
|
25
|
+
/** The handle the minted key and received capabilities are filed under. */
|
|
26
|
+
const DEFAULT_HANDLE = 'agent';
|
|
27
|
+
/**
|
|
28
|
+
* Mints the Ed25519 `did:key` the capabilities will be delegated to, holding
|
|
29
|
+
* it in memory only. Nothing is written yet: an exchange that is declined,
|
|
30
|
+
* expires, or times out must not leave a DID behind, since every abandoned run
|
|
31
|
+
* would otherwise file another key under the same handle and make later
|
|
32
|
+
* lookups of that handle ambiguous.
|
|
33
|
+
*
|
|
34
|
+
* @returns {Promise<{did: string, keyPair: Ed25519VerificationKey, didDocument: object}>}
|
|
35
|
+
*/
|
|
36
|
+
async function mintAgentKey() {
|
|
37
|
+
const keyPair = await Ed25519VerificationKey.generate();
|
|
38
|
+
const didDriver = driver();
|
|
39
|
+
didDriver.use({ keyPairClass: Ed25519VerificationKey });
|
|
40
|
+
const { didDocument } = await didDriver.fromKeyPair({
|
|
41
|
+
verificationKeyPair: keyPair
|
|
42
|
+
});
|
|
43
|
+
return { did: didDocument.id, keyPair, didDocument };
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Writes the minted key to local DID storage, once the grant it was minted for
|
|
47
|
+
* has actually arrived. Only a saved key can sign a later
|
|
48
|
+
* `was put --capability`, since that resolves its signer out of the DID store.
|
|
49
|
+
*
|
|
50
|
+
* @param options {object}
|
|
51
|
+
* @param options.keyPair {Ed25519VerificationKey}
|
|
52
|
+
* @param options.didDocument {object}
|
|
53
|
+
* @param options.handle {string}
|
|
54
|
+
* @param [options.description] {string}
|
|
55
|
+
* @returns {Promise<void>}
|
|
56
|
+
*/
|
|
57
|
+
async function saveAgentDid({ keyPair, didDocument, handle, description }) {
|
|
58
|
+
const exported = await keyPair.export({ publicKey: true, secretKey: true });
|
|
59
|
+
await saveDidArtifacts({
|
|
60
|
+
method: 'key',
|
|
61
|
+
didDocument,
|
|
62
|
+
exportedKeys: exported,
|
|
63
|
+
fingerprints: [
|
|
64
|
+
exported.publicKeyMultibase
|
|
65
|
+
],
|
|
66
|
+
handle,
|
|
67
|
+
description
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Reports whether a handle is already filed against a stored DID or zcap. A
|
|
72
|
+
* run claims the handle in both stores at once, so a collision in either makes
|
|
73
|
+
* a later `--did <handle>` or `--capability <handle>` ambiguous.
|
|
74
|
+
*
|
|
75
|
+
* @param options {object}
|
|
76
|
+
* @param options.handle {string}
|
|
77
|
+
* @returns {Promise<boolean>}
|
|
78
|
+
*/
|
|
79
|
+
async function isHandleTaken({ handle }) {
|
|
80
|
+
try {
|
|
81
|
+
if (await resolveDidRef({ ref: handle })) {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
return (await resolveZcapRef({ ref: handle })) !== undefined;
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
// Resolution throws when the handle already matches more than one stored
|
|
88
|
+
// item, which is itself proof that it is taken.
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Files the received capabilities in the local zcap store. The request carries
|
|
94
|
+
* one capability query, so one capability is the expected answer; any extras
|
|
95
|
+
* are saved under the same handle with a numeric suffix, which keeps every
|
|
96
|
+
* handle unambiguous for later lookup.
|
|
97
|
+
*
|
|
98
|
+
* @param options {object}
|
|
99
|
+
* @param options.zcaps {IZcap[]}
|
|
100
|
+
* @param options.handle {string}
|
|
101
|
+
* @param [options.description] {string}
|
|
102
|
+
* @returns {Promise<string[]>} The saved file paths.
|
|
103
|
+
*/
|
|
104
|
+
async function saveCapabilities({ zcaps, handle, description }) {
|
|
105
|
+
const savedPaths = [];
|
|
106
|
+
for (const [index, zcap] of zcaps.entries()) {
|
|
107
|
+
const storageId = sanitizeStorageId(zcap.id);
|
|
108
|
+
savedPaths.push(await saveToCollection({
|
|
109
|
+
collection: ZCAP_COLLECTION,
|
|
110
|
+
storageId,
|
|
111
|
+
data: zcap
|
|
112
|
+
}));
|
|
113
|
+
await writeCreateMeta({
|
|
114
|
+
collection: ZCAP_COLLECTION,
|
|
115
|
+
storageId,
|
|
116
|
+
created: new Date().toISOString(),
|
|
117
|
+
handle: index === 0 ? handle : `${handle}-${index + 1}`,
|
|
118
|
+
description
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
return savedPaths;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Requests a capability from a user's wallet: mints the grantee key, opens an
|
|
125
|
+
* ephemeral exchange carrying a zcap-only VPR, prints the interaction URL for
|
|
126
|
+
* the user to open, then waits for their approval and records what came back.
|
|
127
|
+
*
|
|
128
|
+
* @param options {object}
|
|
129
|
+
* @param [options.collection] {string} The collection to request (default
|
|
130
|
+
* `web`).
|
|
131
|
+
* @param [options.action] {string[]} The actions to request.
|
|
132
|
+
* @param [options.reason] {string} Why access is wanted, shown at consent.
|
|
133
|
+
* @param [options.name] {string} The agent's self-declared display name,
|
|
134
|
+
* shown at consent as what it calls itself.
|
|
135
|
+
* @param [options.server] {string} The WAS server base URL.
|
|
136
|
+
* @param [options.wallet] {string} A wallet base URL to print an approval
|
|
137
|
+
* deep link for, beside the interaction URL.
|
|
138
|
+
* @param [options.save] {boolean} Persist the key and capabilities
|
|
139
|
+
* (default true).
|
|
140
|
+
* @param [options.handle] {string} Handle to file them under.
|
|
141
|
+
* @param [options.description] {string} Longer description for the sidecar.
|
|
142
|
+
* @param [options.timeout] {string} Seconds to wait for approval.
|
|
143
|
+
* @param [options.json] {boolean} Print one JSON object instead of prose.
|
|
144
|
+
* @returns {Promise<number>} The process exit code.
|
|
145
|
+
*/
|
|
146
|
+
export async function runRequestGrant(options) {
|
|
147
|
+
const save = options.save !== false;
|
|
148
|
+
try {
|
|
149
|
+
if (!requireSaveForMetaFlags({
|
|
150
|
+
save,
|
|
151
|
+
...(options.handle !== undefined && { handle: options.handle }),
|
|
152
|
+
...(options.description !== undefined && {
|
|
153
|
+
description: options.description
|
|
154
|
+
})
|
|
155
|
+
})) {
|
|
156
|
+
return 2;
|
|
157
|
+
}
|
|
158
|
+
const server = options.server ?? process.env.WAS_SERVER_URL;
|
|
159
|
+
if (!server) {
|
|
160
|
+
throw new Error('No WAS server URL: provide --server or set WAS_SERVER_URL.');
|
|
161
|
+
}
|
|
162
|
+
const timeoutMs = options.timeout === undefined
|
|
163
|
+
? DEFAULT_TIMEOUT_MS
|
|
164
|
+
: Number(options.timeout) * 1000;
|
|
165
|
+
if (!Number.isFinite(timeoutMs) ||
|
|
166
|
+
timeoutMs <= 0 ||
|
|
167
|
+
timeoutMs > MAX_TIMEOUT_MS) {
|
|
168
|
+
throw new Error(`Invalid --timeout "${options.timeout}": use seconds, up to ` +
|
|
169
|
+
`${Math.floor(MAX_TIMEOUT_MS / 1000)}.`);
|
|
170
|
+
}
|
|
171
|
+
const collection = options.collection ?? DEFAULT_COLLECTION;
|
|
172
|
+
const handle = options.handle ?? DEFAULT_HANDLE;
|
|
173
|
+
if (save && (await isHandleTaken({ handle }))) {
|
|
174
|
+
console.error(`The handle "${handle}" is already taken by a stored DID or ` +
|
|
175
|
+
'capability; pass a different --handle.');
|
|
176
|
+
return 2;
|
|
177
|
+
}
|
|
178
|
+
const walletRoute = options.wallet === undefined
|
|
179
|
+
? undefined
|
|
180
|
+
: walletRequestRoute({ wallet: options.wallet });
|
|
181
|
+
const { did: controller, keyPair, didDocument } = await mintAgentKey();
|
|
182
|
+
const request = buildCapabilityRequest({
|
|
183
|
+
controller,
|
|
184
|
+
collection,
|
|
185
|
+
...(options.action !== undefined && { actions: options.action }),
|
|
186
|
+
...(options.reason !== undefined && { reason: options.reason }),
|
|
187
|
+
...(options.name !== undefined && { name: options.name })
|
|
188
|
+
});
|
|
189
|
+
const { exchangeUrl, interactionUrl } = await openGrantExchange({
|
|
190
|
+
server,
|
|
191
|
+
request
|
|
192
|
+
});
|
|
193
|
+
const walletUrl = walletRoute === undefined
|
|
194
|
+
? undefined
|
|
195
|
+
: buildWalletDeepLink({ route: walletRoute, interactionUrl });
|
|
196
|
+
console.error(`Requesting "${collection}" access for ${controller}.\n` +
|
|
197
|
+
`Open this in your wallet to approve:\n\n ${interactionUrl}\n\n` +
|
|
198
|
+
(walletUrl === undefined
|
|
199
|
+
? ''
|
|
200
|
+
: `Or open your wallet directly:\n\n ${walletUrl}\n\n`) +
|
|
201
|
+
'Waiting for approval...');
|
|
202
|
+
const zcaps = await awaitGrantedCapabilities({ exchangeUrl, timeoutMs });
|
|
203
|
+
let savedPaths = [];
|
|
204
|
+
if (save) {
|
|
205
|
+
const description = options.description !== undefined
|
|
206
|
+
? { description: options.description }
|
|
207
|
+
: {};
|
|
208
|
+
await saveAgentDid({ keyPair, didDocument, handle, ...description });
|
|
209
|
+
savedPaths = await saveCapabilities({ zcaps, handle, ...description });
|
|
210
|
+
}
|
|
211
|
+
for (const savedPath of savedPaths) {
|
|
212
|
+
console.error(`Capability saved to ${savedPath}`);
|
|
213
|
+
}
|
|
214
|
+
if (!save) {
|
|
215
|
+
console.error('Not saved (--no-save): the grantee key was discarded, so these ' +
|
|
216
|
+
'capabilities cannot be invoked by a later command.');
|
|
217
|
+
}
|
|
218
|
+
const encoded = zcaps.map(zcap => encodeCapability(zcap));
|
|
219
|
+
if (options.json) {
|
|
220
|
+
console.log(JSON.stringify({
|
|
221
|
+
controller,
|
|
222
|
+
...(save && { handle }),
|
|
223
|
+
interactionUrl,
|
|
224
|
+
...(walletUrl !== undefined && { walletUrl }),
|
|
225
|
+
capabilities: zcaps,
|
|
226
|
+
encoded
|
|
227
|
+
}, null, 2));
|
|
228
|
+
return 0;
|
|
229
|
+
}
|
|
230
|
+
console.error(save
|
|
231
|
+
? `Granted. Use it with --capability ${handle}, for example:\n` +
|
|
232
|
+
` di was put ./index.html --capability ${handle} ` +
|
|
233
|
+
`--did ${handle} --resource index.html --content-type text/html`
|
|
234
|
+
: 'Granted.');
|
|
235
|
+
for (const value of encoded) {
|
|
236
|
+
console.log(value);
|
|
237
|
+
}
|
|
238
|
+
return 0;
|
|
239
|
+
}
|
|
240
|
+
catch (err) {
|
|
241
|
+
if (err instanceof GrantRequestError) {
|
|
242
|
+
console.error(`Could not request a grant: ${err.message}`);
|
|
243
|
+
return 1;
|
|
244
|
+
}
|
|
245
|
+
return reportError({ action: 'request a grant', err });
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=request-grant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-grant.js","sourceRoot":"","sources":["../../../src/commands/was/request-grant.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,13 +23,15 @@ export declare function runResourceAdd(options: {
|
|
|
23
23
|
}): Promise<number>;
|
|
24
24
|
/**
|
|
25
25
|
* Creates or replaces a resource at a known id (upsert) and prints
|
|
26
|
-
* `{ id, url }`. The resource comes from a path
|
|
27
|
-
* targeting one
|
|
26
|
+
* `{ id, url }`. The resource comes from a path, a `--capability`
|
|
27
|
+
* targeting one, or a collection `--capability` plus `--resource <id>`.
|
|
28
28
|
*
|
|
29
29
|
* @param options {object}
|
|
30
30
|
* @param [options.address] {string} The resource address.
|
|
31
31
|
* @param [options.capability] {string} A capability reference instead of
|
|
32
32
|
* a path.
|
|
33
|
+
* @param [options.resource] {string} The resource id beneath a collection
|
|
34
|
+
* capability.
|
|
33
35
|
* @param [options.file] {string} The payload file; stdin when omitted.
|
|
34
36
|
* @param [options.contentType] {string} Explicit payload content type.
|
|
35
37
|
* @param [options.server] {string} The server base URL.
|
|
@@ -39,6 +41,7 @@ export declare function runResourceAdd(options: {
|
|
|
39
41
|
export declare function runResourcePut(options: {
|
|
40
42
|
address?: string;
|
|
41
43
|
capability?: string;
|
|
44
|
+
resource?: string;
|
|
42
45
|
file?: string;
|
|
43
46
|
contentType?: string;
|
|
44
47
|
server?: string;
|
|
@@ -46,13 +49,15 @@ export declare function runResourcePut(options: {
|
|
|
46
49
|
}): Promise<number>;
|
|
47
50
|
/**
|
|
48
51
|
* Reads a resource: JSON pretty-printed to stdout, binary written raw
|
|
49
|
-
* (`--output` for files). The resource comes from a path
|
|
50
|
-
* `--capability`
|
|
52
|
+
* (`--output` for files). The resource comes from a path, a `--capability`
|
|
53
|
+
* targeting one, or a collection `--capability` plus `--resource <id>`.
|
|
51
54
|
*
|
|
52
55
|
* @param options {object}
|
|
53
56
|
* @param [options.address] {string} The resource address.
|
|
54
57
|
* @param [options.capability] {string} A capability reference instead of
|
|
55
58
|
* a path.
|
|
59
|
+
* @param [options.resource] {string} The resource id beneath a collection
|
|
60
|
+
* capability.
|
|
56
61
|
* @param [options.output] {string} The output file path; stdout when
|
|
57
62
|
* omitted.
|
|
58
63
|
* @param [options.server] {string} The server base URL.
|
|
@@ -62,6 +67,7 @@ export declare function runResourcePut(options: {
|
|
|
62
67
|
export declare function runResourceGet(options: {
|
|
63
68
|
address?: string;
|
|
64
69
|
capability?: string;
|
|
70
|
+
resource?: string;
|
|
65
71
|
output?: string;
|
|
66
72
|
server?: string;
|
|
67
73
|
did?: string;
|
|
@@ -69,12 +75,15 @@ export declare function runResourceGet(options: {
|
|
|
69
75
|
/**
|
|
70
76
|
* Reads a resource's metadata object (server-managed `contentType` / `size` /
|
|
71
77
|
* timestamps plus the user-writable `custom`) and pretty-prints it. The
|
|
72
|
-
* resource comes from a path
|
|
78
|
+
* resource comes from a path, a `--capability` targeting one, or a
|
|
79
|
+
* collection `--capability` plus `--resource <id>`.
|
|
73
80
|
*
|
|
74
81
|
* @param options {object}
|
|
75
82
|
* @param [options.address] {string} The resource address.
|
|
76
83
|
* @param [options.capability] {string} A capability reference instead of
|
|
77
84
|
* a path.
|
|
85
|
+
* @param [options.resource] {string} The resource id beneath a collection
|
|
86
|
+
* capability.
|
|
78
87
|
* @param [options.server] {string} The server base URL.
|
|
79
88
|
* @param [options.did] {string} The signing DID or stored-DID handle.
|
|
80
89
|
* @returns {Promise<number>} The process exit code.
|
|
@@ -82,6 +91,7 @@ export declare function runResourceGet(options: {
|
|
|
82
91
|
export declare function runResourceMetaGet(options: {
|
|
83
92
|
address?: string;
|
|
84
93
|
capability?: string;
|
|
94
|
+
resource?: string;
|
|
85
95
|
server?: string;
|
|
86
96
|
did?: string;
|
|
87
97
|
}): Promise<number>;
|
|
@@ -89,13 +99,16 @@ export declare function runResourceMetaGet(options: {
|
|
|
89
99
|
* Updates a resource's user-writable metadata and prints the resulting
|
|
90
100
|
* metadata. `--name`/`--tag` are read-modify-write sugar that preserve the
|
|
91
101
|
* other field; giving both, or `--json`, is a full `custom` replacement so
|
|
92
|
-
* any omitted property is cleared. The resource comes from a path
|
|
93
|
-
* `--capability` targeting one
|
|
102
|
+
* any omitted property is cleared. The resource comes from a path, a
|
|
103
|
+
* `--capability` targeting one, or a collection `--capability` plus
|
|
104
|
+
* `--resource <id>`.
|
|
94
105
|
*
|
|
95
106
|
* @param options {object}
|
|
96
107
|
* @param [options.address] {string} The resource address.
|
|
97
108
|
* @param [options.capability] {string} A capability reference instead of
|
|
98
109
|
* a path.
|
|
110
|
+
* @param [options.resource] {string} The resource id beneath a collection
|
|
111
|
+
* capability.
|
|
99
112
|
* @param [options.name] {string} The resource's display name.
|
|
100
113
|
* @param options.tag {string[]} Repeatable `key=value` tag pairs.
|
|
101
114
|
* @param [options.json] {string} Full `custom` JSON (inline or a file
|
|
@@ -107,6 +120,7 @@ export declare function runResourceMetaGet(options: {
|
|
|
107
120
|
export declare function runResourceMetaPut(options: {
|
|
108
121
|
address?: string;
|
|
109
122
|
capability?: string;
|
|
123
|
+
resource?: string;
|
|
110
124
|
name?: string;
|
|
111
125
|
tag: string[];
|
|
112
126
|
json?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/commands/was/resource.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/commands/was/resource.ts"],"names":[],"mappings":"AAoGA;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAwClB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBlB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAelB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAelB;AAsDD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAgClB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBlB;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBlB"}
|