@interop/did-cli 0.14.0 → 0.15.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.
@@ -1 +1 @@
1
- {"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../src/was/capability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EACR,KAAK,EACL,KAAK,EACL,SAAS,EACV,MAAM,qBAAqB,CAAA;AAI5B;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,CAAA;AAEjE;;GAEG;AACH,UAAU,sBAAsB;IAC9B,MAAM,EAAE,SAAS,CAAA;IACjB,IAAI,EAAE,KAAK,CAAA;IACX,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAA;IACd,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAChC,CAAC,sBAAsB,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,KAAK,CAAA;CAAE,CAAC,GAC5D,CAAC,sBAAsB,GAAG;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC,GACtE,CAAC,sBAAsB,GAAG;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAA;AAEtE;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAAC,EAC5C,GAAG,EACH,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAuCpC"}
1
+ {"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../src/was/capability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EACR,KAAK,EACL,KAAK,EACL,SAAS,EACV,MAAM,qBAAqB,CAAA;AAI5B;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,CAAA;AAEjE;;GAEG;AACH,UAAU,sBAAsB;IAC9B,MAAM,EAAE,SAAS,CAAA;IACjB,IAAI,EAAE,KAAK,CAAA;IACX,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAA;IACd,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAChC,CAAC,sBAAsB,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,KAAK,CAAA;CAAE,CAAC,GAC5D,CAAC,sBAAsB,GAAG;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC,GACtE,CAAC,sBAAsB,GAAG;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAA;AAEtE;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAAC,EAC5C,GAAG,EACH,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA0CpC"}
@@ -31,9 +31,12 @@ export async function resolveCapabilityTarget({ ref, did }) {
31
31
  if (!didRef) {
32
32
  throw new Error('No signing DID for the capability: provide --did or WAS_DID.');
33
33
  }
34
+ // Discover the service from the target itself rather than the origin: a
35
+ // deployment may serve a static page at its origin with no service link.
34
36
  const { client, did: resolvedDid } = await buildWasClient({
35
37
  server,
36
- did: didRef
38
+ did: didRef,
39
+ discoverFrom: url
37
40
  });
38
41
  const handle = client.fromCapability(zcap);
39
42
  const base = { client, zcap, server, did: resolvedDid, url };
@@ -1 +1 @@
1
- {"version":3,"file":"capability.js","sourceRoot":"","sources":["../../src/was/capability.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAgC5C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,EAC5C,GAAG,EACH,GAAG,EAIJ;IACC,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAClD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,4BAA4B,CAAC,CAAA;IACrE,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAA;IACjC,IAAI,MAAc,CAAA;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,yDAAyD,GAAG,EAAE,EAC9D,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GACV,GAAG;QACH,OAAO,CAAC,GAAG,CAAC,OAAO;QACnB,CAAC,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACrE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAA;IACH,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,cAAc,CAAC;QACxD,MAAM;QACN,GAAG,EAAE,MAAM;KACZ,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAA;IAC5D,+DAA+D;IAC/D,2EAA2E;IAC3E,IAAI,cAAc,IAAI,MAAM,EAAE,CAAC;QAC7B,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;IAC/C,CAAC;IACD,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;QACxB,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CAAA;IACjD,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AAC5C,CAAC"}
1
+ {"version":3,"file":"capability.js","sourceRoot":"","sources":["../../src/was/capability.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAgC5C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,EAC5C,GAAG,EACH,GAAG,EAIJ;IACC,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAClD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,4BAA4B,CAAC,CAAA;IACrE,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAA;IACjC,IAAI,MAAc,CAAA;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,yDAAyD,GAAG,EAAE,EAC9D,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GACV,GAAG;QACH,OAAO,CAAC,GAAG,CAAC,OAAO;QACnB,CAAC,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACrE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAA;IACH,CAAC;IACD,wEAAwE;IACxE,yEAAyE;IACzE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,cAAc,CAAC;QACxD,MAAM;QACN,GAAG,EAAE,MAAM;QACX,YAAY,EAAE,GAAG;KAClB,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAA;IAC5D,+DAA+D;IAC/D,2EAA2E;IAC3E,IAAI,cAAc,IAAI,MAAM,EAAE,CAAC;QAC7B,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;IAC/C,CAAC;IACD,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;QACxB,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CAAA;IACjD,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AAC5C,CAAC"}
@@ -19,12 +19,16 @@ import { type SpaceRecord } from './registry.js';
19
19
  /**
20
20
  * Constructs the `WasClient` for a resolved server URL and signer. Kept as a
21
21
  * replaceable factory so command tests can substitute a stubbed client (no
22
- * network) while exercising the full resolution path.
22
+ * network) while exercising the full resolution path. `discoverFrom` names a
23
+ * server-owned URL to run service discovery against instead of the base URL,
24
+ * for a deployment whose base URL is a static page that carries no service
25
+ * link.
23
26
  */
24
27
  type WasClientFactory = (options: {
25
28
  serverUrl: string;
26
29
  signer: ISigner;
27
- }) => WasClient;
30
+ discoverFrom?: string;
31
+ }) => WasClient | Promise<WasClient>;
28
32
  /**
29
33
  * Replaces the `WasClient` construction step (a test-only seam). Call with
30
34
  * no argument to restore the default factory.
@@ -76,11 +80,14 @@ export declare function loadWasSigner({ did }: {
76
80
  * @param options {object}
77
81
  * @param [options.server] {string} The server base URL.
78
82
  * @param [options.did] {string} A DID or stored-DID metadata handle.
83
+ * @param [options.discoverFrom] {string} A server-owned URL to run service
84
+ * discovery against instead of the base URL.
79
85
  * @returns {Promise<{client: WasClient, server: string, did: string}>}
80
86
  */
81
- export declare function buildWasClient({ server, did }?: {
87
+ export declare function buildWasClient({ server, did, discoverFrom }?: {
82
88
  server?: string;
83
89
  did?: string;
90
+ discoverFrom?: string;
84
91
  }): Promise<{
85
92
  client: WasClient;
86
93
  server: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/was/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAG/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AASjE;;;;GAIG;AACH,KAAK,gBAAgB,GAAG,CAAC,OAAO,EAAE;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;CAChB,KAAK,SAAS,CAAA;AAcf;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAEpE;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,SAAS,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAC;QAAC,IAAI,CAAC,EAAE,YAAY,CAAA;KAAE,CAAA;CACxE;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,EAClC,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAiC5C;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,EACnC,MAAM,EACN,GAAG,EACJ,GAAE;IACD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACR,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAcnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,OAAO,EACP,MAAM,EACN,GAAG,EACJ,EAAE;IACD,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAuC7B"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/was/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAmB,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAIhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AASjE;;;;;;;GAOG;AACH,KAAK,gBAAgB,GAAG,CAAC,OAAO,EAAE;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,KAAK,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAwBpC;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAEpE;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,SAAS,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAC;QAAC,IAAI,CAAC,EAAE,YAAY,CAAA;KAAE,CAAA;CACxE;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,EAClC,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAiC5C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAAC,EACnC,MAAM,EACN,GAAG,EACH,YAAY,EACb,GAAE;IACD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAkBnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,OAAO,EACP,MAAM,EACN,GAAG,EACJ,EAAE;IACD,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA6C7B"}
@@ -12,7 +12,8 @@
12
12
  * signing (the constraint of the `Ed25519Signature2020` zcap suite used by
13
13
  * `@interop/was-client`).
14
14
  */
15
- import { WasClient } from '@interop/was-client';
15
+ import { discoverService, WasClient } from '@interop/was-client';
16
+ import { spacePath, toUrl } from '@interop/was-client/paths';
16
17
  import { Ed25519VerificationKey } from '@interop/ed25519-verification-key';
17
18
  import { createSigner } from '@interop/ed25519-signature';
18
19
  import { loadDidDocument, loadDidKeys } from '../storage.js';
@@ -25,8 +26,16 @@ import { resolveSpaceRef } from './registry.js';
25
26
  * public key is what identifies the curve.
26
27
  */
27
28
  const ED25519_MULTIBASE_PREFIX = 'z6Mk';
28
- function defaultWasClientFactory({ serverUrl, signer }) {
29
- return WasClient.fromSigner({ serverUrl, signer });
29
+ async function defaultWasClientFactory({ serverUrl, signer, discoverFrom }) {
30
+ if (discoverFrom === undefined) {
31
+ return WasClient.fromSigner({ serverUrl, signer });
32
+ }
33
+ const { description } = await discoverService({ url: discoverFrom });
34
+ return WasClient.fromSigner({
35
+ serverUrl,
36
+ signer,
37
+ serviceDescription: description
38
+ });
30
39
  }
31
40
  let wasClientFactory = defaultWasClientFactory;
32
41
  /**
@@ -85,9 +94,11 @@ export async function loadWasSigner({ did }) {
85
94
  * @param options {object}
86
95
  * @param [options.server] {string} The server base URL.
87
96
  * @param [options.did] {string} A DID or stored-DID metadata handle.
97
+ * @param [options.discoverFrom] {string} A server-owned URL to run service
98
+ * discovery against instead of the base URL.
88
99
  * @returns {Promise<{client: WasClient, server: string, did: string}>}
89
100
  */
90
- export async function buildWasClient({ server, did } = {}) {
101
+ export async function buildWasClient({ server, did, discoverFrom } = {}) {
91
102
  const serverUrl = server ?? process.env.WAS_SERVER_URL;
92
103
  if (!serverUrl) {
93
104
  throw new Error('No WAS server URL: provide --server or set WAS_SERVER_URL.');
@@ -97,7 +108,11 @@ export async function buildWasClient({ server, did } = {}) {
97
108
  throw new Error('No signing DID: provide --did or set WAS_DID.');
98
109
  }
99
110
  const { did: resolvedDid, signer } = await loadWasSigner({ did: didRef });
100
- const client = wasClientFactory({ serverUrl, signer });
111
+ const client = await wasClientFactory({
112
+ serverUrl,
113
+ signer,
114
+ ...(discoverFrom !== undefined && { discoverFrom })
115
+ });
101
116
  return { client, server: serverUrl, did: resolvedDid };
102
117
  }
103
118
  /**
@@ -132,7 +147,13 @@ export async function resolveWasTarget({ address, server, did }) {
132
147
  'WAS_DID, or register the space with its controller DID.');
133
148
  }
134
149
  const { did: resolvedDid, signer } = await loadWasSigner({ did: didRef });
135
- const client = wasClientFactory({ serverUrl, signer });
150
+ // Discover the service from the space rather than the origin: a deployment
151
+ // may serve a static page at its origin with no service link.
152
+ const client = await wasClientFactory({
153
+ serverUrl,
154
+ signer,
155
+ discoverFrom: toUrl({ serverUrl, path: spacePath(spaceId) })
156
+ });
136
157
  return {
137
158
  client,
138
159
  server: serverUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/was/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/was/client.ts"],"names":[],"mappings":"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"}
@@ -78,7 +78,7 @@ export declare function buildCapabilityRequest({ controller, collection, actions
78
78
  *
79
79
  * @param options {object}
80
80
  * @param options.wallet {string} The wallet's base URL.
81
- * @returns {URL}
81
+ * @returns {URL} The base URL with the route as its fragment.
82
82
  */
83
83
  export declare function walletRequestRoute({ wallet }: {
84
84
  wallet: string;
@@ -87,8 +87,10 @@ export declare function walletRequestRoute({ wallet }: {
87
87
  * Builds the link that opens a wallet straight onto the approval page for an
88
88
  * exchange, for the case where the user is already at a browser: the wallet's
89
89
  * external-request route carrying the interaction URL as a percent-encoded
90
- * `url` parameter. The interaction URL alone stays the fallback, since it is
91
- * what a wallet on another device can be pointed at.
90
+ * `url` parameter. The parameter goes inside the fragment, after the route,
91
+ * because that is the only part of the URL a fragment-routed wallet reads.
92
+ * The interaction URL alone stays the fallback, since it is what a wallet on
93
+ * another device can be pointed at.
92
94
  *
93
95
  * @param options {object}
94
96
  * @param options.route {URL} The wallet's external-request route.
@@ -104,12 +106,13 @@ export declare function buildWalletDeepLink({ route, interactionUrl }: {
104
106
  * returns both the URL to poll and the interaction URL to hand the user.
105
107
  *
106
108
  * @param options {object}
107
- * @param options.server {string} The WAS server base URL.
109
+ * @param options.exchange {string} Base URL of the WAS server hosting the
110
+ * exchange.
108
111
  * @param options.request {IVPRDetails} The VPR to store on the exchange.
109
112
  * @returns {Promise<{exchangeUrl: string, interactionUrl: string}>}
110
113
  */
111
- export declare function openGrantExchange({ server, request }: {
112
- server: string;
114
+ export declare function openGrantExchange({ exchange, request }: {
115
+ exchange: string;
113
116
  request: IVPRDetails;
114
117
  }): Promise<{
115
118
  exchangeUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"request-grant.d.ts","sourceRoot":"","sources":["../../src/was/request-grant.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAEV,WAAW,EACZ,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,4CAA4C,CAAA;AAE/E,yEAAyE;AACzE,eAAO,MAAM,kBAAkB,QAAQ,CAAA;AAEvC,qEAAqE;AACrE,eAAO,MAAM,eAAe,UAAiC,CAAA;AAS7D;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAA4B,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,cAAc,aAAgB,CAAA;AAE3C;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAE/C;;GAEG;AACH,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAIzE;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAE5D;AAsBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,UAAU,EACV,UAA+B,EAC/B,OAAyB,EACzB,MAAM,EACN,IAAI,EACL,EAAE;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,WAAW,CAcd;AASD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAoBtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,cAAc,EACf,EAAE;IACD,KAAK,EAAE,GAAG,CAAA;IACV,cAAc,EAAE,MAAM,CAAA;CACvB,GAAG,MAAM,CAIT;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,MAAM,EACN,OAAO,EACR,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,WAAW,CAAA;CACrB,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,CAM3D;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,EAAE,CA4B9D;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,wBAAwB,CAAC,EAC7C,WAAW,EACX,SAA8B,EAC9B,UAAU,EACX,EAAE;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CA8BnB"}
1
+ {"version":3,"file":"request-grant.d.ts","sourceRoot":"","sources":["../../src/was/request-grant.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAEV,WAAW,EACZ,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,4CAA4C,CAAA;AAE/E,yEAAyE;AACzE,eAAO,MAAM,kBAAkB,QAAQ,CAAA;AAEvC,qEAAqE;AACrE,eAAO,MAAM,eAAe,UAAiC,CAAA;AAS7D;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAA4B,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,cAAc,aAAgB,CAAA;AAE3C;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAE/C;;GAEG;AACH,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAIzE;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAE5D;AAsBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,UAAU,EACV,UAA+B,EAC/B,OAAyB,EACzB,MAAM,EACN,IAAI,EACL,EAAE;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,WAAW,CAcd;AAUD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAsBtE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,cAAc,EACf,EAAE;IACD,KAAK,EAAE,GAAG,CAAA;IACV,cAAc,EAAE,MAAM,CAAA;CACvB,GAAG,MAAM,CAKT;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,QAAQ,EACR,OAAO,EACR,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,WAAW,CAAA;CACrB,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,CAM3D;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,EAAE,CA4B9D;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,wBAAwB,CAAC,EAC7C,WAAW,EACX,SAA8B,EAC9B,UAAU,EACX,EAAE;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CA8BnB"}
@@ -118,9 +118,10 @@ export function buildCapabilityRequest({ controller, collection = DEFAULT_COLLEC
118
118
  /**
119
119
  * The wallet route an outside request is handed to. Requests arriving from
120
120
  * outside the app land under `/external/`; `/wallet/*` stays CHAPI-handler
121
- * only.
121
+ * only. The wallet routes on the URL fragment, so the route (and the query it
122
+ * carries) lives after `#`.
122
123
  */
123
- const WALLET_REQUEST_PATH = 'external/request';
124
+ const WALLET_REQUEST_ROUTE = '/external/request';
124
125
  /**
125
126
  * Resolves a wallet base URL to its external-request route, rejecting anything
126
127
  * that is not an absolute http(s) URL. Kept separate from the link itself so a
@@ -128,7 +129,7 @@ const WALLET_REQUEST_PATH = 'external/request';
128
129
  *
129
130
  * @param options {object}
130
131
  * @param options.wallet {string} The wallet's base URL.
131
- * @returns {URL}
132
+ * @returns {URL} The base URL with the route as its fragment.
132
133
  */
133
134
  export function walletRequestRoute({ wallet }) {
134
135
  let base;
@@ -142,17 +143,21 @@ export function walletRequestRoute({ wallet }) {
142
143
  throw new Error(`Invalid wallet URL "${wallet}": expected an http(s) URL, got ` +
143
144
  `"${base.protocol}".`);
144
145
  }
145
- // Resolve the route against the base path rather than the origin, so a
146
- // wallet deployed under a sub-path keeps its prefix.
146
+ // Keep the base path (a wallet deployed under a sub-path keeps its prefix)
147
+ // and hang the route off it as the fragment.
147
148
  const path = base.pathname.endsWith('/') ? base.pathname : `${base.pathname}/`;
148
- return new URL(`${path}${WALLET_REQUEST_PATH}`, base);
149
+ const route = new URL(path, base);
150
+ route.hash = WALLET_REQUEST_ROUTE;
151
+ return route;
149
152
  }
150
153
  /**
151
154
  * Builds the link that opens a wallet straight onto the approval page for an
152
155
  * exchange, for the case where the user is already at a browser: the wallet's
153
156
  * external-request route carrying the interaction URL as a percent-encoded
154
- * `url` parameter. The interaction URL alone stays the fallback, since it is
155
- * what a wallet on another device can be pointed at.
157
+ * `url` parameter. The parameter goes inside the fragment, after the route,
158
+ * because that is the only part of the URL a fragment-routed wallet reads.
159
+ * The interaction URL alone stays the fallback, since it is what a wallet on
160
+ * another device can be pointed at.
156
161
  *
157
162
  * @param options {object}
158
163
  * @param options.route {URL} The wallet's external-request route.
@@ -161,7 +166,8 @@ export function walletRequestRoute({ wallet }) {
161
166
  */
162
167
  export function buildWalletDeepLink({ route, interactionUrl }) {
163
168
  const link = new URL(route);
164
- link.searchParams.set('url', interactionUrl);
169
+ const params = new URLSearchParams({ url: interactionUrl });
170
+ link.hash = `${route.hash.slice(1)}?${params.toString()}`;
165
171
  return link.toString();
166
172
  }
167
173
  /**
@@ -169,13 +175,14 @@ export function buildWalletDeepLink({ route, interactionUrl }) {
169
175
  * returns both the URL to poll and the interaction URL to hand the user.
170
176
  *
171
177
  * @param options {object}
172
- * @param options.server {string} The WAS server base URL.
178
+ * @param options.exchange {string} Base URL of the WAS server hosting the
179
+ * exchange.
173
180
  * @param options.request {IVPRDetails} The VPR to store on the exchange.
174
181
  * @returns {Promise<{exchangeUrl: string, interactionUrl: string}>}
175
182
  */
176
- export async function openGrantExchange({ server, request }) {
183
+ export async function openGrantExchange({ exchange, request }) {
177
184
  return createEphemeralExchange({
178
- serverUrl: server,
185
+ serverUrl: exchange,
179
186
  request,
180
187
  ...(exchangeFetch && { fetch: exchangeFetch })
181
188
  });
@@ -1 +1 @@
1
- {"version":3,"file":"request-grant.js","sourceRoot":"","sources":["../../src/was/request-grant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-grant.js","sourceRoot":"","sources":["../../src/was/request-grant.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import type { IRootZcap } from '@interop/data-integrity-core/zcap';
8
8
  * @param options.url {string} The resource URI the capability targets (the
9
9
  * `invocationTarget`).
10
10
  * @returns {{rootCapability: IRootZcap, encoded: string}} The root capability
11
- * and its multibase (base58btc) encoding.
11
+ * and its multibase (base64url) encoding.
12
12
  */
13
13
  export declare function createCapability({ controller, url }: {
14
14
  controller: string;
@@ -17,7 +17,7 @@ import { encodeCapability } from './encoding.js';
17
17
  * @param options.url {string} The resource URI the capability targets (the
18
18
  * `invocationTarget`).
19
19
  * @returns {{rootCapability: IRootZcap, encoded: string}} The root capability
20
- * and its multibase (base58btc) encoding.
20
+ * and its multibase (base64url) encoding.
21
21
  */
22
22
  export function createCapability({ controller, url }) {
23
23
  const rootCapability = createRootCapability({
@@ -25,7 +25,7 @@ import type { IDelegatedZcap, IZcap } from '@interop/data-integrity-core/zcap';
25
25
  * @param [options.expires] {string} Explicit ISO 8601 expiration (overrides
26
26
  * `ttl`).
27
27
  * @returns {Promise<{delegatedCapability: IDelegatedZcap, encoded: string}>}
28
- * The signed delegated capability and its multibase (base58btc) encoding.
28
+ * The signed delegated capability and its multibase (base64url) encoding.
29
29
  */
30
30
  export declare function delegateCapability({ did, controller, delegatee, url, capability, invocationTarget, allow, ttl, expires }: {
31
31
  did?: string;
@@ -46,7 +46,7 @@ import { loadDelegationSigner } from './signer.js';
46
46
  * @param [options.expires] {string} Explicit ISO 8601 expiration (overrides
47
47
  * `ttl`).
48
48
  * @returns {Promise<{delegatedCapability: IDelegatedZcap, encoded: string}>}
49
- * The signed delegated capability and its multibase (base58btc) encoding.
49
+ * The signed delegated capability and its multibase (base64url) encoding.
50
50
  */
51
51
  export async function delegateCapability({ did, controller, delegatee, url, capability, invocationTarget, allow, ttl = '1y', expires }) {
52
52
  const delegationSigner = await loadDelegationSigner({ did, controller });
@@ -1,16 +1,28 @@
1
1
  import type { IZcap } from '@interop/data-integrity-core/zcap';
2
2
  /**
3
- * Encodes a capability as a multibase (base58btc) string.
3
+ * Encodes a capability as a multibase (base64url, no padding) string.
4
4
  *
5
5
  * @param capability {IZcap} The root or delegated capability to encode.
6
- * @returns {string} The capability JSON, base58btc-encoded with a leading `z`.
6
+ * @returns {string} The capability JSON, base64url-encoded with a leading
7
+ * `u`.
7
8
  */
8
9
  export declare function encodeCapability(capability: IZcap): string;
9
10
  /**
10
- * Decodes a multibase (base58btc) capability string back into a capability.
11
+ * Tells whether a `--capability` value is an encoded capability rather than a
12
+ * file path or a stored id/handle. The `u` form is base64url of JSON that
13
+ * always opens with `{"`, so it always begins `ueyJ`; checking that prefix is
14
+ * what keeps a `urn:` capability id (which also begins with `u`) out of the
15
+ * decoder.
11
16
  *
12
- * @param encoded {string} A `z`-prefixed base58btc string from
13
- * `encodeCapability`.
17
+ * @param value {string}
18
+ * @returns {boolean}
19
+ */
20
+ export declare function isEncodedCapability(value: string): boolean;
21
+ /**
22
+ * Decodes a multibase (base64url, `u` prefix) capability string back into a
23
+ * capability.
24
+ *
25
+ * @param encoded {string} A `u`-prefixed multibase string.
14
26
  * @returns {IZcap} The decoded root or delegated capability.
15
27
  */
16
28
  export declare function decodeCapability(encoded: string): IZcap;
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/zcap/encoding.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAE9D;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,KAAK,GAAG,MAAM,CAG1D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAQvD"}
1
+ {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/zcap/encoding.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAE9D;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,KAAK,GAAG,MAAM,CAG1D;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAQvD"}
@@ -1,37 +1,51 @@
1
1
  /**
2
- * Multibase (base58btc) encoding for Authorization Capabilities (zcaps).
2
+ * Multibase encoding for Authorization Capabilities (zcaps).
3
3
  *
4
4
  * The CLI prints an `encoded` form alongside each capability: the capability's
5
- * JSON serialized to UTF-8 bytes, base58btc-encoded, with a leading `z`
6
- * multibase prefix (matching the legacy did-cli output). `decodeCapability`
7
- * reverses this so a delegated capability can be passed back in via
8
- * `zcap delegate --capability`. Uses `@scure/base`'s `base58` (the same base58
9
- * implementation used by `@interop/ed25519-verification-key`), which operates on
10
- * raw base58 without a multibase prefix, so the `z` is added/stripped here.
5
+ * JSON serialized to UTF-8 bytes, base64url-encoded without padding, with a
6
+ * leading `u` multibase prefix. `decodeCapability` reverses this so a
7
+ * delegated capability can be passed back in via `--capability`. base64url
8
+ * rather than base58btc because a delegated capability embeds its whole
9
+ * chain, and base58 is quadratic in the input size, so `@scure/base` refuses
10
+ * it past 2048 bytes -- smaller than a two-hop chain a wallet delegates.
11
11
  */
12
- import { base58 } from '@scure/base';
12
+ import { base64urlnopad } from '@scure/base';
13
13
  /**
14
- * Encodes a capability as a multibase (base58btc) string.
14
+ * Encodes a capability as a multibase (base64url, no padding) string.
15
15
  *
16
16
  * @param capability {IZcap} The root or delegated capability to encode.
17
- * @returns {string} The capability JSON, base58btc-encoded with a leading `z`.
17
+ * @returns {string} The capability JSON, base64url-encoded with a leading
18
+ * `u`.
18
19
  */
19
20
  export function encodeCapability(capability) {
20
21
  const bytes = new TextEncoder().encode(JSON.stringify(capability));
21
- return `z${base58.encode(bytes)}`;
22
+ return `u${base64urlnopad.encode(bytes)}`;
22
23
  }
23
24
  /**
24
- * Decodes a multibase (base58btc) capability string back into a capability.
25
+ * Tells whether a `--capability` value is an encoded capability rather than a
26
+ * file path or a stored id/handle. The `u` form is base64url of JSON that
27
+ * always opens with `{"`, so it always begins `ueyJ`; checking that prefix is
28
+ * what keeps a `urn:` capability id (which also begins with `u`) out of the
29
+ * decoder.
25
30
  *
26
- * @param encoded {string} A `z`-prefixed base58btc string from
27
- * `encodeCapability`.
31
+ * @param value {string}
32
+ * @returns {boolean}
33
+ */
34
+ export function isEncodedCapability(value) {
35
+ return /^ueyJ[A-Za-z0-9_-]*$/.test(value);
36
+ }
37
+ /**
38
+ * Decodes a multibase (base64url, `u` prefix) capability string back into a
39
+ * capability.
40
+ *
41
+ * @param encoded {string} A `u`-prefixed multibase string.
28
42
  * @returns {IZcap} The decoded root or delegated capability.
29
43
  */
30
44
  export function decodeCapability(encoded) {
31
- if (!encoded.startsWith('z')) {
32
- throw new Error('Encoded capability must be a multibase base58btc string (leading "z").');
45
+ if (!encoded.startsWith('u')) {
46
+ throw new Error('Encoded capability must be a multibase base64url string (leading "u").');
33
47
  }
34
- const bytes = base58.decode(encoded.slice(1));
48
+ const bytes = base64urlnopad.decode(encoded.slice(1));
35
49
  return JSON.parse(new TextDecoder().decode(bytes));
36
50
  }
37
51
  //# sourceMappingURL=encoding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../src/zcap/encoding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGpC;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAiB;IAChD,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;IAClE,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAA;IACH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAU,CAAA;AAC7D,CAAC"}
1
+ {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../src/zcap/encoding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAG5C;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAiB;IAChD,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;IAClE,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;AAC3C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAA;IACH,CAAC;IACD,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAU,CAAA;AAC7D,CAAC"}
@@ -1,9 +1,22 @@
1
1
  import type { IZcap } from '@interop/data-integrity-core/zcap';
2
2
  /**
3
- * Resolves a `--capability` reference to a capability object. A value
4
- * beginning with `z` is decoded as a multibase capability string; a path to
5
- * an existing file is parsed as capability JSON; anything else is looked up
6
- * in the local zcap store by capability id or metadata handle.
3
+ * Reads a capability given directly rather than by stored reference: a value
4
+ * that `isEncodedCapability` recognizes is decoded as a multibase capability
5
+ * string, and a path to an existing file is parsed as capability JSON. Returns
6
+ * undefined when the value is neither.
7
+ *
8
+ * @param options {object}
9
+ * @param options.ref {string}
10
+ * @returns {Promise<IZcap | undefined>}
11
+ */
12
+ export declare function readCapabilityInput({ ref }: {
13
+ ref: string;
14
+ }): Promise<IZcap | undefined>;
15
+ /**
16
+ * Resolves a `--capability` reference to a capability object. An encoded
17
+ * capability string or a capability JSON file is read by
18
+ * `readCapabilityInput`; anything else is looked up in the local zcap store by
19
+ * capability id or metadata handle.
7
20
  *
8
21
  * @param options {object}
9
22
  * @param options.ref {string}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/zcap/resolve.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAmB9D;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAAC,EAC3C,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,OAAO,CAAC,KAAK,CAAC,CAuBjB"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/zcap/resolve.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAmB9D;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAgB7B;AAED;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAAC,EAC3C,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,OAAO,CAAC,KAAK,CAAC,CAajB"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { access, readFile } from 'node:fs/promises';
8
8
  import { resolveZcapRef } from '../meta.js';
9
- import { decodeCapability } from './encoding.js';
9
+ import { decodeCapability, isEncodedCapability } from './encoding.js';
10
10
  /**
11
11
  * Returns true when the path exists on disk.
12
12
  *
@@ -23,17 +23,17 @@ async function fileExists(filePath) {
23
23
  }
24
24
  }
25
25
  /**
26
- * Resolves a `--capability` reference to a capability object. A value
27
- * beginning with `z` is decoded as a multibase capability string; a path to
28
- * an existing file is parsed as capability JSON; anything else is looked up
29
- * in the local zcap store by capability id or metadata handle.
26
+ * Reads a capability given directly rather than by stored reference: a value
27
+ * that `isEncodedCapability` recognizes is decoded as a multibase capability
28
+ * string, and a path to an existing file is parsed as capability JSON. Returns
29
+ * undefined when the value is neither.
30
30
  *
31
31
  * @param options {object}
32
32
  * @param options.ref {string}
33
- * @returns {Promise<IZcap>}
33
+ * @returns {Promise<IZcap | undefined>}
34
34
  */
35
- export async function resolveCapabilityInput({ ref }) {
36
- if (ref.startsWith('z')) {
35
+ export async function readCapabilityInput({ ref }) {
36
+ if (isEncodedCapability(ref)) {
37
37
  return decodeCapability(ref);
38
38
  }
39
39
  if (await fileExists(ref)) {
@@ -45,6 +45,23 @@ export async function resolveCapabilityInput({ ref }) {
45
45
  `${err instanceof Error ? err.message : String(err)}`, { cause: err });
46
46
  }
47
47
  }
48
+ return undefined;
49
+ }
50
+ /**
51
+ * Resolves a `--capability` reference to a capability object. An encoded
52
+ * capability string or a capability JSON file is read by
53
+ * `readCapabilityInput`; anything else is looked up in the local zcap store by
54
+ * capability id or metadata handle.
55
+ *
56
+ * @param options {object}
57
+ * @param options.ref {string}
58
+ * @returns {Promise<IZcap>}
59
+ */
60
+ export async function resolveCapabilityInput({ ref }) {
61
+ const direct = await readCapabilityInput({ ref });
62
+ if (direct) {
63
+ return direct;
64
+ }
48
65
  const stored = await resolveZcapRef({ ref });
49
66
  if (!stored) {
50
67
  throw new Error(`No capability found for "${ref}" (not an encoded string, a file, ` +
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/zcap/resolve.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD;;;;;GAKG;AACH,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAC3C,GAAG,EAGJ;IACC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IACD,IAAI,MAAM,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAU,CAAA;QACzD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,qCAAqC;gBACzC,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACvD,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;QACH,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,4BAA4B,GAAG,oCAAoC;YACjE,8BAA8B,CACjC,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAC,IAAa,CAAA;AAC7B,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/zcap/resolve.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAErE;;;;;GAKG;AACH,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EACxC,GAAG,EAGJ;IACC,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IACD,IAAI,MAAM,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAU,CAAA;QACzD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,qCAAqC;gBACzC,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACvD,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAC3C,GAAG,EAGJ;IACC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IACjD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAA;IACf,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,4BAA4B,GAAG,oCAAoC;YACjE,8BAA8B,CACjC,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAC,IAAa,CAAA;AAC7B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@interop/did-cli",
3
- "version": "0.14.0",
3
+ "version": "0.15.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",
@@ -42,11 +42,11 @@
42
42
  "@interop/security-document-loader": "^10.1.2",
43
43
  "@interop/vc": "^11.0.9",
44
44
  "@interop/verifier-core": "^3.5.8",
45
- "@interop/wallet-core": "^0.75.0",
45
+ "@interop/wallet-core": "^0.78.0",
46
46
  "@interop/wallet-request": "^0.3.1",
47
- "@interop/was-client": "^0.60.0",
47
+ "@interop/was-client": "^0.64.0",
48
48
  "@interop/x25519-key-agreement-key": "^5.4.0",
49
- "@interop/zcap": "^11.2.0",
49
+ "@interop/zcap": "^11.3.0",
50
50
  "@scure/base": "^2.2.0",
51
51
  "commander": "^15.0.0"
52
52
  },