@verana-labs/vs-agent-plugin-openid4vc 2.0.0-dev.72 → 2.0.0-dev.74

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
@@ -17,18 +17,36 @@ What it does:
17
17
  Out of scope, and not implied: W3C VCDM credentials, ISO mdoc, authorization-code issuance,
18
18
  wallet-attestation trust-list distribution, production PKI onboarding, formal conformance.
19
19
 
20
+ ## Credential types
21
+
22
+ The configuration file carries no credential type. The agent reads them from the VPR instead: one
23
+ per `CredentialSchema` for which it holds an active ISSUER `Participant`, identified by the
24
+ `jsonSchemaCredentialId` of that schema. Claims come from the `credentialSubject` properties of
25
+ the JSON schema, every one of them selectively disclosable, and the display name from its `title`,
26
+ or from the on-chain reference `vpr:verana:{chainId}:cs:{credentialSchemaId}` when it carries none.
27
+ The `vct` is the Type Metadata URL of the type, `{ecosystem base}/vt/vct/{credentialSchemaId}`.
28
+ A schema the agent cannot resolve is skipped with a warning and the rest of the set still stands.
29
+ A `credentialSubject` property named after an SD-JWT VC envelope claim (`vct`, `vct#integrity`,
30
+ `iat`, `exp`, `nbf`, `iss`, `cnf`, `status`) is no claim of the type: the issuer stamps those itself,
31
+ and an offer that carries one is rejected with `400 INVALID_INPUT`. Neither is `id`: SD-JWT VC binds
32
+ the holder through `cnf`, so an `id` the caller supplies would assert a subject the issuer never
33
+ checked.
34
+
35
+ The set follows the VPR without a restart: a `Participant` or `CredentialSchema` notification
36
+ rebuilds it and re-renders the served issuer metadata. `createCredentialOffer` validates the
37
+ claims against the JSON schema (`400 INVALID_INPUT` with the violations), checks the active
38
+ ISSUER `Participant` through the indexer (`409 NOT_AUTHORIZED`, or `503 RESOLVER_UNAVAILABLE`
39
+ when the indexer cannot answer), and reads the Type Metadata document over `https`, without
40
+ following a redirect, to bind every credential to its `vct#integrity`. It answers
41
+ `503 RESOLVER_UNAVAILABLE` when that document cannot be read.
42
+
20
43
  ## Not wired up yet
21
44
 
22
- The configuration file the spec defines carries no credential type and no trust setting, and the
23
- agent derives none of them yet. So `createCredentialOffer` and `createPresentationRequest` answer
24
- `404 UNKNOWN_ID` for every `jsonSchemaCredentialId`, `createCredentialOffer` answers it for every
25
- `statusListId`, and reading a verified presentation answers the `RESOLVER_UNAVAILABLE` verdict.
26
- Four issues carry the rest:
45
+ The configuration file carries no trust setting and the agent hosts no status list. So
46
+ `createPresentationRequest` answers `404 UNKNOWN_ID` for every `jsonSchemaCredentialId`,
47
+ `createCredentialOffer` answers it for every `statusListId`, and reading a verified presentation
48
+ answers the `RESOLVER_UNAVAILABLE` verdict. Two issues carry the rest:
27
49
 
