@interop/wallet-core 0.27.1 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -54,9 +54,10 @@ The subpaths:
54
54
  negotiation, `composeVp` (signer and holder injected), the pure
55
55
  `processRequest` (consent runs in the caller; zcap / App Connect processing
56
56
  injected), the App Connect app-key credential module (query validation,
57
- matching, minting, store-time refusal, legacy re-issue), the VC-API exchange
58
- client, and VCALM `interaction:` URL handling. The VPR type vocabulary lives
59
- in
57
+ matching, minting, store-time refusal, legacy re-issue), the
58
+ `WalletOnboardingQuery` transport vocabulary (compose and classification), the
59
+ VC-API exchange client, and VCALM `interaction:` URL handling. The VPR type
60
+ vocabulary lives in
60
61
  [`@interop/data-integrity-core`](https://npm.im/@interop/data-integrity-core)
61
62
  and is re-exported here.
62
63
 
@@ -123,7 +124,8 @@ The subpaths:
123
124
  lifecycle.
124
125
 
125
126
  - **`@interop/wallet-core/enrollment`** -- the client enrollment ceremony
126
- (connect code, approval, completion).
127
+ (connect code, approval, completion) plus the onboarding-response envelope
128
+ that carries a connect code back over an exchange.
127
129
 
128
130
  - **`@interop/wallet-core/recovery`** -- recovery codes on the roster identity
129
131
  model: a code as a minimal always-enrolled wallet client (format and
@@ -13,6 +13,10 @@
13
13
  * `enrollmentRecipientKid` -- the connect-code channel layer.
14
14
  * - `approveEnrollment` -- the enrolling client's half, in the push order
15
15
  * (roster wrap, then the two did:webvh log entries).
16
+ * - `encodeOnboardingResponse` / `parseOnboardingResponse` -- the onboarding-
17
+ * response envelope, the transport that carries a connect code (verbatim)
18
+ * plus a suggested display label back over an exchange whose request asked
19
+ * with a `WalletOnboardingQuery` (`@interop/wallet-core/request`).
16
20
  * - `completeEnrollmentCore` -- the enrollee's half: verify from the published
17
21
  * log, read the roster, hand back the user key and the epoch to pin. Persisting
18
22
  * the key set stays with the caller's own unlock layer.
@@ -20,4 +24,6 @@
20
24
  export { approveEnrollment, completeEnrollmentCore, encodeEnrollmentRequest, EnrollmentPendingError, enrollmentClientDid, enrollmentRecipientKid, mintEnrollmentRequest, parseEnrollmentRequest } from './enrollment.js';
21
25
  export type { EnrollmentRequest } from './enrollment.js';
22
26
  export { CONNECT_CODE_PREFIX, isConnectCode } from './connectCode.js';
27
+ export { encodeOnboardingResponse, ONBOARDING_LABEL_MAX_LENGTH, ONBOARDING_RESPONSE_VERSION, parseOnboardingResponse } from './onboardingResponse.js';
28
+ export type { WalletOnboardingResponse } from './onboardingResponse.js';
23
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enrollment/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enrollment/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,yBAAyB,CAAA;AAChC,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA"}
@@ -13,10 +13,15 @@
13
13
  * `enrollmentRecipientKid` -- the connect-code channel layer.
14
14
  * - `approveEnrollment` -- the enrolling client's half, in the push order
15
15
  * (roster wrap, then the two did:webvh log entries).
16
+ * - `encodeOnboardingResponse` / `parseOnboardingResponse` -- the onboarding-
17
+ * response envelope, the transport that carries a connect code (verbatim)
18
+ * plus a suggested display label back over an exchange whose request asked
19
+ * with a `WalletOnboardingQuery` (`@interop/wallet-core/request`).
16
20
  * - `completeEnrollmentCore` -- the enrollee's half: verify from the published
17
21
  * log, read the roster, hand back the user key and the epoch to pin. Persisting
18
22
  * the key set stays with the caller's own unlock layer.
19
23
  */
20
24
  export { approveEnrollment, completeEnrollmentCore, encodeEnrollmentRequest, EnrollmentPendingError, enrollmentClientDid, enrollmentRecipientKid, mintEnrollmentRequest, parseEnrollmentRequest } from './enrollment.js';
21
25
  export { CONNECT_CODE_PREFIX, isConnectCode } from './connectCode.js';
26
+ export { encodeOnboardingResponse, ONBOARDING_LABEL_MAX_LENGTH, ONBOARDING_RESPONSE_VERSION, parseOnboardingResponse } from './onboardingResponse.js';
22
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enrollment/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enrollment/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,yBAAyB,CAAA"}
@@ -0,0 +1,60 @@
1
+ import type { EnrollmentRequest } from './enrollment.js';
2
+ /**
3
+ * The onboarding-response envelope version this build mints and accepts.
4
+ */
5
+ export declare const ONBOARDING_RESPONSE_VERSION = 1;
6
+ /**
7
+ * The longest suggested display label an onboarding response may carry, in
8
+ * code points, after control characters are stripped and whitespace trimmed.
9
+ */
10
+ export declare const ONBOARDING_LABEL_MAX_LENGTH = 64;
11
+ /**
12
+ * The onboarding-response envelope as it travels: the versioned wrapper, the
13
+ * connect code verbatim, and the enrollee's optional suggested display label.
14
+ */
15
+ export type WalletOnboardingResponse = {
16
+ walletOnboarding: {
17
+ v: number;
18
+ code: string;
19
+ label?: string;
20
+ };
21
+ };
22
+ /**
23
+ * ENROLLEE: builds the response envelope for a connect code it just minted.
24
+ * The code is validated with the ceremony's own parser (a code this side
25
+ * cannot parse is one the inviter would refuse), and the label is sanitized by
26
+ * the same rule the parse side applies, so an envelope this call produces is
27
+ * always one {@link parseOnboardingResponse} accepts.
28
+ *
29
+ * @param options {object}
30
+ * @param options.code {string} the `freewallet-connect:` connect code
31
+ * @param [options.label] {string} a display label to suggest for this client
32
+ * @returns {WalletOnboardingResponse}
33
+ */
34
+ export declare function encodeOnboardingResponse({ code, label }: {
35
+ code: string;
36
+ label?: string;
37
+ }): WalletOnboardingResponse;
38
+ /**
39
+ * INVITER: validates a received onboarding-response body and hands back what
40
+ * the approval screen needs -- the parsed enrollment request (so the
41
+ * fingerprint renders without a second parse), the code verbatim (so
42
+ * `approveEnrollment` receives exactly what the enrollee minted), and the
43
+ * sanitized label, if any. Anything malformed throws: a body that is not an
44
+ * object, a missing or mis-shaped envelope, an unsupported version, a
45
+ * non-string or unparseable code, or a label that is not a string or exceeds
46
+ * the cap. The remedy for every one of them is the same -- generate a new code
47
+ * and try again.
48
+ *
49
+ * @param options {object}
50
+ * @param options.body {unknown} the received JSON body
51
+ * @returns {object} the parsed request, the code verbatim, and the label
52
+ */
53
+ export declare function parseOnboardingResponse({ body }: {
54
+ body: unknown;
55
+ }): {
56
+ request: EnrollmentRequest;
57
+ code: string;
58
+ label?: string;
59
+ };
60
+ //# sourceMappingURL=onboardingResponse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboardingResponse.d.ts","sourceRoot":"","sources":["../../src/enrollment/onboardingResponse.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD;;GAEG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAA;AAE5C;;;GAGG;AACH,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAY7C;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,gBAAgB,EAAE;QAChB,CAAC,EAAE,MAAM,CAAA;QACT,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;CACF,CAAA;AAoCD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,IAAI,EACJ,KAAK,EACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,wBAAwB,CAU3B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IACpE,OAAO,EAAE,iBAAiB,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAsBA"}
@@ -0,0 +1,132 @@
1
+ /*!
2
+ * Copyright (c) 2026 Interop Alliance. All rights reserved.
3
+ */
4
+ /**
5
+ * The onboarding-response envelope: what a fresh wallet (the enrollee) POSTs
6
+ * back to an ephemeral exchange whose request carried a
7
+ * `WalletOnboardingQuery` (`@interop/wallet-core/request`). It is transport
8
+ * vocabulary only -- the enrollment ceremony is untouched.
9
+ *
10
+ * The envelope carries an ordinary connect code VERBATIM as its payload, so
11
+ * the ceremony's strict validation applies unchanged and the inviter hands the
12
+ * string it receives straight to `approveEnrollment`; the connect-code payload
13
+ * version is deliberately NOT bumped by this transport. Beside it rides an
14
+ * optional display label the enrollee suggests for itself. The label lives in
15
+ * the envelope rather than in the code because its durable home is the
16
+ * account's client-labels record, which the approving client writes -- the
17
+ * code stays the ceremony's own artifact.
18
+ *
19
+ * The label is attacker-adjacent free text that renders on the approver's
20
+ * consent screen, so it is stripped of control characters, trimmed, and
21
+ * length-capped, and an over-cap label is REFUSED rather than silently
22
+ * truncated: a truncated label would be a silently different name for a client
23
+ * the person is about to authorize, where a refusal costs only a fresh code.
24
+ */
25
+ import { parseEnrollmentRequest } from './enrollment.js';
26
+ /**
27
+ * The onboarding-response envelope version this build mints and accepts.
28
+ */
29
+ export const ONBOARDING_RESPONSE_VERSION = 1;
30
+ /**
31
+ * The longest suggested display label an onboarding response may carry, in
32
+ * code points, after control characters are stripped and whitespace trimmed.
33
+ */
34
+ export const ONBOARDING_LABEL_MAX_LENGTH = 64;
35
+ /**
36
+ * Characters stripped from a suggested label before it is measured: the C0 and
37
+ * C1 control ranges (including DEL) plus the bidirectional formatting and
38
+ * isolate controls, none of which a display name needs and all of which can
39
+ * reorder or hide what a consent screen shows.
40
+ */
41
+ const LABEL_STRIPPED_CHARACTERS =
42
+ // eslint-disable-next-line no-control-regex
43
+ /[\u0000-\u001f\u007f-\u009f\u200e\u200f\u202a-\u202e\u2066-\u2069]/gu;
44
+ /**
45
+ * Sanitizes a suggested display label: strips the control and bidi characters
46
+ * above, trims surrounding whitespace, and refuses anything still longer than
47
+ * {@link ONBOARDING_LABEL_MAX_LENGTH}. A label that sanitizes to nothing at
48
+ * all is absent rather than empty, so no consent screen renders a blank name.
49
+ *
50
+ * @param options {object}
51
+ * @param options.label {unknown} the envelope's `label` member, if any
52
+ * @returns {string | undefined}
53
+ */
54
+ function sanitizedOnboardingLabel({ label }) {
55
+ if (label === undefined || label === null) {
56
+ return undefined;
57
+ }
58
+ if (typeof label !== 'string') {
59
+ throw new Error('An onboarding response label must be a string.');
60
+ }
61
+ const sanitized = label.replace(LABEL_STRIPPED_CHARACTERS, '').trim();
62
+ if (sanitized.length === 0) {
63
+ return undefined;
64
+ }
65
+ if ([...sanitized].length > ONBOARDING_LABEL_MAX_LENGTH) {
66
+ throw new Error(`An onboarding response label may be at most ` +
67
+ `${ONBOARDING_LABEL_MAX_LENGTH} characters.`);
68
+ }
69
+ return sanitized;
70
+ }
71
+ /**
72
+ * ENROLLEE: builds the response envelope for a connect code it just minted.
73
+ * The code is validated with the ceremony's own parser (a code this side
74
+ * cannot parse is one the inviter would refuse), and the label is sanitized by
75
+ * the same rule the parse side applies, so an envelope this call produces is
76
+ * always one {@link parseOnboardingResponse} accepts.
77
+ *
78
+ * @param options {object}
79
+ * @param options.code {string} the `freewallet-connect:` connect code
80
+ * @param [options.label] {string} a display label to suggest for this client
81
+ * @returns {WalletOnboardingResponse}
82
+ */
83
+ export function encodeOnboardingResponse({ code, label }) {
84
+ parseEnrollmentRequest({ code });
85
+ const suggested = sanitizedOnboardingLabel({ label });
86
+ return {
87
+ walletOnboarding: {
88
+ v: ONBOARDING_RESPONSE_VERSION,
89
+ code,
90
+ ...(suggested !== undefined && { label: suggested })
91
+ }
92
+ };
93
+ }
94
+ /**
95
+ * INVITER: validates a received onboarding-response body and hands back what
96
+ * the approval screen needs -- the parsed enrollment request (so the
97
+ * fingerprint renders without a second parse), the code verbatim (so
98
+ * `approveEnrollment` receives exactly what the enrollee minted), and the
99
+ * sanitized label, if any. Anything malformed throws: a body that is not an
100
+ * object, a missing or mis-shaped envelope, an unsupported version, a
101
+ * non-string or unparseable code, or a label that is not a string or exceeds
102
+ * the cap. The remedy for every one of them is the same -- generate a new code
103
+ * and try again.
104
+ *
105
+ * @param options {object}
106
+ * @param options.body {unknown} the received JSON body
107
+ * @returns {object} the parsed request, the code verbatim, and the label
108
+ */
109
+ export function parseOnboardingResponse({ body }) {
110
+ if (body === null || typeof body !== 'object') {
111
+ throw new Error('The onboarding response is malformed.');
112
+ }
113
+ const { walletOnboarding } = body;
114
+ if (walletOnboarding === null || typeof walletOnboarding !== 'object') {
115
+ throw new Error('The onboarding response carries no walletOnboarding.');
116
+ }
117
+ const { v, code, label } = walletOnboarding;
118
+ if (v !== ONBOARDING_RESPONSE_VERSION) {
119
+ throw new Error(`Unsupported onboarding response version "${String(v)}".`);
120
+ }
121
+ if (typeof code !== 'string') {
122
+ throw new Error('The onboarding response carries no connect code.');
123
+ }
124
+ const request = parseEnrollmentRequest({ code });
125
+ const suggested = sanitizedOnboardingLabel({ label });
126
+ return {
127
+ request,
128
+ code,
129
+ ...(suggested !== undefined && { label: suggested })
130
+ };
131
+ }
132
+ //# sourceMappingURL=onboardingResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboardingResponse.js","sourceRoot":"","sources":["../../src/enrollment/onboardingResponse.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAGxD;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAA;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,yBAAyB;AAC7B,4CAA4C;AAC5C,sEAAsE,CAAA;AAcxE;;;;;;;;;GASG;AACH,SAAS,wBAAwB,CAAC,EAChC,KAAK,EAGN;IACC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACnE,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACrE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,GAAG,2BAA2B,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,8CAA8C;YAC5C,GAAG,2BAA2B,cAAc,CAC/C,CAAA;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CAAC,EACvC,IAAI,EACJ,KAAK,EAIN;IACC,sBAAsB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAChC,MAAM,SAAS,GAAG,wBAAwB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IACrD,OAAO;QACL,gBAAgB,EAAE;YAChB,CAAC,EAAE,2BAA2B;YAC9B,IAAI;YACJ,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;SACrD;KACF,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CAAC,EAAE,IAAI,EAAqB;IAKjE,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;IAC1D,CAAC;IACD,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAA+B,CAAA;IAC5D,IAAI,gBAAgB,KAAK,IAAI,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IACzE,CAAC;IACD,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,gBAA2C,CAAA;IACtE,IAAI,CAAC,KAAK,2BAA2B,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,4CAA4C,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC5E,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACrE,CAAC;IACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAChD,MAAM,SAAS,GAAG,wBAAwB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IACrD,OAAO;QACL,OAAO;QACP,IAAI;QACJ,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;KACrD,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../src/request/classify.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EACV,eAAe,EAGf,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAEhB,eAAe,EACf,QAAQ,EACR,UAAU,EACV,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,uBAAuB,EAEvB,oBAAoB,EACrB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAO/C;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,qBAAqB,EAAE,GACnC,MAAM,CAOR;AA0DD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,uBAAuB,GACpC,qBAAqB,EAAE,CAQzB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,CAYtE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,QAAQ,CAKxE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACR,EAAE;IACD,OAAO,EAAE,SAAS,EAAE,CAAA;CACrB,GAAG,OAAO,CAQV;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,EAAE,CAS3D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,GACrB,gBAAgB,EAAE,CAMpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,sBAAsB,EAAE,CAoB5E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,MAAM,EACP,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,MAAM,CA4BT;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,MAAM,EACP,EAAE;IACD,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,kBAAkB,GAAG,IAAI,CAmD5B;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,oBAAoB,CAS1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAMpE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAQpE"}
1
+ {"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../src/request/classify.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EACV,eAAe,EAGf,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAEhB,eAAe,EACf,QAAQ,EACR,UAAU,EACV,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,uBAAuB,EAEvB,oBAAoB,EACrB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAO/C;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,qBAAqB,EAAE,GACnC,MAAM,CAOR;AA0DD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,uBAAuB,GACpC,qBAAqB,EAAE,CAQzB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,CAYtE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,QAAQ,CAKxE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACR,EAAE;IACD,OAAO,EAAE,SAAS,EAAE,CAAA;CACrB,GAAG,OAAO,CAQV;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,EAAE,CAS3D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,GACrB,gBAAgB,EAAE,CAMpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,sBAAsB,EAAE,CAoB5E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,MAAM,EACP,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,MAAM,CA4BT;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,MAAM,EACP,EAAE;IACD,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,kBAAkB,GAAG,IAAI,CAoD5B;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,oBAAoB,CAS1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAMpE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAQpE"}
@@ -258,10 +258,11 @@ export function appConnectRequestOf({ queries, origin }) {
258
258
  }
259
259
  const mixed = queries.some(query => query.type === 'QueryByExample' ||
260
260
  query.type === 'AuthorizationCapabilityQuery' ||
261
- query.type === 'ZcapQuery');
261
+ query.type === 'ZcapQuery' ||
262
+ query.type === 'WalletOnboardingQuery');
262
263
  if (mixed) {
263
- throw new Error('An AppConnectQuery cannot be combined with QueryByExample or ' +
264
- 'standalone capability queries.');
264
+ throw new Error('An AppConnectQuery cannot be combined with QueryByExample, ' +
265
+ 'standalone capability queries, or a WalletOnboardingQuery.');
265
266
  }
266
267
  const { app, capabilityQuery } = appConnectQueries[0];
267
268
  if (!app || typeof app.name !== 'string' || typeof app.appUrl !== 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/request/classify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/request/classify.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,MAAM,gBAAgB,GAAG,wCAAwC,CAAA;AACjE,MAAM,gBAAgB,GAAG,sCAAsC,CAAA;AAE/D;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAoC;IAEpC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QACzC,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC,UAAU,CAAC,CAAA;QACzC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QACpE,OAAO,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IACF,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;AACzB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAC3B,UAAiC;IAEjC,MAAM,IAAI,GAAG,sBAAsB,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,GAAG,CAAA;IACzD,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACxD,IAAI,EAAE,CAAC,wBAAwB,CAAC;QAChC,oBAAoB,EAAE,CAAC,UAAU,CAAC;KACR,CAAA;AAC9B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAAC,EAC3B,QAAQ,EACR,IAAI,EAC0B;IAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACtC,MAAM,cAAc,GAClB,CAAC,CAAC,OAAO;QACT,CAAC,QAAQ,KAAK,wBAAwB;YACpC,KAAK,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACxC,sBAAsB,IAAI,OAAO,CAAC,CAAA;IACtC,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,IAA+B,CAAA;IACxC,CAAC;IACD,IACE,OAAO;QACP,CAAC,QAAQ,KAAK,sBAAsB;YAClC,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,EACzC,CAAC;QACD,OAAO,oBAAoB,CAAC,IAA6B,CAAC,CAAA;IAC5D,CAAC;IACD,MAAM,IAAI,KAAK,CACb,gEACE,QAAQ,IAAI,WACd,WAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CACrC,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,YAAqC;IAErC,MAAM,EAAE,oBAAoB,EAAE,GAAG,YAAY,CAAA;IAC7C,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC;QACxC,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAA;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAoB;IACxD,MAAM,6BAA6B,GACjC,KAAK,CAAC,wBAAwB,EAAE,GAAG,EAAE,sBAAsB,CAAA;IAC7D,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAA;IACH,CAAC;IACD,OAAO;QACL,6BAA6B;QAC7B,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;KACvD,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAsB;IAC5D,OAAO;QACL,sBAAsB,EAAE,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC;QAC7D,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;KACvD,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,EACjC,OAAO,EAGR;IACC,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CACpC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAC5C,CAAA;IACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;IAC5E,CAAC;IACD,OAAO,eAAe,CAAC,MAAM,KAAK,CAAC,CAAA;AACrC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,OAAoB;IAC5C,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;IACzB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACtD,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,KAAK,EAAsB,EAAE,CAC5B,CAAC,CAAC,KAAK;QACP,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ,CACzD,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAsB;IAEtB,MAAM,EAAE,eAAe,EAAE,GAAG,KAAK,CAAA;IACjC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;AAC7E,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,OAAoB;IAChD,OAAO,OAAO;SACX,MAAM,CACL,CAAC,KAAK,EAAuB,EAAE,CAC7B,KAAK,CAAC,IAAI,KAAK,8BAA8B;QAC7C,KAAK,CAAC,IAAI,KAAK,WAAW,CAC7B;SACA,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE;QACrC,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;YAClD,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;QACrB,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CACb,MAAM,IAAI,gDAAgD,CAC3D,CAAA;YACH,CAAC;QACH,CAAC;QACD,OAAO,aAAa,CAAA;IACtB,CAAC,CAAC,CAAA;AACN,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,MAAM,EACN,MAAM,EAIP;IACC,IAAI,GAAQ,CAAA;IACZ,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAA;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,6DAA6D,MAAM,KAAK,EACxE,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;IACH,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,+DAA+D,MAAM,KAAK,CAC3E,CAAA;IACH,CAAC;IACD,IAAI,cAAsB,CAAA;IAC1B,IAAI,CAAC;QACH,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,cAAc,GAAG,MAAM,CAAA;IACzB,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,sEAAsE;YACpE,WAAW,MAAM,WAAW,MAAM,KAAK,CAC1C,CAAA;IACH,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAA;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EACP,MAAM,EAIP;IACC,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CACtC,KAAK,CAAC,EAAE,CAAE,KAAK,CAAC,IAAe,KAAK,iBAAiB,CACrB,CAAA;IAClC,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;IAClE,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CACxB,KAAK,CAAC,EAAE,CACN,KAAK,CAAC,IAAI,KAAK,gBAAgB;QAC/B,KAAK,CAAC,IAAI,KAAK,8BAA8B;QAC7C,KAAK,CAAC,IAAI,KAAK,WAAW;QACzB,KAAK,CAAC,IAAe,KAAK,uBAAuB,CACrD,CAAA;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,6DAA6D;YAC3D,4DAA4D,CAC/D,CAAA;IACH,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAE,CAAA;IACtD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IACzE,CAAC;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC/D,MAAM,UAAU,GACd,eAAe,KAAK,SAAS;QAC3B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;YAC9B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;IACzB,MAAM,iBAAiB,GAAiC,UAAU,CAAC,GAAG,CACpE,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAA;QACH,CAAC;QACD,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAA;QAC/D,OAAO;YACL,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;YACjD,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,CAAC;YACrD,gBAAgB;SACjB,CAAA;IACH,CAAC,CACF,CAAA;IACD,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,CAAA;AAC/D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,OAAoB;IAClD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;IAClC,OAAO;QACL,OAAO,EAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC;QACxC,SAAS,EAAE,OAAO,CAAC,MAAM,CACvB,CAAC,KAAK,EAA4B,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,CACrE;QACD,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC;KACrC,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,OAA6B;IACzD,OAAO,CACL,OAAO,CAAC,OAAO;QACf,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAC9B,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAClC,CAAA;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAoB;IACzD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB,CACnC,CAAA;IACrC,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe,CAAA;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpE,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,CAAA;AACzE,CAAC"}
@@ -13,6 +13,10 @@
13
13
  * typed message and dispatch on what it asks for.
14
14
  * - `matching` filters stored credentials against a QueryByExample (both the
15
15
  * jsonpath deep matcher and the type/issuer matcher).
16
+ * - `onboarding` is the `WalletOnboardingQuery` transport vocabulary: the
17
+ * inviter's compose helper and the enrollee's classification (the response
18
+ * envelope itself lives in `@interop/wallet-core/enrollment`, beside the
19
+ * connect code it carries).
16
20
  * - `appKey` is the App Connect app-key credential module: the wire constants,
17
21
  * the matching / minting / legacy re-issue paths, and the store-time
18
22
  * refusal policy.
@@ -32,6 +36,7 @@
32
36
  export * from './types.js';
33
37
  export * from './parse.js';
34
38
  export * from './classify.js';
39
+ export * from './onboarding.js';
35
40
  export * from './matching.js';
36
41
  export * from './appKey.js';
37
42
  export * from './presentationSuite.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/request/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/request/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
@@ -13,6 +13,10 @@
13
13
  * typed message and dispatch on what it asks for.
14
14
  * - `matching` filters stored credentials against a QueryByExample (both the
15
15
  * jsonpath deep matcher and the type/issuer matcher).
16
+ * - `onboarding` is the `WalletOnboardingQuery` transport vocabulary: the
17
+ * inviter's compose helper and the enrollee's classification (the response
18
+ * envelope itself lives in `@interop/wallet-core/enrollment`, beside the
19
+ * connect code it carries).
16
20
  * - `appKey` is the App Connect app-key credential module: the wire constants,
17
21
  * the matching / minting / legacy re-issue paths, and the store-time
18
22
  * refusal policy.
@@ -32,6 +36,7 @@
32
36
  export * from './types.js';
33
37
  export * from './parse.js';
34
38
  export * from './classify.js';
39
+ export * from './onboarding.js';
35
40
  export * from './matching.js';
36
41
  export * from './appKey.js';
37
42
  export * from './presentationSuite.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/request/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/request/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,79 @@
1
+ /*!
2
+ * Copyright (c) 2026 Interop Alliance. All rights reserved.
3
+ */
4
+ /**
5
+ * The `WalletOnboardingQuery` transport vocabulary: the VPR half of "connect a
6
+ * new wallet client over an exchange". An already-enrolled client (the
7
+ * inviter) composes a request body carrying the query and stores it on an
8
+ * ephemeral exchange; a fresh wallet (the enrollee) scans the exchange's
9
+ * interaction URL, classifies the query here, and answers with the onboarding
10
+ * response envelope (`@interop/wallet-core/enrollment`).
11
+ *
12
+ * Vocabulary only -- the enrollment ceremony itself is untouched, and nothing
13
+ * but public key multibases and a display label ever crosses the channel. The
14
+ * query carries exactly one member, `host`: the WAS server base URL, so the
15
+ * enrollee's server field is prefilled instead of typed. It names no account
16
+ * and authorizes nothing.
17
+ *
18
+ * A wallet that predates the query type finds nothing it can satisfy in such a
19
+ * request (`classifyRequest` reports no DID Auth, no credential queries, and
20
+ * no capability requests) and refuses, rather than degrading into a partial
21
+ * generic flow.
22
+ */
23
+ import type { IVPRDetails, IVPRQuery, IWalletOnboardingRequest } from './types.js';
24
+ /**
25
+ * Validates a wallet-onboarding `host` and returns its serialized form. The
26
+ * value must parse as an absolute URL and must be `http:` or `https:` (it is
27
+ * dereferenced as a WAS server base URL) and must not carry a fragment; any
28
+ * violation throws. Compose and classification share this one rule, so the
29
+ * spelling the inviter publishes is the spelling the enrollee resolves, and
30
+ * URLs differing only in a default port, percent-encoding case, or dot
31
+ * segments do not name distinct servers.
32
+ *
33
+ * There is no attested origin to compare against here -- an exchange has no
34
+ * CHAPI requesting origin -- so unlike an App Connect `appUrl` the check is
35
+ * shape only. The channel's trust comes from the point-to-point fingerprint
36
+ * comparison of the enrollment ceremony, not from this value.
37
+ *
38
+ * The fragment check reads the serialized URL rather than `url.hash`: a bare
39
+ * trailing `#` sets an empty (non-null) fragment that `hash` reports as `''`.
40
+ *
41
+ * @param options {object}
42
+ * @param options.host {string} - The query's `host`.
43
+ * @returns {string} The parsed URL's serialization.
44
+ */
45
+ export declare function serializedOnboardingHost({ host }: {
46
+ host: string;
47
+ }): string;
48
+ /**
49
+ * INVITER: the VPR details body to store on the ephemeral exchange -- one
50
+ * `WalletOnboardingQuery` and nothing else, since the query is one mental
51
+ * model per exchange. The `host` is validated and stored in its serialized
52
+ * form ({@link serializedOnboardingHost}).
53
+ *
54
+ * @param options {object}
55
+ * @param options.host {string} - The account's WAS server base URL.
56
+ * @returns {IVPRDetails}
57
+ */
58
+ export declare function composeWalletOnboardingRequest({ host }: {
59
+ host: string;
60
+ }): IVPRDetails;
61
+ /**
62
+ * ENROLLEE: extracts the wallet-onboarding request from a query set, when one
63
+ * is present. Like an `AppConnectQuery`, a `WalletOnboardingQuery` is one
64
+ * mental model per exchange: at most one may appear, and it must not be
65
+ * combined with `QueryByExample`, standalone capability queries, or an
66
+ * `AppConnectQuery` (a screen that asks the person to connect a wallet must
67
+ * not simultaneously ask them to share credentials or grant capabilities).
68
+ * Its `host` must satisfy the URL rules and is rewritten to its serialized
69
+ * form. Violations throw; classification-time callers surface the throw as a
70
+ * malformed-request state.
71
+ *
72
+ * @param options {object}
73
+ * @param options.queries {IVPRQuery[]}
74
+ * @returns {IWalletOnboardingRequest | null}
75
+ */
76
+ export declare function walletOnboardingRequestOf({ queries }: {
77
+ queries: IVPRQuery[];
78
+ }): IWalletOnboardingRequest | null;
79
+ //# sourceMappingURL=onboarding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/request/onboarding.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EAET,wBAAwB,EACzB,MAAM,YAAY,CAAA;AAEnB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAsB3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,EAC7C,IAAI,EACL,EAAE;IACD,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,WAAW,CAMd;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,OAAO,EACR,EAAE;IACD,OAAO,EAAE,SAAS,EAAE,CAAA;CACrB,GAAG,wBAAwB,GAAG,IAAI,CA8BlC"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Validates a wallet-onboarding `host` and returns its serialized form. The
3
+ * value must parse as an absolute URL and must be `http:` or `https:` (it is
4
+ * dereferenced as a WAS server base URL) and must not carry a fragment; any
5
+ * violation throws. Compose and classification share this one rule, so the
6
+ * spelling the inviter publishes is the spelling the enrollee resolves, and
7
+ * URLs differing only in a default port, percent-encoding case, or dot
8
+ * segments do not name distinct servers.
9
+ *
10
+ * There is no attested origin to compare against here -- an exchange has no
11
+ * CHAPI requesting origin -- so unlike an App Connect `appUrl` the check is
12
+ * shape only. The channel's trust comes from the point-to-point fingerprint
13
+ * comparison of the enrollment ceremony, not from this value.
14
+ *
15
+ * The fragment check reads the serialized URL rather than `url.hash`: a bare
16
+ * trailing `#` sets an empty (non-null) fragment that `hash` reports as `''`.
17
+ *
18
+ * @param options {object}
19
+ * @param options.host {string} - The query's `host`.
20
+ * @returns {string} The parsed URL's serialization.
21
+ */
22
+ export function serializedOnboardingHost({ host }) {
23
+ let url;
24
+ try {
25
+ url = new URL(host);
26
+ }
27
+ catch (err) {
28
+ throw new Error(`A WalletOnboardingQuery "host" must be an absolute URL (got "${host}").`, { cause: err });
29
+ }
30
+ if (url.protocol !== 'https:' && url.protocol !== 'http:') {
31
+ throw new Error(`A WalletOnboardingQuery "host" must be an http(s) URL (got "${host}").`);
32
+ }
33
+ if (url.href.includes('#')) {
34
+ throw new Error(`A WalletOnboardingQuery "host" must not carry a fragment (got ` +
35
+ `"${host}").`);
36
+ }
37
+ return url.href;
38
+ }
39
+ /**
40
+ * INVITER: the VPR details body to store on the ephemeral exchange -- one
41
+ * `WalletOnboardingQuery` and nothing else, since the query is one mental
42
+ * model per exchange. The `host` is validated and stored in its serialized
43
+ * form ({@link serializedOnboardingHost}).
44
+ *
45
+ * @param options {object}
46
+ * @param options.host {string} - The account's WAS server base URL.
47
+ * @returns {IVPRDetails}
48
+ */
49
+ export function composeWalletOnboardingRequest({ host }) {
50
+ const query = {
51
+ type: 'WalletOnboardingQuery',
52
+ host: serializedOnboardingHost({ host })
53
+ };
54
+ return { query: [query] };
55
+ }
56
+ /**
57
+ * ENROLLEE: extracts the wallet-onboarding request from a query set, when one
58
+ * is present. Like an `AppConnectQuery`, a `WalletOnboardingQuery` is one
59
+ * mental model per exchange: at most one may appear, and it must not be
60
+ * combined with `QueryByExample`, standalone capability queries, or an
61
+ * `AppConnectQuery` (a screen that asks the person to connect a wallet must
62
+ * not simultaneously ask them to share credentials or grant capabilities).
63
+ * Its `host` must satisfy the URL rules and is rewritten to its serialized
64
+ * form. Violations throw; classification-time callers surface the throw as a
65
+ * malformed-request state.
66
+ *
67
+ * @param options {object}
68
+ * @param options.queries {IVPRQuery[]}
69
+ * @returns {IWalletOnboardingRequest | null}
70
+ */
71
+ export function walletOnboardingRequestOf({ queries }) {
72
+ // `WalletOnboardingQuery` extends the spec query union, so it is matched by
73
+ // its `type` string and upcast rather than narrowed via a type predicate.
74
+ const onboardingQueries = queries.filter(query => query.type === 'WalletOnboardingQuery');
75
+ if (onboardingQueries.length === 0) {
76
+ return null;
77
+ }
78
+ if (onboardingQueries.length > 1) {
79
+ throw new Error('More than one WalletOnboardingQuery found, exiting.');
80
+ }
81
+ const mixed = queries.some(query => query.type === 'QueryByExample' ||
82
+ query.type === 'AuthorizationCapabilityQuery' ||
83
+ query.type === 'ZcapQuery' ||
84
+ query.type === 'AppConnectQuery');
85
+ if (mixed) {
86
+ throw new Error('A WalletOnboardingQuery cannot be combined with QueryByExample, ' +
87
+ 'standalone capability queries, or an AppConnectQuery.');
88
+ }
89
+ const { host } = onboardingQueries[0];
90
+ if (typeof host !== 'string') {
91
+ throw new Error('A WalletOnboardingQuery is missing its host.');
92
+ }
93
+ return { host: serializedOnboardingHost({ host }) };
94
+ }
95
+ //# sourceMappingURL=onboarding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/request/onboarding.ts"],"names":[],"mappings":"AA6BA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,wBAAwB,CAAC,EAAE,IAAI,EAAoB;IACjE,IAAI,GAAQ,CAAA;IACZ,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,gEAAgE,IAAI,KAAK,EACzE,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;IACH,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CACb,+DAA+D,IAAI,KAAK,CACzE,CAAA;IACH,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,gEAAgE;YAC9D,IAAI,IAAI,KAAK,CAChB,CAAA;IACH,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAA;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,8BAA8B,CAAC,EAC7C,IAAI,EAGL;IACC,MAAM,KAAK,GAA2B;QACpC,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,wBAAwB,CAAC,EAAE,IAAI,EAAE,CAAC;KACzC,CAAA;IACD,OAAO,EAAE,KAAK,EAAE,CAAC,KAA6B,CAAC,EAAE,CAAA;AACnD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,yBAAyB,CAAC,EACxC,OAAO,EAGR;IACC,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CACtC,KAAK,CAAC,EAAE,CAAE,KAAK,CAAC,IAAe,KAAK,uBAAuB,CACrB,CAAA;IACxC,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IACxE,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CACxB,KAAK,CAAC,EAAE,CACN,KAAK,CAAC,IAAI,KAAK,gBAAgB;QAC/B,KAAK,CAAC,IAAI,KAAK,8BAA8B;QAC7C,KAAK,CAAC,IAAI,KAAK,WAAW;QACzB,KAAK,CAAC,IAAe,KAAK,iBAAiB,CAC/C,CAAA;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,kEAAkE;YAChE,uDAAuD,CAC1D,CAAA;IACH,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAE,CAAA;IACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACjE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,wBAAwB,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAA;AACrD,CAAC"}
@@ -145,6 +145,27 @@ export type IAppConnectRequest = {
145
145
  app: IAppConnectApp;
146
146
  capabilityQueries: IAppConnectCapabilityQuery[];
147
147
  };
148
+ /**
149
+ * "Connect a new wallet client to this account" -- the query an already-
150
+ * enrolled wallet client (the inviter) puts in the VPR of an ephemeral
151
+ * exchange for a fresh wallet (the enrollee) to answer. `host` is the WAS
152
+ * server base URL the account lives on, carried so the enrollee's server field
153
+ * is prefilled rather than typed; it names no account and authorizes nothing.
154
+ * The enrollee answers off-band of the VPR vocabulary, with the onboarding
155
+ * response envelope (`@interop/wallet-core/enrollment`), whose payload is an
156
+ * ordinary connect code.
157
+ */
158
+ export type IWalletOnboardingQuery = {
159
+ type: 'WalletOnboardingQuery';
160
+ host: string;
161
+ };
162
+ /**
163
+ * A wallet-onboarding request as classified and validated by
164
+ * `walletOnboardingRequestOf`: the `host` already in serialized URL form.
165
+ */
166
+ export type IWalletOnboardingRequest = {
167
+ host: string;
168
+ };
148
169
  /**
149
170
  * The authentication signer plus the DID to name as the VP `holder`. Each app
150
171
  * resolves this from its own key material (DCW from the selected profile's
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/request/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/request/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@interop/wallet-core",
3
3
  "description": "Shared wallet-domain logic (WAS sync engine core and wallet Space layout contracts) for Interop wallet apps.",
4
- "version": "0.27.1",
4
+ "version": "0.28.0",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "build": "pnpm run clear && tsc",