28
- - [#710](https://github.com/verana-labs/vs-agent/issues/710): SD-JWT VC Type Metadata, served at
29
- the spec path `/vt/vct/{credentialSchemaId}`;
30
- - [#711](https://github.com/verana-labs/vs-agent/issues/711): credential types read from the VPR,
31
- one per active issuer participant;
32
50
  - [#712](https://github.com/verana-labs/vs-agent/issues/712): the verifier trust decision on the
33
51
  eight steps the spec now defines, with no `trust` block anywhere;
34
52
  - [#713](https://github.com/verana-labs/vs-agent/issues/713): status lists.
@@ -101,11 +119,11 @@ answers in the v2 error envelope. Without `OID4VC_CONFIG_FILE_LOCATION`, every p
101
119
 
102
120
  | Method | Path | Notes |
103
121
  | --- | --- | --- |
104
- | `createCredentialOffer` | `POST /credential-offer` | `jsonSchemaCredentialId`, `claims`, `ttlSeconds` (60 to 7776000), optional `statusListId` and `statusListIndex` together. Returns `credentialExchangeId` and `url`. `404 UNKNOWN_ID`, `400 INVALID_INPUT`. Answers `UNKNOWN_ID` for every credential type until #711 and for every status list until #713. |
122
+ | `createCredentialOffer` | `POST /credential-offer` | `jsonSchemaCredentialId`, `claims`, `ttlSeconds` (60 to 7776000), optional `statusListId` and `statusListIndex` together. Returns `credentialExchangeId` and `url`. `404 UNKNOWN_ID`, `400 INVALID_INPUT`, `409 NOT_AUTHORIZED`, `503 RESOLVER_UNAVAILABLE`. Answers `UNKNOWN_ID` for every status list until #713. |
105
123
  | `listCredentialExchanges` | `GET /credential-exchanges` | Filters `jsonSchemaCredentialId`, `state`. Keyset pagination. |
106
124
  | `getCredentialExchange` | `GET /credential-exchanges/{credentialExchangeId}` | `credentialExchangeId`, `jsonSchemaCredentialId`, `state`, `createdAt`, `updatedAt`, `expiresAt`, `errorMessage`. Never the claims, the offer URL or the pre-authorized code. |
107
125
  | `deleteCredentialExchange` | `DELETE /credential-exchanges/{credentialExchangeId}` | `204`. Deletes the record only, never a credential that a wallet holds. |
108
- | `createPresentationRequest` | `POST /presentation-request` | `jsonSchemaCredentialId`, optional `requestedClaims` (defaults to every claim of the type), optional `queryLanguage` (`dcql`, `presentation_exchange`), optional `requestSigner` (`x5c`, `did`). Returns `proofExchangeId` and `url`. `404 UNKNOWN_ID`, `400 INVALID_INPUT`, `409 INVALID_STATE`. Answers `UNKNOWN_ID` for every credential type until #711. |
126
+ | `createPresentationRequest` | `POST /presentation-request` | `jsonSchemaCredentialId`, optional `requestedClaims` (defaults to every claim of the type), optional `queryLanguage` (`dcql`, `presentation_exchange`), optional `requestSigner` (`x5c`, `did`). Returns `proofExchangeId` and `url`. `404 UNKNOWN_ID`, `400 INVALID_INPUT`, `409 INVALID_STATE`. The credential type has to be one the agent derived from the VPR. |
109
127
  | `listPresentations` | `GET /presentations` | Filters `jsonSchemaCredentialId`, `state`. Keyset pagination. |
110
128
  | `getPresentation` | `GET /presentations/{proofExchangeId}` | Adds the stored `jsonSchemaCredentialId` and `requestedClaims` of the request, then `cryptographicVerified`, `accepted`, `trust` and `credential` once the wallet answered. |
111
129
  | `deletePresentation` | `DELETE /presentations/{proofExchangeId}` | `204`. |
package/build/config.d.ts CHANGED
@@ -1,8 +1,15 @@
1
1
  import type { OpenId4VcConfigurationFile, OpenId4VcCredentialConfiguration, OpenId4VcPluginOptions } from './types';
2
+ import type { SchemaViolation } from '@verana-labs/vs-agent-sdk';
2
3
  export declare const ISSUER_CAPABILITY_ID = "issuer";
3
4
  export declare const VERIFIER_CAPABILITY_ID = "verifier";
4
5
  export declare const OFFER_TTL_SECONDS_MIN = 60;
5
6
  export declare const OFFER_TTL_SECONDS_MAX = 7776000;
7
+ export declare function isReservedClaimName(name: string): boolean;
8
+ /** A claim set the credential type refuses, which the Administration API answers as INVALID_INPUT. */
9
+ export declare class OfferClaimsError extends Error {
10
+ readonly violations?: SchemaViolation[] | undefined;
11
+ constructor(message: string, violations?: SchemaViolation[] | undefined);
12
+ }
6
13
  /** [VSA-VTI-CFG-ENV-OID] Validation of the OpenID4VC configuration file. */
7
14
  export declare function parseOpenId4VcConfiguration(document: unknown): OpenId4VcConfigurationFile;
8
15
  export declare function findCredentialConfiguration(options: Pick<OpenId4VcPluginOptions, 'credentialConfigurations'>, id: string): OpenId4VcCredentialConfiguration | undefined;
package/build/config.js CHANGED
@@ -1,17 +1,42 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OFFER_TTL_SECONDS_MAX = exports.OFFER_TTL_SECONDS_MIN = exports.VERIFIER_CAPABILITY_ID = exports.ISSUER_CAPABILITY_ID = void 0;
3
+ exports.OfferClaimsError = exports.OFFER_TTL_SECONDS_MAX = exports.OFFER_TTL_SECONDS_MIN = exports.VERIFIER_CAPABILITY_ID = exports.ISSUER_CAPABILITY_ID = void 0;
4
+ exports.isReservedClaimName = isReservedClaimName;
4
5
  exports.parseOpenId4VcConfiguration = parseOpenId4VcConfiguration;
5
6
  exports.findCredentialConfiguration = findCredentialConfiguration;
6
7
  exports.parseOfferClaims = parseOfferClaims;
7
8
  exports.parseOfferTtlSeconds = parseOfferTtlSeconds;
8
9
  exports.parseOfferIssuanceMetadata = parseOfferIssuanceMetadata;
9
10
  const core_1 = require("@credo-ts/core");
11
+ const vs_agent_sdk_1 = require("@verana-labs/vs-agent-sdk");
10
12
  const isRecord_1 = require("./utils/isRecord");
11
13
  exports.ISSUER_CAPABILITY_ID = 'issuer';
12
14
  exports.VERIFIER_CAPABILITY_ID = 'verifier';
13
15
  exports.OFFER_TTL_SECONDS_MIN = 60;
14
16
  exports.OFFER_TTL_SECONDS_MAX = 7776000;
17
+ // The issuer stamps these claims itself, so a credential never carries a value a caller supplied for one.
18
+ const RESERVED_CLAIM_NAMES = [
19
+ 'vct',
20
+ 'vct#integrity',
21
+ 'iat',
22
+ 'exp',
23
+ 'nbf',
24
+ 'iss',
25
+ 'cnf',
26
+ 'status',
27
+ ];
28
+ function isReservedClaimName(name) {
29
+ return RESERVED_CLAIM_NAMES.includes(name);
30
+ }
31
+ /** A claim set the credential type refuses, which the Administration API answers as INVALID_INPUT. */
32
+ class OfferClaimsError extends Error {
33
+ constructor(message, violations) {
34
+ super(message);
35
+ this.violations = violations;
36
+ this.name = 'OfferClaimsError';
37
+ }
38
+ }
39
+ exports.OfferClaimsError = OfferClaimsError;
15
40
  /** [VSA-VTI-CFG-ENV-OID] Validation of the OpenID4VC configuration file. */
16
41
  function parseOpenId4VcConfiguration(document) {
17
42
  const configuration = assertJsonObject(document, '');
@@ -105,11 +130,14 @@ function findCredentialConfiguration(options, id) {
105
130
  }
106
131
  function parseOfferClaims(configuration, input) {
107
132
  if (!(0, isRecord_1.isRecord)(input)) {
108
- throw new Error('claims must be an object');
133
+ throw new OfferClaimsError('claims must be an object');
109
134
  }
110
135
  for (const name of Object.keys(input)) {
136
+ if (isReservedClaimName(name)) {
137
+ throw new OfferClaimsError(`claim '${name}' is reserved by SD-JWT VC`);
138
+ }
111
139
  if (!configuration.claims.includes(name)) {
112
- throw new Error(`unknown claim '${name}'`);
140
+ throw new OfferClaimsError(`unknown claim '${name}'`);
113
141
  }
114
142
  }
115
143
  const claims = {};
@@ -118,15 +146,28 @@ function parseOfferClaims(configuration, input) {
118
146
  continue;
119
147
  const value = input[name];
120
148
  if (isEmptyClaim(value)) {
121
- throw new Error(`claim '${name}' must be non-empty`);
149
+ throw new OfferClaimsError(`claim '${name}' must be non-empty`);
122
150
  }
123
151
  claims[name] = value;
124
152
  }
125
153
  if (Object.keys(claims).length === 0) {
126
- throw new Error('claims must include at least one configured claim');
154
+ throw new OfferClaimsError('claims must include at least one configured claim');
155
+ }
156
+ const violations = (0, vs_agent_sdk_1.schemaViolations)(claimSetSchema(configuration.jsonSchema), claims);
157
+ if (violations.length > 0) {
158
+ throw new OfferClaimsError('the claim set does not satisfy the json_schema', violations);
127
159
  }
128
160
  return claims;
129
161
  }
162
+ // An SD-JWT VTC carries no `credentialSubject.id`, so `id` is never a required property of a claim set.
163
+ function claimSetSchema(jsonSchema) {
164
+ var _a;
165
+ const schema = JSON.parse(jsonSchema);
166
+ const credentialSubject = (_a = schema === null || schema === void 0 ? void 0 : schema.properties) === null || _a === void 0 ? void 0 : _a.credentialSubject;
167
+ if (!(0, isRecord_1.isRecord)(credentialSubject) || !Array.isArray(credentialSubject.required))
168
+ return schema;
169
+ return Object.assign(Object.assign({}, schema), { properties: Object.assign(Object.assign({}, schema.properties), { credentialSubject: Object.assign(Object.assign({}, credentialSubject), { required: credentialSubject.required.filter(name => name !== 'id') }) }) });
170
+ }
130
171
  function parseOfferTtlSeconds(input) {
131
172
  if (typeof input !== 'number' ||
132
173
  !Number.isInteger(input) ||
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ exports.OpenId4VcPlugin = OpenId4VcPlugin;
4
4
  const IssuerService_1 = require("../services/IssuerService");
5
5
  const VerifierService_1 = require("../services/VerifierService");
6
6
  const types_1 = require("../types");
7
+ const credentialConfigurationHandlers_1 = require("../sdk/credentialConfigurationHandlers");
7
8
  const setupOpenId4Vc_1 = require("../sdk/setupOpenId4Vc");
8
9
  const V2OpenId4VcCredentialExchangesController_1 = require("./V2OpenId4VcCredentialExchangesController");
9
10
  const V2OpenId4VcPresentationsController_1 = require("./V2OpenId4VcPresentationsController");
@@ -22,6 +23,7 @@ function OpenId4VcPlugin(options) {
22
23
  name: 'openid4vc',
23
24
  credoPlugin: sdkPlugin,
24
25
  publicMiddleware: sdkPlugin.publicMiddleware,
26
+ registerIndexerHandlers: registry => (0, credentialConfigurationHandlers_1.registerCredentialConfigurationHandlers)(registry, options, () => issuerService),
25
27
  controllers: [
26
28
  V2OpenId4VcCredentialExchangesController_1.V2OpenId4VcCredentialExchangesController,
27
29
  V2OpenId4VcPresentationsController_1.V2OpenId4VcPresentationsController,
@@ -1 +1 @@
1
- {"version":3,"file":"OpenId4VcPlugin.js","sourceRoot":"","sources":["../../src/nestjs/OpenId4VcPlugin.ts"],"names":[],"mappings":";;AAcA,0CA0BC;AApCD,6DAAyD;AACzD,iEAA6D;AAC7D,oCAAmE;AAEnE,0DAAsD;AAEtD,yGAAqG;AACrG,6FAAyF;AACzF,yGAAqG;AAErG,SAAgB,eAAe,CAAC,OAA+B;IAC7D,IAAI,aAAuD,CAAA;IAC3D,MAAM,SAAS,GAAG,IAAA,+BAAc,EAAC,OAAO,EAAE,GAAG,EAAE;QAC7C,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAClF,OAAO,aAAa,CAAA;IACtB,CAAC,CAAC,CAAA;IACF,MAAM,oBAAoB,GAAwB,OAAO,CAAC,EAAE;QAC1D,aAAa,GAAG,OAAO,CAAA;IACzB,CAAC,CAAA;IAED,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,SAAS;QACtB,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;QAC5C,WAAW,EAAE;YACX,mFAAwC;YACxC,uEAAkC;YAClC,mFAAwC;SACzC;QACD,SAAS,EAAE;YACT,EAAE,OAAO,EAAE,yBAAiB,EAAE,QAAQ,EAAE,OAAO,EAAE;YACjD,EAAE,OAAO,EAAE,6BAAqB,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YAClE,6BAAa;YACb,iCAAe;SAChB;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"OpenId4VcPlugin.js","sourceRoot":"","sources":["../../src/nestjs/OpenId4VcPlugin.ts"],"names":[],"mappings":";;AAcA,0CA4BC;AAvCD,6DAAyD;AACzD,iEAA6D;AAC7D,oCAAmE;AAEnE,4FAAgG;AAChG,0DAAsD;AAEtD,yGAAqG;AACrG,6FAAyF;AACzF,yGAAqG;AAErG,SAAgB,eAAe,CAAC,OAA+B;IAC7D,IAAI,aAAiD,CAAA;IACrD,MAAM,SAAS,GAAG,IAAA,+BAAc,EAAC,OAAO,EAAE,GAAG,EAAE;QAC7C,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAClF,OAAO,aAAa,CAAA;IACtB,CAAC,CAAC,CAAA;IACF,MAAM,oBAAoB,GAAwB,OAAO,CAAC,EAAE;QAC1D,aAAa,GAAG,OAAO,CAAA;IACzB,CAAC,CAAA;IAED,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,SAAS;QACtB,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;QAC5C,uBAAuB,EAAE,QAAQ,CAAC,EAAE,CAClC,IAAA,yEAAuC,EAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;QACjF,WAAW,EAAE;YACX,mFAAwC;YACxC,uEAAkC;YAClC,mFAAwC;SACzC;QACD,SAAS,EAAE;YACT,EAAE,OAAO,EAAE,yBAAiB,EAAE,QAAQ,EAAE,OAAO,EAAE;YACjD,EAAE,OAAO,EAAE,6BAAqB,EAAE,QAAQ,EAAE,oBAAoB,EAAE;YAClE,6BAAa;YACb,iCAAe;SAChB;KACF,CAAA;AACH,CAAC"}
@@ -154,7 +154,7 @@ exports.OpenId4VcPresentedCredentialDto = OpenId4VcPresentedCredentialDto;
154
154
  __decorate([
155
155
  (0, swagger_1.ApiProperty)({
156
156
  description: 'SD-JWT VC type of the presented credential',
157
- example: 'https://agent.example/oid4vc/vct/employee',
157
+ example: 'https://ecosystem.example/vt/vct/144',
158
158
  }),
159
159
  __metadata("design:type", String)
160
160
  ], OpenId4VcPresentedCredentialDto.prototype, "vct", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"presentation.dto.js","sourceRoot":"","sources":["../../../src/nestjs/dto/presentation.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"presentation.dto.js","sourceRoot":"","sources":["../../../src/nestjs/dto/presentation.dto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { OpenId4VcIssuerRuntime, OpenId4VcPluginOptions } from '../types';
2
+ import type { IndexerHandlerRegistry } from '@verana-labs/vs-agent-sdk';
3
+ /** Call after the default registry is built and overridden so the originals are preserved. */
4
+ export declare function registerCredentialConfigurationHandlers(registry: IndexerHandlerRegistry, options: Pick<OpenId4VcPluginOptions, 'credentialConfigurations'>, getIssuerService: () => OpenId4VcIssuerRuntime | undefined): void;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerCredentialConfigurationHandlers = registerCredentialConfigurationHandlers;
4
+ const vs_agent_sdk_1 = require("@verana-labs/vs-agent-sdk");
5
+ const PARTICIPANT_MSGS = [
6
+ 'StartParticipantOP',
7
+ 'RenewParticipantOP',
8
+ 'SetParticipantOPToValidated',
9
+ 'SetParticipantEffectiveUntil',
10
+ 'RevokeParticipant',
11
+ 'SelfCreateParticipant',
12
+ 'CreateRootParticipant',
13
+ 'SlashParticipantTrustDeposit',
14
+ 'CancelParticipantOPLastRequest',
15
+ 'RepayParticipantSlashedTrustDeposit',
16
+ ];
17
+ const CREDENTIAL_SCHEMA_MSGS = [
18
+ 'CreateNewCredentialSchema',
19
+ 'UpdateCredentialSchema',
20
+ 'ArchiveCredentialSchema',
21
+ ];
22
+ /** Call after the default registry is built and overridden so the originals are preserved. */
23
+ function registerCredentialConfigurationHandlers(registry, options, getIssuerService) {
24
+ const advertised = (credentialSchemaId) => options.credentialConfigurations.some(configuration => configuration.credentialSchemaId === credentialSchemaId);
25
+ const wrap = (msg, concerns, updatedCredentialSchemaId) => {
26
+ const original = registry.get(msg);
27
+ registry.register({
28
+ msg,
29
+ handle: async (activity, ctx) => {
30
+ var _a;
31
+ if (original)
32
+ await original.handle(activity, ctx);
33
+ try {
34
+ if (!(await concerns(activity, ctx)))
35
+ return;
36
+ await ((_a = getIssuerService()) === null || _a === void 0 ? void 0 : _a.refreshCredentialConfigurations(updatedCredentialSchemaId === null || updatedCredentialSchemaId === void 0 ? void 0 : updatedCredentialSchemaId(activity)));
37
+ }
38
+ catch (error) {
39
+ ctx.agent.config.logger.error(`[OpenID4VC] credential configuration refresh failed for ${msg}`, error);
40
+ }
41
+ },
42
+ });
43
+ };
44
+ for (const msg of PARTICIPANT_MSGS) {
45
+ wrap(msg, async (activity, ctx) => {
46
+ const { agent } = ctx;
47
+ if (!agent.did)
48
+ return false;
49
+ const participant = await agent.indexer.getParticipant(String(activity.entity_id));
50
+ return participant.did === agent.did && participant.role === vs_agent_sdk_1.ParticipantRole.Issuer;
51
+ });
52
+ }
53
+ for (const msg of CREDENTIAL_SCHEMA_MSGS) {
54
+ wrap(msg, async (activity) => advertised(Number(activity.entity_id)), activity => (msg === 'UpdateCredentialSchema' ? Number(activity.entity_id) : undefined));
55
+ }
56
+ }
57
+ //# sourceMappingURL=credentialConfigurationHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentialConfigurationHandlers.js","sourceRoot":"","sources":["../../src/sdk/credentialConfigurationHandlers.ts"],"names":[],"mappings":";;AA6BA,0FAiDC;AAvED,4DAA2D;AAE3D,MAAM,gBAAgB,GAAG;IACvB,oBAAoB;IACpB,oBAAoB;IACpB,6BAA6B;IAC7B,8BAA8B;IAC9B,mBAAmB;IACnB,uBAAuB;IACvB,uBAAuB;IACvB,8BAA8B;IAC9B,gCAAgC;IAChC,qCAAqC;CAC7B,CAAA;AAEV,MAAM,sBAAsB,GAAG;IAC7B,2BAA2B;IAC3B,wBAAwB;IACxB,yBAAyB;CACjB,CAAA;AAEV,8FAA8F;AAC9F,SAAgB,uCAAuC,CACrD,QAAgC,EAChC,OAAiE,EACjE,gBAA0D;IAE1D,MAAM,UAAU,GAAG,CAAC,kBAA0B,EAAW,EAAE,CACzD,OAAO,CAAC,wBAAwB,CAAC,IAAI,CACnC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,kBAAkB,KAAK,kBAAkB,CACzE,CAAA;IAEH,MAAM,IAAI,GAAG,CACX,GAAW,EACX,QAAqF,EACrF,yBAA6E,EACvE,EAAE;QACR,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClC,QAAQ,CAAC,QAAQ,CAAC;YAChB,GAAG;YACH,MAAM,EAAE,KAAK,EAAE,QAAyB,EAAE,GAA0B,EAAE,EAAE;;gBACtE,IAAI,QAAQ;oBAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;gBAClD,IAAI,CAAC;oBACH,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;wBAAE,OAAM;oBAC5C,MAAM,CAAA,MAAA,gBAAgB,EAAE,0CAAE,+BAA+B,CAAC,yBAAyB,aAAzB,yBAAyB,uBAAzB,yBAAyB,CAAG,QAAQ,CAAC,CAAC,CAAA,CAAA;gBAClG,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAC3B,2DAA2D,GAAG,EAAE,EAChE,KAAgC,CACjC,CAAA;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;YAChC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;YACrB,IAAI,CAAC,KAAK,CAAC,GAAG;gBAAE,OAAO,KAAK,CAAA;YAC5B,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;YAClF,OAAO,WAAW,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,WAAW,CAAC,IAAI,KAAK,8BAAe,CAAC,MAAM,CAAA;QACrF,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACzC,IAAI,CACF,GAAG,EACH,KAAK,EAAC,QAAQ,EAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EACxD,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,wBAAwB,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CACxF,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -10,5 +10,5 @@ export interface OpenId4VcSdkPlugin {
10
10
  publicMiddleware: Express;
11
11
  }
12
12
  export declare function setupOpenId4Vc(options: OpenId4VcPluginOptions, getIssuerService: () => OpenId4VcIssuerRequestMapper): OpenId4VcSdkPlugin;
13
- export declare function acceptDraftCredentialRequests(configurations: OpenId4VcCredentialConfiguration[]): (request: Request, _response: Response, next: NextFunction) => void;
13
+ export declare function acceptDraftCredentialRequests(getConfigurations: () => OpenId4VcCredentialConfiguration[]): (request: Request, _response: Response, next: NextFunction) => void;
14
14
  export declare function accommodateLegacyMetadataAccept(request: Request, _response: Response, next: NextFunction): void;
@@ -33,7 +33,7 @@ function setupOpenId4Vc(options, getIssuerService) {
33
33
  // Credo raises the body limits of its own routers (1 MB issuer, 5 MB verifier), and a parser registered on
34
34
  // the same app before them decides first, so this one covers the issuer path alone and at the limit credo
35
35
  // sets there.
36
- app.use(new URL(`${options.publicApiBaseUrl}/oid4vci`).pathname, express_1.default.json({ limit: ISSUER_BODY_LIMIT }), acceptDraftCredentialRequests(options.credentialConfigurations));
36
+ app.use(new URL(`${options.publicApiBaseUrl}/oid4vci`).pathname, express_1.default.json({ limit: ISSUER_BODY_LIMIT }), acceptDraftCredentialRequests(() => options.credentialConfigurations));
37
37
  // RFC 8615 puts the issuer path after the well-known segment, so a holder whose issuer identifier carries a
38
38
  // path requests `/.well-known/jwt-vc-issuer/oid4vci/<id>`, not just the bare form.
39
39
  app.get(['/.well-known/jwt-vc-issuer', '/.well-known/jwt-vc-issuer/*'], (_request, response, next) => {
@@ -89,7 +89,7 @@ function withoutTrailingSlash(path) {
89
89
  }
90
90
  // Draft wallets predating OpenID4VCI 1.0 still send `format` alongside `vct` on the credential request, which
91
91
  // Credo answers with `unsupported_credential_format`.
92
- function acceptDraftCredentialRequests(configurations) {
92
+ function acceptDraftCredentialRequests(getConfigurations) {
93
93
  return (request, _response, next) => {
94
94
  const body = request.body;
95
95
  if (request.method !== 'POST' || !request.path.endsWith('/credential') || !(0, isRecord_1.isRecord)(body)) {
@@ -100,7 +100,7 @@ function acceptDraftCredentialRequests(configurations) {
100
100
  next();
101
101
  return;
102
102
  }
103
- const configuration = configurations.find(candidate => candidate.vct === body.vct);
103
+ const configuration = getConfigurations().find(candidate => candidate.vct === body.vct);
104
104
  if (configuration) {
105
105
  const { format: _format, vct: _vct } = body, rest = __rest(body, ["format", "vct"]);
106
106
  request.body = Object.assign(Object.assign({}, rest), { credential_configuration_id: configuration.id });
@@ -1 +1 @@
1
- {"version":3,"file":"setupOpenId4Vc.js","sourceRoot":"","sources":["../../src/sdk/setupOpenId4Vc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupOpenId4Vc.js","sourceRoot":"","sources":["../../src/sdk/setupOpenId4Vc.ts"],"names":[],"mappings":"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"}
@@ -32,8 +32,11 @@ export declare class IssuerService implements OnModuleInit {
32
32
  private readonly publishIssuerService;
33
33
  private initialization?;
34
34
  private signingCertificate?;
35
+ private replacement;
36
+ private readonly typeMetadataIntegrity;
35
37
  constructor(agent: OpenId4VcAgent, options: OpenId4VcPluginOptions, publishIssuerService: OpenId4VcIssuerSink);
36
38
  onModuleInit(): Promise<void>;
39
+ refreshCredentialConfigurations(updatedCredentialSchemaId?: number): Promise<void>;
37
40
  ensureInitialized(): Promise<void>;
38
41
  createOffer({ jsonSchemaCredentialId, claims, ttlSeconds, statusListId, statusListIndex, }: OpenId4VcCreateOfferOptions): Promise<OpenId4VcOfferResult>;
39
42
  getIssuanceSession(id: string): Promise<OpenId4VcIssuanceSessionSummary>;
@@ -44,6 +47,10 @@ export declare class IssuerService implements OnModuleInit {
44
47
  getJwtVcIssuerMetadata(): Record<string, unknown>;
45
48
  mapCredentialRequest: OpenId4VciCredentialRequestToCredentialMapper;
46
49
  private initialize;
50
+ private assertTypeMetadataReadable;
51
+ private replaceCredentialConfigurations;
52
+ private deriveAndRender;
53
+ private deriveCredentialConfigurations;
47
54
  private createOrUpdateIssuer;
48
55
  private credentialConfigurationsSupported;
49
56
  private sessionRepository;
@@ -21,9 +21,12 @@ const config_1 = require("../config");
21
21
  const keyBinding_1 = require("../trust/keyBinding");
22
22
  const types_1 = require("../types");
23
23
  const serviceDisplay_1 = require("../utils/serviceDisplay");
24
+ const credentialConfigurationBuilder_1 = require("./credentialConfigurationBuilder");
25
+ const typeMetadataIntegrity_1 = require("./typeMetadataIntegrity");
24
26
  const CertificateService_1 = require("./CertificateService");
25
27
  const BAD_REQUEST = 400;
26
28
  const NOT_FOUND = 404;
29
+ const SERVICE_UNAVAILABLE = 503;
27
30
  const JSON_SCHEMA_CREDENTIAL_ID_TAG = 'jsonSchemaCredentialId';
28
31
  const DPOP_ALGORITHMS = ['ES256'];
29
32
  const ATTESTATION_ALGORITHMS = ['ES256'];
@@ -32,6 +35,8 @@ let IssuerService = class IssuerService {
32
35
  this.agent = agent;
33
36
  this.options = options;
34
37
  this.publishIssuerService = publishIssuerService;
38
+ this.replacement = Promise.resolve();
39
+ this.typeMetadataIntegrity = (0, typeMetadataIntegrity_1.createTypeMetadataIntegrity)();
35
40
  this.mapCredentialRequest = async (input) => {
36
41
  const signingCertificate = this.signingCertificateHandle();
37
42
  const configuration = (0, config_1.findCredentialConfiguration)(this.options, input.credentialConfigurationId);
@@ -39,8 +44,9 @@ let IssuerService = class IssuerService {
39
44
  throw new Error(`unknown credential configuration '${input.credentialConfigurationId}'`);
40
45
  }
41
46
  const { claims, ttlSeconds } = (0, config_1.parseOfferIssuanceMetadata)(configuration, input.issuanceSession.issuanceMetadata);
47
+ const integrity = await this.typeMetadataIntegrity.digest(configuration.vct);
42
48
  const issuedAt = Math.floor(Date.now() / 1000);
43
- const payload = Object.assign(Object.assign({}, claims), { vct: configuration.vct, iat: issuedAt, exp: issuedAt + ttlSeconds });
49
+ const payload = Object.assign(Object.assign({}, claims), { vct: configuration.vct, 'vct#integrity': integrity, iat: issuedAt, exp: issuedAt + ttlSeconds });
44
50
  return {
45
51
  type: 'credentials',
46
52
  format: core_1.ClaimFormat.SdJwtDc,
@@ -64,6 +70,14 @@ let IssuerService = class IssuerService {
64
70
  this.publishIssuerService(this);
65
71
  await this.ensureInitialized();
66
72
  }
73
+ async refreshCredentialConfigurations(updatedCredentialSchemaId) {
74
+ if (!this.signingCertificate)
75
+ return;
76
+ const updated = this.options.credentialConfigurations.find(configuration => configuration.credentialSchemaId === updatedCredentialSchemaId);
77
+ if (updated)
78
+ this.typeMetadataIntegrity.invalidate(updated.vct);
79
+ await this.replaceCredentialConfigurations();
80
+ }
67
81
  ensureInitialized() {
68
82
  var _a;
69
83
  (_a = this.initialization) !== null && _a !== void 0 ? _a : (this.initialization = this.initialize().catch(error => {
@@ -92,8 +106,18 @@ let IssuerService = class IssuerService {
92
106
  };
93
107
  }
94
108
  catch (error) {
95
- throw new vs_agent_sdk_1.AdminApiError(vs_agent_sdk_1.AdminApiErrorCode.InvalidInput, BAD_REQUEST, error instanceof Error ? error.message : 'invalid credential offer');
109
+ throw new vs_agent_sdk_1.AdminApiError(vs_agent_sdk_1.AdminApiErrorCode.InvalidInput, BAD_REQUEST, error instanceof Error ? error.message : 'invalid credential offer', error instanceof config_1.OfferClaimsError && error.violations ? { violations: error.violations } : undefined);
96
110
  }
111
+ try {
112
+ await this.agent.anonCredsTrust.assertOwnAuthorization({
113
+ role: vs_agent_sdk_1.ParticipantRole.Issuer,
114
+ credentialSchemaId: configuration.credentialSchemaId,
115
+ });
116
+ }
117
+ catch (error) {
118
+ throw (0, vs_agent_sdk_1.trustDecisionError)(error, 'agent');
119
+ }
120
+ await this.assertTypeMetadataReadable(configuration.vct);
97
121
  const { credentialOffer, issuanceSession } = await this.issuerApi().createCredentialOffer({
98
122
  issuerId: config_1.ISSUER_CAPABILITY_ID,
99
123
  credentialConfigurationIds: [configuration.id],
@@ -166,9 +190,62 @@ let IssuerService = class IssuerService {
166
190
  if (binding !== 'bound') {
167
191
  throw new Error('OpenID4VC issuer certificate key is not bound to the agent DID assertionMethod');
168
192
  }
169
- await this.createOrUpdateIssuer(signingCertificate);
170
193
  this.signingCertificate = signingCertificate;
171
- this.agent.config.logger.info(`[OpenID4VC] issuer signs with a ${signingCertificate.development ? 'development' : 'configured'} certificate${publishedMethodId ? `, published as ${publishedMethodId}` : ''}`);
194
+ try {
195
+ await this.replaceCredentialConfigurations(true);
196
+ }
197
+ catch (error) {
198
+ this.signingCertificate = undefined;
199
+ throw error;
200
+ }
201
+ const mode = signingCertificate.development ? 'development' : 'configured';
202
+ const publication = publishedMethodId ? `, published as ${publishedMethodId}` : '';
203
+ this.agent.config.logger.info(`[OpenID4VC] issuer signs with a ${mode} certificate${publication}`);
204
+ }
205
+ async assertTypeMetadataReadable(vct) {
206
+ try {
207
+ await this.typeMetadataIntegrity.digest(vct);
208
+ }
209
+ catch (error) {
210
+ throw new vs_agent_sdk_1.AdminApiError(vs_agent_sdk_1.AdminApiErrorCode.ResolverUnavailable, SERVICE_UNAVAILABLE, `the Type Metadata at ${vct} could not be read: ${error instanceof Error ? error.message : String(error)}`);
211
+ }
212
+ }
213
+ // A notification can trigger a refresh while the initialization still runs, so the derived sets
214
+ // reach the served metadata in the order they were derived.
215
+ replaceCredentialConfigurations(render = false) {
216
+ const derive = () => this.deriveAndRender(render);
217
+ const next = this.replacement.then(derive, derive);
218
+ this.replacement = next.then(() => undefined, () => undefined);
219
+ return next;
220
+ }
221
+ async deriveAndRender(render) {
222
+ const signingCertificate = this.signingCertificate;
223
+ if (!signingCertificate)
224
+ return;
225
+ const previous = this.options.credentialConfigurations;
226
+ const derived = await this.deriveCredentialConfigurations();
227
+ if (derived && !sameCredentialConfigurations(previous, derived)) {
228
+ this.options.credentialConfigurations = derived;
229
+ render = true;
230
+ }
231
+ if (!render)
232
+ return;
233
+ try {
234
+ await this.createOrUpdateIssuer(signingCertificate);
235
+ }
236
+ catch (error) {
237
+ this.options.credentialConfigurations = previous;
238
+ throw error;
239
+ }
240
+ }
241
+ async deriveCredentialConfigurations() {
242
+ try {
243
+ return await (0, credentialConfigurationBuilder_1.buildCredentialConfigurations)(this.agent);
244
+ }
245
+ catch (error) {
246
+ this.agent.config.logger.warn(`[OpenID4VC] the credential configuration set keeps its last known contents: ${error instanceof Error ? error.message : String(error)}`);
247
+ return undefined;
248
+ }
172
249
  }
173
250
  async createOrUpdateIssuer(signingCertificate) {
174
251
  var _a, _b;
@@ -251,6 +328,10 @@ exports.IssuerService = IssuerService = __decorate([
251
328
  __param(2, (0, common_1.Inject)(types_1.OPENID4VC_ISSUER_SINK)),
252
329
  __metadata("design:paramtypes", [Object, Object, Function])
253
330
  ], IssuerService);
331
+ function sameCredentialConfigurations(one, other) {
332
+ const serialize = (configurations) => JSON.stringify([...configurations].sort((a, b) => a.id.localeCompare(b.id)));
333
+ return serialize(one) === serialize(other);
334
+ }
254
335
  function summarizeIssuanceSession(session) {
255
336
  var _a;
256
337
  const jsonSchemaCredentialId = session.getTag(JSON_SCHEMA_CREDENTIAL_ID_TAG);
@@ -1 +1 @@
1
- {"version":3,"file":"IssuerService.js","sourceRoot":"","sources":["../../src/services/IssuerService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IssuerService.js","sourceRoot":"","sources":["../../src/services/IssuerService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { OpenId4VcCredentialConfiguration } from '../types';
2
+ import type { VsAgent } from '@verana-labs/vs-agent-sdk';
3
+ export declare function buildCredentialConfigurations(agent: VsAgent): Promise<OpenId4VcCredentialConfiguration[] | undefined>;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildCredentialConfigurations = buildCredentialConfigurations;
4
+ const config_1 = require("../config");
5
+ const vs_agent_sdk_1 = require("@verana-labs/vs-agent-sdk");
6
+ // `undefined` means the agent cannot derive the set at all, and the caller keeps the last known one.
7
+ async function buildCredentialConfigurations(agent) {
8
+ var _a;
9
+ const did = agent.did;
10
+ const chainId = (_a = agent.veranaChain) === null || _a === void 0 ? void 0 : _a.getChainId;
11
+ if (!did || !chainId)
12
+ return undefined;
13
+ const participants = await agent.indexer.listParticipants({
14
+ did,
15
+ role: vs_agent_sdk_1.ParticipantRole.Issuer,
16
+ participantState: vs_agent_sdk_1.ParticipantState.Active,
17
+ });
18
+ const credentialSchemaIds = new Set((participants !== null && participants !== void 0 ? participants : []).map(participant => Number(participant.schema_id)));
19
+ const reader = memoizedSchemaReader(agent.indexer);
20
+ const configurations = [];
21
+ for (const credentialSchemaId of credentialSchemaIds) {
22
+ try {
23
+ configurations.push(await buildCredentialConfiguration(agent, reader, credentialSchemaId, chainId));
24
+ }
25
+ catch (error) {
26
+ agent.config.logger.warn(`[OpenID4VC] the CredentialSchema ${credentialSchemaId} carries no credential configuration: ${error instanceof Error ? error.message : String(error)}`);
27
+ }
28
+ }
29
+ if (configurations.length === 0) {
30
+ agent.config.logger.info(`[OpenID4VC] the VPR gives ${did} no credential type to issue, so the issuer advertises none`);
31
+ }
32
+ return configurations;
33
+ }
34
+ async function buildCredentialConfiguration(agent, reader, credentialSchemaId, chainId) {
35
+ const schema = await reader.getCredentialSchema(credentialSchemaId);
36
+ const ecosystem = await reader.getEcosystem(schema.ecosystem_id);
37
+ const baseUrl = (ecosystem === null || ecosystem === void 0 ? void 0 : ecosystem.did) ? (0, vs_agent_sdk_1.getDidWebHttpsBaseUrl)(ecosystem.did) : undefined;
38
+ if (!baseUrl) {
39
+ throw new Error(`the Ecosystem ${schema.ecosystem_id} maps its DID to no https base url`);
40
+ }
41
+ const jsonSchemaCredentialId = await (0, vs_agent_sdk_1.resolveJsonSchemaCredentialId)(agent, reader, credentialSchemaId, chainId);
42
+ const { title, attrNames } = (0, vs_agent_sdk_1.readJsonSchema)(schema.json_schema);
43
+ const envelope = attrNames.filter(isEnvelopeClaim);
44
+ if (envelope.length > 0) {
45
+ agent.config.logger.warn(`[OpenID4VC] the CredentialSchema ${credentialSchemaId} declares ${envelope
46
+ .map(claim => `'${claim}'`)
47
+ .join(', ')}, which the credential envelope carries, so its type offers no such claim`);
48
+ }
49
+ const claims = attrNames.filter(claim => !isEnvelopeClaim(claim));
50
+ return {
51
+ id: jsonSchemaCredentialId,
52
+ format: 'dc+sd-jwt',
53
+ vct: (0, vs_agent_sdk_1.typeMetadataUrl)(baseUrl, credentialSchemaId),
54
+ name: title !== null && title !== void 0 ? title : `vpr:verana:${chainId}:cs:${credentialSchemaId}`,
55
+ vtjscId: jsonSchemaCredentialId,
56
+ credentialSchemaId,
57
+ jsonSchema: schema.json_schema,
58
+ claims,
59
+ disclosureFrame: claims,
60
+ };
61
+ }
62
+ // `id` joins the reserved names: SD-JWT VC binds the holder through `cnf`, so an `id` the caller
63
+ // supplies would assert a subject the issuer never checked.
64
+ function isEnvelopeClaim(claim) {
65
+ return claim === 'id' || (0, config_1.isReservedClaimName)(claim);
66
+ }
67
+ function memoizedSchemaReader(reader) {
68
+ const schemas = new Map();
69
+ const ecosystems = new Map();
70
+ const once = (cache, id, read) => {
71
+ var _a;
72
+ const pending = (_a = cache.get(String(id))) !== null && _a !== void 0 ? _a : read();
73
+ cache.set(String(id), pending);
74
+ return pending;
75
+ };
76
+ return {
77
+ getCredentialSchema: id => once(schemas, id, () => reader.getCredentialSchema(id)),
78
+ getEcosystem: id => once(ecosystems, id, () => reader.getEcosystem(id)),
79
+ };
80
+ }
81
+ //# sourceMappingURL=credentialConfigurationBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentialConfigurationBuilder.js","sourceRoot":"","sources":["../../src/services/credentialConfigurationBuilder.ts"],"names":[],"mappings":";;AAoBA,sEAmCC;AA/CD,sCAA+C;AAE/C,4DAOkC;AAElC,qGAAqG;AAC9F,KAAK,UAAU,6BAA6B,CACjD,KAAc;;IAEd,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;IACrB,MAAM,OAAO,GAAG,MAAA,KAAK,CAAC,WAAW,0CAAE,UAAU,CAAA;IAC7C,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAA;IAEtC,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACxD,GAAG;QACH,IAAI,EAAE,8BAAe,CAAC,MAAM;QAC5B,gBAAgB,EAAE,+BAAgB,CAAC,MAAM;KAC1C,CAAC,CAAA;IAEF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC3G,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAClD,MAAM,cAAc,GAAuC,EAAE,CAAA;IAC7D,KAAK,MAAM,kBAAkB,IAAI,mBAAmB,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,cAAc,CAAC,IAAI,CAAC,MAAM,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAA;QACrG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACtB,oCAAoC,kBAAkB,yCACpD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAA;QACH,CAAC;IACH,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACtB,6BAA6B,GAAG,6DAA6D,CAC9F,CAAA;IACH,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,KAAc,EACd,MAA2B,EAC3B,kBAA0B,EAC1B,OAAe;IAEf,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAA;IACnE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAChE,MAAM,OAAO,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,EAAC,CAAC,CAAC,IAAA,oCAAqB,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACjF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,CAAC,YAAY,oCAAoC,CAAC,CAAA;IAC3F,CAAC;IAED,MAAM,sBAAsB,GAAG,MAAM,IAAA,4CAA6B,EAChE,KAAK,EACL,MAAM,EACN,kBAAkB,EAClB,OAAO,CACR,CAAA;IACD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAA,6BAAc,EAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAC/D,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IAClD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACtB,oCAAoC,kBAAkB,aAAa,QAAQ;aACxE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC;aAC1B,IAAI,CAAC,IAAI,CAAC,2EAA2E,CACzF,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;IAEjE,OAAO;QACL,EAAE,EAAE,sBAAsB;QAC1B,MAAM,EAAE,WAAW;QACnB,GAAG,EAAE,IAAA,8BAAe,EAAC,OAAO,EAAE,kBAAkB,CAAC;QACjD,IAAI,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,cAAc,OAAO,OAAO,kBAAkB,EAAE;QAC/D,OAAO,EAAE,sBAAsB;QAC/B,kBAAkB;QAClB,UAAU,EAAE,MAAM,CAAC,WAAW;QAC9B,MAAM;QACN,eAAe,EAAE,MAAM;KACxB,CAAA;AACH,CAAC;AAED,iGAAiG;AACjG,4DAA4D;AAC5D,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK,KAAK,IAAI,IAAI,IAAA,4BAAmB,EAAC,KAAK,CAAC,CAAA;AACrD,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA2B;IACvD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwC,CAAA;IAC/D,MAAM,UAAU,GAAG,IAAI,GAAG,EAA6C,CAAA;IAEvE,MAAM,IAAI,GAAG,CAAI,KAA8B,EAAE,EAAmB,EAAE,IAAsB,EAAE,EAAE;;QAC9F,MAAM,OAAO,GAAG,MAAA,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,mCAAI,IAAI,EAAE,CAAA;QAC/C,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;QAC9B,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;IAED,OAAO;QACL,mBAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAClF,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;KACxE,CAAA;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const FAILURE_CACHE_MS = 5000;
2
+ export interface TypeMetadataIntegrity {
3
+ digest(url: string): Promise<string>;
4
+ invalidate(url: string): void;
5
+ }
6
+ export declare function createTypeMetadataIntegrity(): TypeMetadataIntegrity;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FAILURE_CACHE_MS = void 0;
4
+ exports.createTypeMetadataIntegrity = createTypeMetadataIntegrity;
5
+ const vs_agent_sdk_1 = require("@verana-labs/vs-agent-sdk");
6
+ exports.FAILURE_CACHE_MS = 5000;
7
+ function createTypeMetadataIntegrity() {
8
+ const digests = new Map();
9
+ const failures = new Map();
10
+ return {
11
+ digest(url) {
12
+ const cached = digests.get(url);
13
+ if (cached)
14
+ return cached;
15
+ const failed = failures.get(url);
16
+ if (failed && Date.now() - failed.at < exports.FAILURE_CACHE_MS)
17
+ return failed.failure;
18
+ const pending = (0, vs_agent_sdk_1.digestOfBoundedUri)(url);
19
+ digests.set(url, pending);
20
+ pending.catch(() => {
21
+ digests.delete(url);
22
+ failures.set(url, { at: Date.now(), failure: pending });
23
+ });
24
+ return pending;
25
+ },
26
+ invalidate(url) {
27
+ digests.delete(url);
28
+ failures.delete(url);
29
+ },
30
+ };
31
+ }
32
+ //# sourceMappingURL=typeMetadataIntegrity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeMetadataIntegrity.js","sourceRoot":"","sources":["../../src/services/typeMetadataIntegrity.ts"],"names":[],"mappings":";;;AASA,kEAyBC;AAlCD,4DAA8D;AAEjD,QAAA,gBAAgB,GAAG,IAAK,CAAA;AAOrC,SAAgB,2BAA2B;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAA;IAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoD,CAAA;IAE5E,OAAO;QACL,MAAM,CAAC,GAAG;YACR,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC/B,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAA;YAEzB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAChC,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,wBAAgB;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAA;YAE9E,MAAM,OAAO,GAAG,IAAA,iCAAkB,EAAC,GAAG,CAAC,CAAA;YACvC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YACzB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;gBACjB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACnB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;YACzD,CAAC,CAAC,CAAA;YACF,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,UAAU,CAAC,GAAG;YACZ,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACnB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACtB,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.verifyKeyBoundToDid = verifyKeyBoundToDid;
4
4
  exports.findBoundVerificationMethodId = findBoundVerificationMethodId;
5
5
  const core_1 = require("@credo-ts/core");
6
+ const vs_agent_sdk_1 = require("@verana-labs/vs-agent-sdk");
6
7
  const DID_RESOLUTION_TIMEOUT_MS = 5000;
7
8
  async function verifyKeyBoundToDid(agent, did, certificatePublicJwk, purposes) {
8
9
  const lookup = await lookupBoundVerificationMethod(agent, did, certificatePublicJwk, purposes);
@@ -37,7 +38,7 @@ async function lookupBoundVerificationMethod(agent, did, certificatePublicJwk, p
37
38
  }
38
39
  async function resolveDidDocument(agent, did) {
39
40
  var _a;
40
- if (!didWebHost(did))
41
+ if (!isDidWebTarget(did))
41
42
  return null;
42
43
  try {
43
44
  const resolution = await withTimeout(agent.dids.resolve(did, { useCache: false, persistInCache: false }), DID_RESOLUTION_TIMEOUT_MS);
@@ -67,35 +68,12 @@ function* verificationMethodsForPurposes(didDocument, purposes) {
67
68
  }
68
69
  }
69
70
  }
70
- function didWebHost(did) {
71
- const parsed = (0, core_1.tryParseDid)(did);
72
- if (!parsed || parsed.did !== did)
73
- return undefined;
74
- const components = parsed.id.split(':');
75
- const encodedHost = parsed.method === 'web'
76
- ? components[0]
77
- : parsed.method === 'webvh' && components.length >= 2 && components[0]
78
- ? components[1]
79
- : undefined;
80
- if (!encodedHost)
81
- return undefined;
71
+ function isDidWebTarget(did) {
82
72
  try {
83
- return canonicalHost(decodeURIComponent(encodedHost));
73
+ return (0, vs_agent_sdk_1.getDidWebHttpsBaseUrl)(did) !== undefined;
84
74
  }
85
75
  catch (_a) {
86
- return undefined;
87
- }
88
- }
89
- function canonicalHost(value) {
90
- try {
91
- const url = new URL(`https://${value}`);
92
- if (!url.hostname || url.username || url.password || url.pathname !== '/' || url.search || url.hash) {
93
- return undefined;
94
- }
95
- return url.host.toLowerCase();
96
- }
97
- catch (_a) {
98
- return undefined;
76
+ return false;
99
77
  }
100
78
  }
101
79
  async function withTimeout(operation, timeoutMs) {
@@ -1 +1 @@
1
- {"version":3,"file":"keyBinding.js","sourceRoot":"","sources":["../../src/trust/keyBinding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyBinding.js","sourceRoot":"","sources":["../../src/trust/keyBinding.ts"],"names":[],"mappings":"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"}
package/build/types.d.ts CHANGED
@@ -21,6 +21,8 @@ export interface OpenId4VcCredentialConfiguration {
21
21
  name: string;
22
22
  description?: string;
23
23
  vtjscId: string;
24
+ credentialSchemaId: number;
25
+ jsonSchema: string;
24
26
  claims: string[];
25
27
  disclosureFrame: string[];
26
28
  }
@@ -36,7 +38,10 @@ export interface OpenId4VcConfigurationFile {
36
38
  }
37
39
  export declare const OPENID4VC_OPTIONS = "OPENID4VC_OPTIONS";
38
40
  export declare const OPENID4VC_ISSUER_SINK = "OPENID4VC_ISSUER_SINK";
39
- export type OpenId4VcIssuerSink = (service: OpenId4VcIssuerRequestMapper) => void;
41
+ export interface OpenId4VcIssuerRuntime extends OpenId4VcIssuerRequestMapper {
42
+ refreshCredentialConfigurations(updatedCredentialSchemaId?: number): Promise<void>;
43
+ }
44
+ export type OpenId4VcIssuerSink = (service: OpenId4VcIssuerRuntime) => void;
40
45
  export interface OpenId4VcPluginOptions extends OpenId4VcConfigurationFile {
41
46
  publicApiBaseUrl: string;
42
47
  credentialConfigurations: OpenId4VcCredentialConfiguration[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA2Ca,QAAA,iBAAiB,GAAG,mBAAmB,CAAA;AACvC,QAAA,qBAAqB,GAAG,uBAAuB,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA6Ca,QAAA,iBAAiB,GAAG,mBAAmB,CAAA;AACvC,QAAA,qBAAqB,GAAG,uBAAuB,CAAA"}
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "default": "./build/index.js"
10
10
  }
11
11
  },
12
- "version": "2.0.0-dev.72",
12
+ "version": "2.0.0-dev.74",
13
13
  "repository": {
14
14
  "type": "git",
15
15
  "url": "https://github.com/verana-labs/vs-agent"
@@ -30,7 +30,7 @@
30
30
  "class-transformer": "0.5.1",
31
31
  "class-validator": "0.14.1",
32
32
  "express": "^4.18.1",
33
- "@verana-labs/vs-agent-sdk": "2.0.0-dev.72"
33
+ "@verana-labs/vs-agent-sdk": "2.0.0-dev.74"
34
34
  },
35
35
  "peerDependencies": {
36
36
  "@credo-ts/core": "0.7.1-pr-2704-20260909134930"