diff --git a/docs/api/daf-core.iidentitymanageraddkeyargs.md b/docs/api/daf-core.iidentitymanageraddkeyargs.md index 09e482299..de94343c7 100644 --- a/docs/api/daf-core.iidentitymanageraddkeyargs.md +++ b/docs/api/daf-core.iidentitymanageraddkeyargs.md @@ -18,5 +18,5 @@ export interface IIdentityManagerAddKeyArgs | --- | --- | --- | | [did](./daf-core.iidentitymanageraddkeyargs.did.md) | string | DID | | [key](./daf-core.iidentitymanageraddkeyargs.key.md) | [IKey](./daf-core.ikey.md) | Key object | -| [options](./daf-core.iidentitymanageraddkeyargs.options.md) | any | Optional. Identity provider specific options | +| [options](./daf-core.iidentitymanageraddkeyargs.options.md) | object | Optional. Identity provider specific options | diff --git a/docs/api/daf-core.iidentitymanageraddkeyargs.options.md b/docs/api/daf-core.iidentitymanageraddkeyargs.options.md index 396c5a0b5..dd51f4347 100644 --- a/docs/api/daf-core.iidentitymanageraddkeyargs.options.md +++ b/docs/api/daf-core.iidentitymanageraddkeyargs.options.md @@ -9,5 +9,5 @@ Optional. Identity provider specific options Signature: ```typescript -options?: any; +options?: object; ``` diff --git a/docs/api/daf-core.iidentitymanageraddserviceargs.md b/docs/api/daf-core.iidentitymanageraddserviceargs.md index a2e9dabd5..4ec1a429b 100644 --- a/docs/api/daf-core.iidentitymanageraddserviceargs.md +++ b/docs/api/daf-core.iidentitymanageraddserviceargs.md @@ -17,6 +17,6 @@ export interface IIdentityManagerAddServiceArgs | Property | Type | Description | | --- | --- | --- | | [did](./daf-core.iidentitymanageraddserviceargs.did.md) | string | DID | -| [options](./daf-core.iidentitymanageraddserviceargs.options.md) | any | Optional. Identity provider specific options | +| [options](./daf-core.iidentitymanageraddserviceargs.options.md) | object | Optional. Identity provider specific options | | [service](./daf-core.iidentitymanageraddserviceargs.service.md) | [IService](./daf-core.iservice.md) | Service object | diff --git a/docs/api/daf-core.iidentitymanageraddserviceargs.options.md b/docs/api/daf-core.iidentitymanageraddserviceargs.options.md index 11a45d02b..c7c561a0b 100644 --- a/docs/api/daf-core.iidentitymanageraddserviceargs.options.md +++ b/docs/api/daf-core.iidentitymanageraddserviceargs.options.md @@ -9,5 +9,5 @@ Optional. Identity provider specific options Signature: ```typescript -options?: any; +options?: object; ``` diff --git a/docs/api/daf-core.iidentitymanagercreateidentityargs.md b/docs/api/daf-core.iidentitymanagercreateidentityargs.md index eb009b74d..08154d8ef 100644 --- a/docs/api/daf-core.iidentitymanagercreateidentityargs.md +++ b/docs/api/daf-core.iidentitymanagercreateidentityargs.md @@ -18,6 +18,6 @@ export interface IIdentityManagerCreateIdentityArgs | --- | --- | --- | | [alias](./daf-core.iidentitymanagercreateidentityargs.alias.md) | string | Optional. Identity alias. Can be used to reference an object in an external system | | [kms](./daf-core.iidentitymanagercreateidentityargs.kms.md) | string | Optional. Key Management System | -| [options](./daf-core.iidentitymanagercreateidentityargs.options.md) | any | Optional. Identity provider specific options | +| [options](./daf-core.iidentitymanagercreateidentityargs.options.md) | object | Optional. Identity provider specific options | | [provider](./daf-core.iidentitymanagercreateidentityargs.provider.md) | string | Optional. Identity provider | diff --git a/docs/api/daf-core.iidentitymanagercreateidentityargs.options.md b/docs/api/daf-core.iidentitymanagercreateidentityargs.options.md index 032656070..e014f14ca 100644 --- a/docs/api/daf-core.iidentitymanagercreateidentityargs.options.md +++ b/docs/api/daf-core.iidentitymanagercreateidentityargs.options.md @@ -9,5 +9,5 @@ Optional. Identity provider specific options Signature: ```typescript -options?: any; +options?: object; ``` diff --git a/docs/api/daf-core.iidentitymanagergetorcreateidentityargs.md b/docs/api/daf-core.iidentitymanagergetorcreateidentityargs.md index b467d6512..2b9c61b8b 100644 --- a/docs/api/daf-core.iidentitymanagergetorcreateidentityargs.md +++ b/docs/api/daf-core.iidentitymanagergetorcreateidentityargs.md @@ -18,6 +18,6 @@ export interface IIdentityManagerGetOrCreateIdentityArgs | --- | --- | --- | | [alias](./daf-core.iidentitymanagergetorcreateidentityargs.alias.md) | string | Identity alias. Can be used to reference an object in an external system | | [kms](./daf-core.iidentitymanagergetorcreateidentityargs.kms.md) | string | Optional. Key Management System | -| [options](./daf-core.iidentitymanagergetorcreateidentityargs.options.md) | any | Optional. Identity provider specific options | +| [options](./daf-core.iidentitymanagergetorcreateidentityargs.options.md) | object | Optional. Identity provider specific options | | [provider](./daf-core.iidentitymanagergetorcreateidentityargs.provider.md) | string | Optional. Identity provider | diff --git a/docs/api/daf-core.iidentitymanagergetorcreateidentityargs.options.md b/docs/api/daf-core.iidentitymanagergetorcreateidentityargs.options.md index 20e2a665f..774959a12 100644 --- a/docs/api/daf-core.iidentitymanagergetorcreateidentityargs.options.md +++ b/docs/api/daf-core.iidentitymanagergetorcreateidentityargs.options.md @@ -9,5 +9,5 @@ Optional. Identity provider specific options Signature: ```typescript -options?: any; +options?: object; ``` diff --git a/docs/api/daf-core.iidentitymanagerremovekeyargs.md b/docs/api/daf-core.iidentitymanagerremovekeyargs.md index 774cd152d..a4801d7b1 100644 --- a/docs/api/daf-core.iidentitymanagerremovekeyargs.md +++ b/docs/api/daf-core.iidentitymanagerremovekeyargs.md @@ -18,5 +18,5 @@ export interface IIdentityManagerRemoveKeyArgs | --- | --- | --- | | [did](./daf-core.iidentitymanagerremovekeyargs.did.md) | string | DID | | [kid](./daf-core.iidentitymanagerremovekeyargs.kid.md) | string | Key ID | -| [options](./daf-core.iidentitymanagerremovekeyargs.options.md) | any | Optional. Identity provider specific options | +| [options](./daf-core.iidentitymanagerremovekeyargs.options.md) | object | Optional. Identity provider specific options | diff --git a/docs/api/daf-core.iidentitymanagerremovekeyargs.options.md b/docs/api/daf-core.iidentitymanagerremovekeyargs.options.md index be8cb061b..e7a8c0156 100644 --- a/docs/api/daf-core.iidentitymanagerremovekeyargs.options.md +++ b/docs/api/daf-core.iidentitymanagerremovekeyargs.options.md @@ -9,5 +9,5 @@ Optional. Identity provider specific options Signature: ```typescript -options?: any; +options?: object; ``` diff --git a/docs/api/daf-core.iidentitymanagerremoveserviceargs.md b/docs/api/daf-core.iidentitymanagerremoveserviceargs.md index 483cfa248..3b7e79e21 100644 --- a/docs/api/daf-core.iidentitymanagerremoveserviceargs.md +++ b/docs/api/daf-core.iidentitymanagerremoveserviceargs.md @@ -18,5 +18,5 @@ export interface IIdentityManagerRemoveServiceArgs | --- | --- | --- | | [did](./daf-core.iidentitymanagerremoveserviceargs.did.md) | string | DID | | [id](./daf-core.iidentitymanagerremoveserviceargs.id.md) | string | Service ID | -| [options](./daf-core.iidentitymanagerremoveserviceargs.options.md) | any | Optional. Identity provider specific options | +| [options](./daf-core.iidentitymanagerremoveserviceargs.options.md) | object | Optional. Identity provider specific options | diff --git a/docs/api/daf-core.iidentitymanagerremoveserviceargs.options.md b/docs/api/daf-core.iidentitymanagerremoveserviceargs.options.md index 1aa285fac..23dce5445 100644 --- a/docs/api/daf-core.iidentitymanagerremoveserviceargs.options.md +++ b/docs/api/daf-core.iidentitymanagerremoveserviceargs.options.md @@ -9,5 +9,5 @@ Optional. Identity provider specific options Signature: ```typescript -options?: any; +options?: object; ``` diff --git a/docs/api/daf-core.ikey.md b/docs/api/daf-core.ikey.md index edef9101f..6c726f550 100644 --- a/docs/api/daf-core.ikey.md +++ b/docs/api/daf-core.ikey.md @@ -18,7 +18,7 @@ export interface IKey | --- | --- | --- | | [kid](./daf-core.ikey.kid.md) | string | Key ID | | [kms](./daf-core.ikey.kms.md) | string | Key Management System | -| [meta](./daf-core.ikey.meta.md) | Record<string, any> | Optional. Key metadata. Can be used to store auth data to access remote kms | +| [meta](./daf-core.ikey.meta.md) | object | Optional. Key metadata. Can be used to store auth data to access remote kms | | [privateKeyHex](./daf-core.ikey.privatekeyhex.md) | string | Optional. Private key | | [publicKeyHex](./daf-core.ikey.publickeyhex.md) | string | Public key | | [type](./daf-core.ikey.type.md) | [TKeyType](./daf-core.tkeytype.md) | Key type | diff --git a/docs/api/daf-core.ikey.meta.md b/docs/api/daf-core.ikey.meta.md index f1290472c..b07d6d071 100644 --- a/docs/api/daf-core.ikey.meta.md +++ b/docs/api/daf-core.ikey.meta.md @@ -9,5 +9,5 @@ Optional. Key metadata. Can be used to store auth data to access remote kms Signature: ```typescript -meta?: Record; +meta?: object; ``` diff --git a/docs/api/daf-core.ikeymanagercreatekeyargs.md b/docs/api/daf-core.ikeymanagercreatekeyargs.md index 0ba2b6f66..01ce15d97 100644 --- a/docs/api/daf-core.ikeymanagercreatekeyargs.md +++ b/docs/api/daf-core.ikeymanagercreatekeyargs.md @@ -17,6 +17,6 @@ export interface IKeyManagerCreateKeyArgs | Property | Type | Description | | --- | --- | --- | | [kms](./daf-core.ikeymanagercreatekeyargs.kms.md) | string | Key Management System | -| [meta](./daf-core.ikeymanagercreatekeyargs.meta.md) | Record<string, any> | Optional. Key meta data | +| [meta](./daf-core.ikeymanagercreatekeyargs.meta.md) | object | Optional. Key meta data | | [type](./daf-core.ikeymanagercreatekeyargs.type.md) | [TKeyType](./daf-core.tkeytype.md) | Key type | diff --git a/docs/api/daf-core.ikeymanagercreatekeyargs.meta.md b/docs/api/daf-core.ikeymanagercreatekeyargs.meta.md index 5de0f44d3..7455e7001 100644 --- a/docs/api/daf-core.ikeymanagercreatekeyargs.meta.md +++ b/docs/api/daf-core.ikeymanagercreatekeyargs.meta.md @@ -9,5 +9,5 @@ Optional. Key meta data Signature: ```typescript -meta?: Record; +meta?: object; ``` diff --git a/docs/api/daf-core.imessage.data.md b/docs/api/daf-core.imessage.data.md index 39b378ee0..dcae04802 100644 --- a/docs/api/daf-core.imessage.data.md +++ b/docs/api/daf-core.imessage.data.md @@ -9,5 +9,5 @@ Optional. Parsed data Signature: ```typescript -data?: any; +data?: string | object; ``` diff --git a/docs/api/daf-core.imessage.md b/docs/api/daf-core.imessage.md index 7e013e055..c4ed1a038 100644 --- a/docs/api/daf-core.imessage.md +++ b/docs/api/daf-core.imessage.md @@ -18,7 +18,7 @@ export interface IMessage | --- | --- | --- | | [createdAt](./daf-core.imessage.createdat.md) | string | Optional. Creation date (ISO 8601) | | [credentials](./daf-core.imessage.credentials.md) | [VerifiableCredential](./daf-core.verifiablecredential.md)\[\] | Optional. Array of attached verifiable credentials | -| [data](./daf-core.imessage.data.md) | any | Optional. Parsed data | +| [data](./daf-core.imessage.data.md) | string \| object | Optional. Parsed data | | [expiresAt](./daf-core.imessage.expiresat.md) | string | Optional. Expiration date (ISO 8601) | | [from](./daf-core.imessage.from.md) | string | Optional. Sender DID | | [id](./daf-core.imessage.id.md) | string | Unique message ID | diff --git a/docs/api/daf-did-comm.isendmessagedidcommalpha1args.data.md b/docs/api/daf-did-comm.isendmessagedidcommalpha1args.data.md index 24c3251f0..464b956e9 100644 --- a/docs/api/daf-did-comm.isendmessagedidcommalpha1args.data.md +++ b/docs/api/daf-did-comm.isendmessagedidcommalpha1args.data.md @@ -15,6 +15,6 @@ data: { from: string; to: string; type: string; - body: any; + body: object | string; }; ``` diff --git a/docs/api/daf-did-comm.isendmessagedidcommalpha1args.md b/docs/api/daf-did-comm.isendmessagedidcommalpha1args.md index 2ee9dc238..3b379cb30 100644 --- a/docs/api/daf-did-comm.isendmessagedidcommalpha1args.md +++ b/docs/api/daf-did-comm.isendmessagedidcommalpha1args.md @@ -19,7 +19,7 @@ export interface ISendMessageDIDCommAlpha1Args | Property | Type | Description | | --- | --- | --- | -| [data](./daf-did-comm.isendmessagedidcommalpha1args.data.md) | { id?: string; from: string; to: string; type: string; body: any; } | (BETA) | +| [data](./daf-did-comm.isendmessagedidcommalpha1args.data.md) | { id?: string; from: string; to: string; type: string; body: object \| string; } | (BETA) | | [save](./daf-did-comm.isendmessagedidcommalpha1args.save.md) | boolean | (BETA) | | [url](./daf-did-comm.isendmessagedidcommalpha1args.url.md) | string | (BETA) | diff --git a/docs/api/daf-typeorm.entities.md b/docs/api/daf-typeorm.entities.md index 20b846427..99873d3de 100644 --- a/docs/api/daf-typeorm.entities.md +++ b/docs/api/daf-typeorm.entities.md @@ -7,5 +7,5 @@ Signature: ```typescript -Entities: (typeof Key | typeof Identity | typeof Service | typeof Claim | typeof Credential | typeof Presentation | typeof Message)[] +Entities: (typeof Credential | typeof Identity | typeof Claim | typeof Presentation | typeof Message | typeof Key | typeof Service)[] ``` diff --git a/package.json b/package.json index 5b1ddbbde..be5543cf9 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "build": "lerna run build && yarn docs:api && yarn docs:reference && yarn schemas && yarn lerna run --scope daf-rest build && yarn docs:clean-temp && yarn prettier:examples", "publish": "lerna publish", "bootstrap": "lerna bootstrap", - "schemas": "ts-node ./scripts/generate-schemas.ts", + "schemas": "ts-node --project packages/tsconfig.settings.json ./scripts/generate-schemas.ts", "docs:api": "ts-node ./scripts/generate-docs.ts", "docs:reference": "api-documenter markdown -i ./temp -o ./docs/api", "docs:clean-temp": "rm -rf ./temp", @@ -27,6 +27,7 @@ } }, "devDependencies": { + "@apidevtools/swagger-parser": "^10.0.2", "@commitlint/cli": "^8.3.5", "@commitlint/config-conventional": "^8.3.4", "@microsoft/api-documenter": "^7.8.56", diff --git a/packages/daf-core/src/types.ts b/packages/daf-core/src/types.ts index 535e85c63..fadc1703d 100644 --- a/packages/daf-core/src/types.ts +++ b/packages/daf-core/src/types.ts @@ -53,7 +53,7 @@ export interface IKey { /** * Optional. Key metadata. Can be used to store auth data to access remote kms */ - meta?: Record + meta?: object } /** @@ -172,7 +172,7 @@ export interface IMessage { /** * Optional. Parsed data */ - data?: any + data?: string | object /** * Optional. List of DIDs to reply to @@ -445,7 +445,7 @@ export interface IIdentityManagerCreateIdentityArgs { /** * Optional. Identity provider specific options */ - options?: any + options?: object } /** @@ -471,7 +471,7 @@ export interface IIdentityManagerGetOrCreateIdentityArgs { /** * Optional. Identity provider specific options */ - options?: any + options?: object } /** @@ -492,7 +492,7 @@ export interface IIdentityManagerAddKeyArgs { /** * Optional. Identity provider specific options */ - options?: any + options?: object } /** @@ -513,7 +513,7 @@ export interface IIdentityManagerRemoveKeyArgs { /** * Optional. Identity provider specific options */ - options?: any + options?: object } /** @@ -534,7 +534,7 @@ export interface IIdentityManagerAddServiceArgs { /** * Optional. Identity provider specific options */ - options?: any + options?: object } /** @@ -555,7 +555,7 @@ export interface IIdentityManagerRemoveServiceArgs { /** * Optional. Identity provider specific options */ - options?: any + options?: object } /** @@ -701,7 +701,7 @@ export interface IKeyManagerCreateKeyArgs { /** * Optional. Key meta data */ - meta?: Record + meta?: object } /** diff --git a/packages/daf-did-comm/src/action-handler.ts b/packages/daf-did-comm/src/action-handler.ts index 539d214dc..b8de5cb2c 100644 --- a/packages/daf-did-comm/src/action-handler.ts +++ b/packages/daf-did-comm/src/action-handler.ts @@ -26,7 +26,7 @@ export interface ISendMessageDIDCommAlpha1Args { from: string to: string type: string - body: any + body: object | string } } @@ -118,7 +118,7 @@ export class DIDComm implements IAgentPlugin { if (res.status == 200) { return await context.agent.handleMessage({ - raw: data.body, + raw: JSON.stringify(data.body), metaData: [{ type: 'DIDComm-sent' }], save, }) diff --git a/packages/daf-rest/src/openApiSchema.ts b/packages/daf-rest/src/openApiSchema.ts index 3cf8037ac..62d52cdac 100644 --- a/packages/daf-rest/src/openApiSchema.ts +++ b/packages/daf-rest/src/openApiSchema.ts @@ -6,1849 +6,7 @@ export const openApiSchema: OpenAPIV3.Document = { "version": "" }, "components": { - "schemas": { - "ResolveDidArgs": { - "type": "object", - "properties": { - "didUrl": { - "type": "string", - "description": "DID URL" - } - }, - "required": [ - "didUrl" - ], - "additionalProperties": false, - "description": "Input arguments for {@link IResolver.resolveDid | resolveDid}" - }, - "DIDDocument": { - "type": "object", - "properties": { - "@context": { - "type": "string", - "enum": [ - "https://w3id.org/did/v1" - ] - }, - "id": { - "type": "string" - }, - "publicKey": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PublicKey" - } - }, - "authentication": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Authentication" - } - }, - "uportProfile": {}, - "service": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ServiceEndpoint" - } - }, - "created": { - "type": "string" - }, - "updated": { - "type": "string" - }, - "proof": { - "$ref": "#/components/schemas/LinkedDataProof" - }, - "keyAgreement": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/PublicKey" - } - ] - } - } - }, - "required": [ - "@context", - "id", - "publicKey" - ], - "additionalProperties": false - }, - "PublicKey": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "type": { - "type": "string" - }, - "controller": { - "type": "string" - }, - "ethereumAddress": { - "type": "string" - }, - "publicKeyBase64": { - "type": "string" - }, - "publicKeyBase58": { - "type": "string" - }, - "publicKeyHex": { - "type": "string" - }, - "publicKeyPem": { - "type": "string" - } - }, - "required": [ - "id", - "type", - "controller" - ], - "additionalProperties": false - }, - "Authentication": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "publicKey": { - "type": "string" - } - }, - "required": [ - "type", - "publicKey" - ], - "additionalProperties": false - }, - "ServiceEndpoint": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "type": { - "type": "string" - }, - "serviceEndpoint": { - "type": "string" - }, - "description": { - "type": "string" - } - }, - "required": [ - "id", - "type", - "serviceEndpoint" - ], - "additionalProperties": false - }, - "LinkedDataProof": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "created": { - "type": "string" - }, - "creator": { - "type": "string" - }, - "nonce": { - "type": "string" - }, - "signatureValue": { - "type": "string" - } - }, - "required": [ - "type", - "created", - "creator", - "nonce", - "signatureValue" - ], - "additionalProperties": false - }, - "IIdentityManagerAddKeyArgs": { - "type": "object", - "properties": { - "did": { - "type": "string", - "description": "DID" - }, - "key": { - "$ref": "#/components/schemas/IKey", - "description": "Key object" - }, - "options": { - "description": "Optional. Identity provider specific options" - } - }, - "required": [ - "did", - "key" - ], - "additionalProperties": false, - "description": "Input arguments for {@link IIdentityManager.identityManagerAddKey | identityManagerAddKey}" - }, - "IKey": { - "type": "object", - "properties": { - "kid": { - "type": "string", - "description": "Key ID" - }, - "kms": { - "type": "string", - "description": "Key Management System" - }, - "type": { - "$ref": "#/components/schemas/TKeyType", - "description": "Key type" - }, - "publicKeyHex": { - "type": "string", - "description": "Public key" - }, - "privateKeyHex": { - "type": "string", - "description": "Optional. Private key" - }, - "meta": { - "type": "object", - "description": "Optional. Key metadata. Can be used to store auth data to access remote kms" - } - }, - "required": [ - "kid", - "kms", - "type", - "publicKeyHex" - ], - "additionalProperties": false, - "description": "Cryptographic key" - }, - "TKeyType": { - "type": "string", - "enum": [ - "Ed25519", - "Secp256k1" - ], - "description": "Cryptographic key type" - }, - "IIdentityManagerAddServiceArgs": { - "type": "object", - "properties": { - "did": { - "type": "string", - "description": "DID" - }, - "service": { - "$ref": "#/components/schemas/IService", - "description": "Service object" - }, - "options": { - "description": "Optional. Identity provider specific options" - } - }, - "required": [ - "did", - "service" - ], - "additionalProperties": false, - "description": "Input arguments for {@link IIdentityManager.identityManagerAddService | identityManagerAddService}" - }, - "IService": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "ID" - }, - "type": { - "type": "string", - "description": "Service type" - }, - "serviceEndpoint": { - "type": "string", - "description": "Endpoint URL" - }, - "description": { - "type": "string", - "description": "Optional. Description" - } - }, - "required": [ - "id", - "type", - "serviceEndpoint" - ], - "additionalProperties": false, - "description": "Identity service" - }, - "IIdentityManagerCreateIdentityArgs": { - "type": "object", - "properties": { - "alias": { - "type": "string", - "description": "Optional. Identity alias. Can be used to reference an object in an external system" - }, - "provider": { - "type": "string", - "description": "Optional. Identity provider" - }, - "kms": { - "type": "string", - "description": "Optional. Key Management System" - }, - "options": { - "description": "Optional. Identity provider specific options" - } - }, - "additionalProperties": false, - "description": "Input arguments for {@link IIdentityManager.identityManagerCreateIdentity | identityManagerCreateIdentity}" - }, - "IIdentity": { - "type": "object", - "properties": { - "did": { - "type": "string", - "description": "Decentralized identifier" - }, - "alias": { - "type": "string", - "description": "Optional. Identity alias. Can be used to reference an object in an external system" - }, - "provider": { - "type": "string", - "description": "Identity provider name" - }, - "controllerKeyId": { - "type": "string", - "description": "Controller key id" - }, - "keys": { - "type": "array", - "items": { - "$ref": "#/components/schemas/IKey" - }, - "description": "Array of managed keys" - }, - "services": { - "type": "array", - "items": { - "$ref": "#/components/schemas/IService" - }, - "description": "Array of services" - } - }, - "required": [ - "did", - "provider", - "controllerKeyId", - "keys", - "services" - ], - "additionalProperties": false, - "description": "Identity interface" - }, - "IIdentityManagerDeleteIdentityArgs": { - "type": "object", - "properties": { - "did": { - "type": "string", - "description": "DID" - } - }, - "required": [ - "did" - ], - "additionalProperties": false, - "description": "Input arguments for {@link IIdentityManager.identityManagerDeleteIdentity | identityManagerDeleteIdentity}" - }, - "IIdentityManagerGetIdentitiesArgs": { - "type": "object", - "properties": { - "alias": { - "type": "string", - "description": "Optional. Alias" - }, - "provider": { - "type": "string", - "description": "Optional. Provider" - } - }, - "additionalProperties": false, - "description": "Input arguments for {@link IIdentityManager.identityManagerGetIdentities | identityManagerGetIdentities}" - }, - "IIdentityManagerGetIdentityArgs": { - "type": "object", - "properties": { - "did": { - "type": "string", - "description": "DID" - } - }, - "required": [ - "did" - ], - "additionalProperties": false, - "description": "Input arguments for {@link IIdentityManager.identityManagerGetIdentity | identityManagerGetIdentity}" - }, - "IIdentityManagerGetIdentityByAliasArgs": { - "type": "object", - "properties": { - "alias": { - "type": "string", - "description": "Alias" - }, - "provider": { - "type": "string", - "description": "Optional provider" - } - }, - "required": [ - "alias" - ], - "additionalProperties": false, - "description": "Input arguments for {@link IIdentityManager.identityManagerGetIdentityByAlias | identityManagerGetIdentityByAlias}" - }, - "IIdentityManagerGetOrCreateIdentityArgs": { - "type": "object", - "properties": { - "alias": { - "type": "string", - "description": "Identity alias. Can be used to reference an object in an external system" - }, - "provider": { - "type": "string", - "description": "Optional. Identity provider" - }, - "kms": { - "type": "string", - "description": "Optional. Key Management System" - }, - "options": { - "description": "Optional. Identity provider specific options" - } - }, - "required": [ - "alias" - ], - "additionalProperties": false, - "description": "Input arguments for {@link IIdentityManager.identityManagerGetOrCreateIdentity | identityManagerGetOrCreateIdentity}" - }, - "IIdentityManagerRemoveKeyArgs": { - "type": "object", - "properties": { - "did": { - "type": "string", - "description": "DID" - }, - "kid": { - "type": "string", - "description": "Key ID" - }, - "options": { - "description": "Optional. Identity provider specific options" - } - }, - "required": [ - "did", - "kid" - ], - "additionalProperties": false, - "description": "Input arguments for {@link IIdentityManager.identityManagerRemoveKey | identityManagerRemoveKey}" - }, - "IIdentityManagerRemoveServiceArgs": { - "type": "object", - "properties": { - "did": { - "type": "string", - "description": "DID" - }, - "id": { - "type": "string", - "description": "Service ID" - }, - "options": { - "description": "Optional. Identity provider specific options" - } - }, - "required": [ - "did", - "id" - ], - "additionalProperties": false, - "description": "Input arguments for {@link IIdentityManager.identityManagerRemoveService | identityManagerRemoveService}" - }, - "IHandleMessageArgs": { - "type": "object", - "properties": { - "raw": { - "type": "string", - "description": "Raw message data" - }, - "metaData": { - "type": "array", - "items": { - "$ref": "#/components/schemas/IMetaData" - }, - "description": "Optional. Message meta data" - }, - "save": { - "type": "boolean", - "description": "Optional. If set to `true`, the message will be saved using {@link IDataStore.dataStoreSaveMessage | dataStoreSaveMessage}" - } - }, - "required": [ - "raw" - ], - "additionalProperties": false, - "description": "Input arguments for {@link IMessageHandler.handleMessage | handleMessage}" - }, - "IMetaData": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "Type" - }, - "value": { - "type": "string", - "description": "Optional. Value" - } - }, - "required": [ - "type" - ], - "additionalProperties": false, - "description": "Message meta data" - }, - "IMessage": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique message ID" - }, - "type": { - "type": "string", - "description": "Message type" - }, - "createdAt": { - "type": "string", - "description": "Optional. Creation date (ISO 8601)" - }, - "expiresAt": { - "type": "string", - "description": "Optional. Expiration date (ISO 8601)" - }, - "threadId": { - "type": "string", - "description": "Optional. Thread ID" - }, - "raw": { - "type": "string", - "description": "Optional. Original message raw data" - }, - "data": { - "description": "Optional. Parsed data" - }, - "replyTo": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Optional. List of DIDs to reply to" - }, - "replyUrl": { - "type": "string", - "description": "Optional. URL to post a reply message to" - }, - "from": { - "type": "string", - "description": "Optional. Sender DID" - }, - "to": { - "type": "string", - "description": "Optional. Recipient DID" - }, - "metaData": { - "type": "array", - "items": { - "$ref": "#/components/schemas/IMetaData" - }, - "description": "Optional. Array of message metadata" - }, - "credentials": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VerifiableCredential" - }, - "description": "Optional. Array of attached verifiable credentials" - }, - "presentations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VerifiablePresentation" - }, - "description": "Optional. Array of attached verifiable presentations" - } - }, - "required": [ - "id", - "type" - ], - "additionalProperties": false, - "description": "DIDComm message" - }, - "VerifiableCredential": { - "$ref": "#/components/schemas/Verifiable-W3CCredential", - "description": "Verifiable Credential {@link https://github.com/decentralized-identity/did-jwt-vc}" - }, - "Verifiable-W3CCredential": { - "type": "object", - "additionalProperties": false, - "properties": { - "proof": { - "$ref": "#/components/schemas/Proof" - }, - "id": { - "type": "string" - }, - "credentialSubject": { - "type": "object", - "properties": { - "id": { - "type": "string" - } - } - }, - "credentialStatus": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "type": { - "type": "string" - } - }, - "required": [ - "id", - "type" - ] - }, - "@context": { - "type": "object", - "properties": {} - }, - "type": { - "type": "object", - "properties": {} - }, - "issuer": { - "type": "object", - "properties": { - "id": { - "type": "string" - } - }, - "required": [ - "id" - ] - }, - "issuanceDate": { - "type": "string" - }, - "expirationDate": { - "type": "string" - } - }, - "required": [ - "@context", - "credentialSubject", - "issuanceDate", - "issuer", - "proof", - "type" - ], - "description": "Represents a readonly representation of a verifiable object, including the {@link Proof}\nproperty that can be used to verify it." - }, - "Proof": { - "type": "object", - "properties": { - "type": { - "type": "string" - } - } - }, - "VerifiablePresentation": { - "$ref": "#/components/schemas/Verifiable-W3CPresentation", - "description": "Verifiable Presentation {@link https://github.com/decentralized-identity/did-jwt-vc}" - }, - "Verifiable-W3CPresentation": { - "type": "object", - "additionalProperties": false, - "properties": { - "proof": { - "$ref": "#/components/schemas/Proof" - }, - "id": { - "type": "string" - }, - "holder": { - "type": "string" - }, - "issuanceDate": { - "type": "string" - }, - "expirationDate": { - "type": "string" - }, - "@context": { - "type": "object", - "properties": {} - }, - "type": { - "type": "object", - "properties": {} - }, - "verifier": { - "type": "object", - "properties": {} - }, - "verifiableCredential": { - "type": "object", - "properties": {} - } - }, - "required": [ - "@context", - "holder", - "proof", - "type", - "verifiableCredential", - "verifier" - ], - "description": "Represents a readonly representation of a verifiable object, including the {@link Proof}\nproperty that can be used to verify it." - }, - "IKeyManagerCreateKeyArgs": { - "type": "object", - "properties": { - "type": { - "$ref": "#/components/schemas/TKeyType", - "description": "Key type" - }, - "kms": { - "type": "string", - "description": "Key Management System" - }, - "meta": { - "type": "object", - "description": "Optional. Key meta data" - } - }, - "required": [ - "type", - "kms" - ], - "additionalProperties": false, - "description": "Input arguments for {@link IKeyManager.keyManagerCreateKey | keyManagerCreateKey}" - }, - "IKeyManagerDecryptJWEArgs": { - "type": "object", - "properties": { - "kid": { - "type": "string", - "description": "Key ID" - }, - "data": { - "type": "string", - "description": "Encrypted data" - } - }, - "required": [ - "kid", - "data" - ], - "additionalProperties": false, - "description": "Input arguments for {@link IKeyManager.keyManagerDecryptJWE | keyManagerDecryptJWE}" - }, - "IKeyManagerDeleteKeyArgs": { - "type": "object", - "properties": { - "kid": { - "type": "string", - "description": "Key ID" - } - }, - "required": [ - "kid" - ], - "additionalProperties": false, - "description": "Input arguments for {@link IKeyManager.keyManagerDeleteKey | keyManagerDeleteKey}" - }, - "IKeyManagerEncryptJWEArgs": { - "type": "object", - "properties": { - "kid": { - "type": "string", - "description": "Key ID to use for encryption" - }, - "to": { - "type": "object", - "properties": { - "kid": { - "type": "string", - "description": "Key ID" - }, - "type": { - "$ref": "#/components/schemas/TKeyType", - "description": "Key type" - }, - "publicKeyHex": { - "type": "string", - "description": "Public key" - }, - "privateKeyHex": { - "type": "string", - "description": "Optional. Private key" - }, - "meta": { - "type": "object", - "description": "Optional. Key metadata. Can be used to store auth data to access remote kms" - } - }, - "required": [ - "kid", - "type", - "publicKeyHex" - ], - "additionalProperties": false, - "description": "Recipient key object" - }, - "data": { - "type": "string", - "description": "Data to encrypt" - } - }, - "required": [ - "kid", - "to", - "data" - ], - "additionalProperties": false, - "description": "Input arguments for {@link IKeyManager.keyManagerEncryptJWE | keyManagerEncryptJWE}" - }, - "IKeyManagerGetKeyArgs": { - "type": "object", - "properties": { - "kid": { - "type": "string", - "description": "Key ID" - } - }, - "required": [ - "kid" - ], - "additionalProperties": false, - "description": "Input arguments for {@link IKeyManager.keyManagerGetKey | keyManagerGetKey}" - }, - "IKeyManagerSignEthTXArgs": { - "type": "object", - "properties": { - "kid": { - "type": "string", - "description": "Key ID" - }, - "transaction": { - "type": "object", - "description": "Ethereum transaction object" - } - }, - "required": [ - "kid", - "transaction" - ], - "additionalProperties": false, - "description": "Input arguments for {@link IKeyManager.keyManagerSignEthTX | keyManagerSignEthTX}" - }, - "IKeyManagerSignJWTArgs": { - "type": "object", - "properties": { - "kid": { - "type": "string", - "description": "Key ID" - }, - "data": { - "type": "string", - "description": "Data to sign" - } - }, - "required": [ - "kid", - "data" - ], - "additionalProperties": false, - "description": "Input arguments for {@link IKeyManager.keyManagerSignJWT | keyManagerSignJWT}" - }, - "ICreateVerifiableCredentialArgs": { - "type": "object", - "properties": { - "credential": { - "$ref": "#/components/schemas/W3CCredential", - "description": "The json payload of the Credential according to the\n{@link https://www.w3.org/TR/vc-data-model/#credentials | canonical model}\n\nThe signer of the Credential is chosen based on the `issuer.id` property\nof the `credential`" - }, - "save": { - "type": "boolean", - "description": "If this parameter is true, the resulting VerifiablePresentation is sent to the\n{@link daf-core#IDataStore | storage plugin} to be saved" - }, - "proofFormat": { - "$ref": "#/components/schemas/EncodingFormat", - "description": "The desired format for the VerifiablePresentation to be created.\nCurrently, only JWT is supported" - } - }, - "required": [ - "credential", - "proofFormat" - ], - "additionalProperties": false, - "description": "Encapsulates the parameters required to create a\n{@link https://www.w3.org/TR/vc-data-model/#credentials | W3C Verifiable Credential}" - }, - "W3CCredential": { - "type": "object", - "properties": { - "@context": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "array", - "items": { - "type": "string" - } - }, - "issuer": { - "type": "object", - "properties": { - "id": { - "type": "string" - } - }, - "required": [ - "id" - ] - }, - "issuanceDate": { - "type": "string" - }, - "expirationDate": { - "type": "string" - }, - "id": { - "type": "string" - }, - "credentialSubject": { - "type": "object", - "properties": { - "id": { - "type": "string" - } - } - }, - "credentialStatus": { - "$ref": "#/components/schemas/CredentialStatus" - } - }, - "required": [ - "@context", - "credentialSubject", - "issuanceDate", - "issuer", - "type" - ], - "description": "This data type represents a parsed VerifiableCredential.\nIt is meant to be an unambiguous representation of the properties of a Credential and is usually the result of a transformation method.\n\n`issuer` is always an object with an `id` property and potentially other app specific issuer claims\n`issuanceDate` is an ISO DateTime string\n`expirationDate`, is a nullable ISO DateTime string\n\nAny JWT specific properties are transformed to the broader W3C variant and any app specific properties are left intact" - }, - "CredentialStatus": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "type": { - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "additionalProperties": false - }, - "EncodingFormat": { - "type": "string", - "enum": [ - "jwt" - ], - "description": "The type of encoding to be used for the Verifiable Credential or Presentation to be generated.\n\nOnly `jwt` is supported at the moment." - }, - "ICreateVerifiablePresentationArgs": { - "type": "object", - "properties": { - "presentation": { - "$ref": "#/components/schemas/W3CPresentation", - "description": "The json payload of the Presentation according to the\n{@link https://www.w3.org/TR/vc-data-model/#presentations | canonical model}.\n\nThe signer of the Presentation is chosen based on the `holder` property\nof the `presentation`" - }, - "save": { - "type": "boolean", - "description": "If this parameter is true, the resulting VerifiablePresentation is sent to the\n{@link daf-core#IDataStore | storage plugin} to be saved" - }, - "proofFormat": { - "$ref": "#/components/schemas/EncodingFormat", - "description": "The desired format for the VerifiablePresentation to be created.\nCurrently, only JWT is supported" - } - }, - "required": [ - "presentation", - "proofFormat" - ], - "additionalProperties": false, - "description": "Encapsulates the parameters required to create a\n{@link https://www.w3.org/TR/vc-data-model/#presentations | W3C Verifiable Presentation}" - }, - "W3CPresentation": { - "type": "object", - "properties": { - "@context": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "array", - "items": { - "type": "string" - } - }, - "verifier": { - "type": "array", - "items": { - "type": "string" - } - }, - "verifiableCredential": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Verifiable-W3CCredential" - } - }, - "id": { - "type": "string" - }, - "holder": { - "type": "string" - }, - "issuanceDate": { - "type": "string" - }, - "expirationDate": { - "type": "string" - } - }, - "required": [ - "@context", - "holder", - "type", - "verifiableCredential", - "verifier" - ], - "description": "This data type represents a parsed Presentation payload.\nIt is meant to be an unambiguous representation of the properties of a Presentation and is usually the result of a transformation method.\n\nThe `verifiableCredential` array should contain parsed `Verifiable-Credential` elements.\nAny JWT specific properties are transformed to the broader W3C variant and any other app specific properties are left intact." - }, - "ICreateSelectiveDisclosureRequestArgs": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/ISelectiveDisclosureRequest" - } - }, - "required": [ - "data" - ], - "additionalProperties": false, - "description": "Contains the parameters of a Selective Disclosure Request." - }, - "ISelectiveDisclosureRequest": { - "type": "object", - "properties": { - "issuer": { - "type": "string", - "description": "The issuer of the request" - }, - "subject": { - "type": "string", - "description": "The target of the request" - }, - "replyUrl": { - "type": "string", - "description": "The URL where the response should be sent back" - }, - "tag": { - "type": "string" - }, - "claims": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ICredentialRequestInput" - }, - "description": "A list of claims that are being requested" - }, - "credentials": { - "type": "array", - "items": { - "type": "string" - }, - "description": "A list of issuer credentials that the target will use to establish trust" - } - }, - "required": [ - "issuer", - "claims" - ], - "additionalProperties": false, - "description": "Represents the Selective Disclosure request parameters." - }, - "ICredentialRequestInput": { - "type": "object", - "properties": { - "reason": { - "type": "string", - "description": "Motive for requiring this credential." - }, - "essential": { - "type": "boolean", - "description": "If it is essential. A response that does not include this credential is not sufficient." - }, - "credentialType": { - "type": "string", - "description": "The credential type. See {@link https://www.w3.org/TR/vc-data-model/#types | W3C Credential Types}" - }, - "credentialContext": { - "type": "string", - "description": "The credential context. See {@link https://www.w3.org/TR/vc-data-model/#contexts | W3C Credential Context}" - }, - "claimType": { - "type": "string", - "description": "The name of the claim property that the credential should express." - }, - "claimValue": { - "type": "string", - "description": "The value of the claim that the credential should express." - }, - "issuers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Issuer" - }, - "description": "A list of accepted Issuers for this credential." - } - }, - "required": [ - "claimType" - ], - "additionalProperties": false, - "description": "Describes a particular credential that is being requested" - }, - "Issuer": { - "type": "object", - "properties": { - "did": { - "type": "string", - "description": "The DID of the issuer of a requested credential." - }, - "url": { - "type": "string", - "description": "A URL where a credential of that type can be obtained." - } - }, - "required": [ - "did", - "url" - ], - "additionalProperties": false, - "description": "Used for requesting Credentials using Selective Disclosure.\nRepresents an accepted issuer of a credential." - }, - "IGetVerifiableCredentialsForSdrArgs": { - "type": "object", - "properties": { - "sdr": { - "type": "object", - "properties": { - "subject": { - "type": "string", - "description": "The target of the request" - }, - "replyUrl": { - "type": "string", - "description": "The URL where the response should be sent back" - }, - "tag": { - "type": "string" - }, - "claims": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ICredentialRequestInput" - }, - "description": "A list of claims that are being requested" - }, - "credentials": { - "type": "array", - "items": { - "type": "string" - }, - "description": "A list of issuer credentials that the target will use to establish trust" - } - }, - "required": [ - "claims" - ], - "additionalProperties": false, - "description": "The Selective Disclosure Request (issuer is omitted)" - }, - "did": { - "type": "string", - "description": "The DID of the subject" - } - }, - "required": [ - "sdr" - ], - "additionalProperties": false, - "description": "Encapsulates the params needed to gather credentials to fulfill a Selective disclosure request." - }, - "ICredentialsForSdr": { - "type": "object", - "properties": { - "reason": { - "type": "string", - "description": "Motive for requiring this credential." - }, - "essential": { - "type": "boolean", - "description": "If it is essential. A response that does not include this credential is not sufficient." - }, - "credentialType": { - "type": "string", - "description": "The credential type. See {@link https://www.w3.org/TR/vc-data-model/#types | W3C Credential Types}" - }, - "credentialContext": { - "type": "string", - "description": "The credential context. See {@link https://www.w3.org/TR/vc-data-model/#contexts | W3C Credential Context}" - }, - "claimType": { - "type": "string", - "description": "The name of the claim property that the credential should express." - }, - "claimValue": { - "type": "string", - "description": "The value of the claim that the credential should express." - }, - "issuers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Issuer" - }, - "description": "A list of accepted Issuers for this credential." - }, - "credentials": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VerifiableCredential" - } - } - }, - "required": [ - "claimType", - "credentials" - ], - "additionalProperties": false, - "description": "The credentials that make up a response of a Selective Disclosure" - }, - "IValidatePresentationAgainstSdrArgs": { - "type": "object", - "properties": { - "presentation": { - "$ref": "#/components/schemas/VerifiablePresentation" - }, - "sdr": { - "$ref": "#/components/schemas/ISelectiveDisclosureRequest" - } - }, - "required": [ - "presentation", - "sdr" - ], - "additionalProperties": false, - "description": "A tuple used to verify a Selective Disclosure Response.\nEncapsulates the response(`presentation`) and the corresponding request (`sdr`) that made it." - }, - "IPresentationValidationResult": { - "type": "object", - "properties": { - "valid": { - "type": "boolean" - }, - "claims": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ICredentialsForSdr" - } - } - }, - "required": [ - "valid", - "claims" - ], - "additionalProperties": false, - "description": "The result of a selective disclosure response validation." - }, - "ISendMessageDIDCommAlpha1Args": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "save": { - "type": "boolean" - }, - "data": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "from": { - "type": "string" - }, - "to": { - "type": "string" - }, - "type": { - "type": "string" - }, - "body": {} - }, - "required": [ - "from", - "to", - "type", - "body" - ], - "additionalProperties": false - } - }, - "required": [ - "data" - ], - "additionalProperties": false, - "description": "Input arguments for {@link IDIDComm.sendMessageDIDCommAlpha1}" - }, - "FindIdentitiesArgs": { - "$ref": "#/components/schemas/FindArgs-TIdentitiesColumns" - }, - "FindArgs-TIdentitiesColumns": { - "type": "object", - "properties": { - "where": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Where-TIdentitiesColumns" - } - }, - "order": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Order-TIdentitiesColumns" - } - }, - "take": { - "type": "number" - }, - "skip": { - "type": "number" - } - }, - "additionalProperties": false - }, - "Where-TIdentitiesColumns": { - "type": "object", - "properties": { - "column": { - "$ref": "#/components/schemas/TIdentitiesColumns" - }, - "value": { - "type": "array", - "items": { - "type": "string" - } - }, - "not": { - "type": "boolean" - }, - "op": { - "type": "string", - "enum": [ - "LessThan", - "LessThanOrEqual", - "MoreThan", - "MoreThanOrEqual", - "Equal", - "Like", - "Between", - "In", - "Any", - "IsNull" - ] - } - }, - "required": [ - "column" - ], - "additionalProperties": false - }, - "TIdentitiesColumns": { - "type": "string", - "enum": [ - "did", - "alias", - "provider" - ] - }, - "Order-TIdentitiesColumns": { - "type": "object", - "properties": { - "column": { - "$ref": "#/components/schemas/TIdentitiesColumns" - }, - "direction": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } - }, - "required": [ - "column", - "direction" - ], - "additionalProperties": false - }, - "FindMessagesArgs": { - "$ref": "#/components/schemas/FindArgs-TMessageColumns" - }, - "FindArgs-TMessageColumns": { - "type": "object", - "properties": { - "where": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Where-TMessageColumns" - } - }, - "order": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Order-TMessageColumns" - } - }, - "take": { - "type": "number" - }, - "skip": { - "type": "number" - } - }, - "additionalProperties": false - }, - "Where-TMessageColumns": { - "type": "object", - "properties": { - "column": { - "$ref": "#/components/schemas/TMessageColumns" - }, - "value": { - "type": "array", - "items": { - "type": "string" - } - }, - "not": { - "type": "boolean" - }, - "op": { - "type": "string", - "enum": [ - "LessThan", - "LessThanOrEqual", - "MoreThan", - "MoreThanOrEqual", - "Equal", - "Like", - "Between", - "In", - "Any", - "IsNull" - ] - } - }, - "required": [ - "column" - ], - "additionalProperties": false - }, - "TMessageColumns": { - "type": "string", - "enum": [ - "from", - "to", - "id", - "createdAt", - "expiresAt", - "threadId", - "type", - "raw", - "replyTo", - "replyUrl" - ] - }, - "Order-TMessageColumns": { - "type": "object", - "properties": { - "column": { - "$ref": "#/components/schemas/TMessageColumns" - }, - "direction": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } - }, - "required": [ - "column", - "direction" - ], - "additionalProperties": false - }, - "FindCredentialsArgs": { - "$ref": "#/components/schemas/FindArgs-TCredentialColumns" - }, - "FindArgs-TCredentialColumns": { - "type": "object", - "properties": { - "where": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Where-TCredentialColumns" - } - }, - "order": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Order-TCredentialColumns" - } - }, - "take": { - "type": "number" - }, - "skip": { - "type": "number" - } - }, - "additionalProperties": false - }, - "Where-TCredentialColumns": { - "type": "object", - "properties": { - "column": { - "$ref": "#/components/schemas/TCredentialColumns" - }, - "value": { - "type": "array", - "items": { - "type": "string" - } - }, - "not": { - "type": "boolean" - }, - "op": { - "type": "string", - "enum": [ - "LessThan", - "LessThanOrEqual", - "MoreThan", - "MoreThanOrEqual", - "Equal", - "Like", - "Between", - "In", - "Any", - "IsNull" - ] - } - }, - "required": [ - "column" - ], - "additionalProperties": false - }, - "TCredentialColumns": { - "type": "string", - "enum": [ - "context", - "type", - "id", - "issuer", - "subject", - "expirationDate", - "issuanceDate" - ] - }, - "Order-TCredentialColumns": { - "type": "object", - "properties": { - "column": { - "$ref": "#/components/schemas/TCredentialColumns" - }, - "direction": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } - }, - "required": [ - "column", - "direction" - ], - "additionalProperties": false - }, - "FindClaimsArgs": { - "$ref": "#/components/schemas/FindArgs-TClaimsColumns" - }, - "FindArgs-TClaimsColumns": { - "type": "object", - "properties": { - "where": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Where-TClaimsColumns" - } - }, - "order": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Order-TClaimsColumns" - } - }, - "take": { - "type": "number" - }, - "skip": { - "type": "number" - } - }, - "additionalProperties": false - }, - "Where-TClaimsColumns": { - "type": "object", - "properties": { - "column": { - "$ref": "#/components/schemas/TClaimsColumns" - }, - "value": { - "type": "array", - "items": { - "type": "string" - } - }, - "not": { - "type": "boolean" - }, - "op": { - "type": "string", - "enum": [ - "LessThan", - "LessThanOrEqual", - "MoreThan", - "MoreThanOrEqual", - "Equal", - "Like", - "Between", - "In", - "Any", - "IsNull" - ] - } - }, - "required": [ - "column" - ], - "additionalProperties": false - }, - "TClaimsColumns": { - "type": "string", - "enum": [ - "context", - "credentialType", - "type", - "value", - "isObj", - "id", - "issuer", - "subject", - "expirationDate", - "issuanceDate" - ] - }, - "Order-TClaimsColumns": { - "type": "object", - "properties": { - "column": { - "$ref": "#/components/schemas/TClaimsColumns" - }, - "direction": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } - }, - "required": [ - "column", - "direction" - ], - "additionalProperties": false - }, - "FindPresentationsArgs": { - "$ref": "#/components/schemas/FindArgs-TPresentationColumns" - }, - "FindArgs-TPresentationColumns": { - "type": "object", - "properties": { - "where": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Where-TPresentationColumns" - } - }, - "order": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Order-TPresentationColumns" - } - }, - "take": { - "type": "number" - }, - "skip": { - "type": "number" - } - }, - "additionalProperties": false - }, - "Where-TPresentationColumns": { - "type": "object", - "properties": { - "column": { - "$ref": "#/components/schemas/TPresentationColumns" - }, - "value": { - "type": "array", - "items": { - "type": "string" - } - }, - "not": { - "type": "boolean" - }, - "op": { - "type": "string", - "enum": [ - "LessThan", - "LessThanOrEqual", - "MoreThan", - "MoreThanOrEqual", - "Equal", - "Like", - "Between", - "In", - "Any", - "IsNull" - ] - } - }, - "required": [ - "column" - ], - "additionalProperties": false - }, - "TPresentationColumns": { - "type": "string", - "enum": [ - "context", - "type", - "id", - "holder", - "verifier", - "expirationDate", - "issuanceDate" - ] - }, - "Order-TPresentationColumns": { - "type": "object", - "properties": { - "column": { - "$ref": "#/components/schemas/TPresentationColumns" - }, - "direction": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] - } - }, - "required": [ - "column", - "direction" - ], - "additionalProperties": false - } - } + "schemas": {} }, "paths": { "/resolveDid": { @@ -1859,7 +17,18 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ResolveDidArgs" + "type": "object", + "properties": { + "didUrl": { + "type": "string", + "description": "DID URL" + } + }, + "required": [ + "didUrl" + ], + "additionalProperties": false, + "description": "Input arguments for {@link IResolver.resolveDid | resolveDid}" } } } @@ -1870,7 +39,189 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DIDDocument" + "type": "object", + "properties": { + "@context": { + "type": "string", + "enum": [ + "https://w3id.org/did/v1" + ] + }, + "id": { + "type": "string" + }, + "publicKey": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + }, + "controller": { + "type": "string" + }, + "ethereumAddress": { + "type": "string" + }, + "publicKeyBase64": { + "type": "string" + }, + "publicKeyBase58": { + "type": "string" + }, + "publicKeyHex": { + "type": "string" + }, + "publicKeyPem": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "controller" + ], + "additionalProperties": false + } + }, + "authentication": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "publicKey": { + "type": "string" + } + }, + "required": [ + "type", + "publicKey" + ], + "additionalProperties": false + } + }, + "uportProfile": { + "type": "object" + }, + "service": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + }, + "serviceEndpoint": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "serviceEndpoint" + ], + "additionalProperties": false + } + }, + "created": { + "type": "string" + }, + "updated": { + "type": "string" + }, + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "created": { + "type": "string" + }, + "creator": { + "type": "string" + }, + "nonce": { + "type": "string" + }, + "signatureValue": { + "type": "string" + } + }, + "required": [ + "type", + "created", + "creator", + "nonce", + "signatureValue" + ], + "additionalProperties": false + }, + "keyAgreement": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + }, + "controller": { + "type": "string" + }, + "ethereumAddress": { + "type": "string" + }, + "publicKeyBase64": { + "type": "string" + }, + "publicKeyBase58": { + "type": "string" + }, + "publicKeyHex": { + "type": "string" + }, + "publicKeyPem": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "controller" + ], + "additionalProperties": false + } + ] + } + } + }, + "required": [ + "@context", + "id", + "publicKey" + ], + "additionalProperties": false } } } @@ -1886,7 +237,64 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IIdentityManagerAddKeyArgs" + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "DID" + }, + "key": { + "description": "Key object", + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + }, + "kms": { + "type": "string", + "description": "Key Management System" + }, + "type": { + "description": "Key type", + "type": "string", + "enum": [ + "Ed25519", + "Secp256k1" + ] + }, + "publicKeyHex": { + "type": "string", + "description": "Public key" + }, + "privateKeyHex": { + "type": "string", + "description": "Optional. Private key" + }, + "meta": { + "type": "object", + "description": "Optional. Key metadata. Can be used to store auth data to access remote kms" + } + }, + "required": [ + "kid", + "kms", + "type", + "publicKeyHex" + ], + "additionalProperties": false + }, + "options": { + "type": "object", + "description": "Optional. Identity provider specific options" + } + }, + "required": [ + "did", + "key" + ], + "additionalProperties": false, + "description": "Input arguments for {@link IIdentityManager.identityManagerAddKey | identityManagerAddKey}" } } } @@ -1896,7 +304,9 @@ export const openApiSchema: OpenAPIV3.Document = { "description": "Adds a key to a DID Document", "content": { "application/json": { - "schema": {} + "schema": { + "type": "object" + } } } } @@ -1911,7 +321,51 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IIdentityManagerAddServiceArgs" + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "DID" + }, + "service": { + "description": "Service object", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID" + }, + "type": { + "type": "string", + "description": "Service type" + }, + "serviceEndpoint": { + "type": "string", + "description": "Endpoint URL" + }, + "description": { + "type": "string", + "description": "Optional. Description" + } + }, + "required": [ + "id", + "type", + "serviceEndpoint" + ], + "additionalProperties": false + }, + "options": { + "type": "object", + "description": "Optional. Identity provider specific options" + } + }, + "required": [ + "did", + "service" + ], + "additionalProperties": false, + "description": "Input arguments for {@link IIdentityManager.identityManagerAddService | identityManagerAddService}" } } } @@ -1921,7 +375,9 @@ export const openApiSchema: OpenAPIV3.Document = { "description": "Adds a service to a DID Document", "content": { "application/json": { - "schema": {} + "schema": { + "type": "object" + } } } } @@ -1936,7 +392,27 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IIdentityManagerCreateIdentityArgs" + "type": "object", + "properties": { + "alias": { + "type": "string", + "description": "Optional. Identity alias. Can be used to reference an object in an external system" + }, + "provider": { + "type": "string", + "description": "Optional. Identity provider" + }, + "kms": { + "type": "string", + "description": "Optional. Key Management System" + }, + "options": { + "type": "object", + "description": "Optional. Identity provider specific options" + } + }, + "additionalProperties": false, + "description": "Input arguments for {@link IIdentityManager.identityManagerCreateIdentity | identityManagerCreateIdentity}" } } } @@ -1947,7 +423,111 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IIdentity" + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "Decentralized identifier" + }, + "alias": { + "type": "string", + "description": "Optional. Identity alias. Can be used to reference an object in an external system" + }, + "provider": { + "type": "string", + "description": "Identity provider name" + }, + "controllerKeyId": { + "type": "string", + "description": "Controller key id" + }, + "keys": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + }, + "kms": { + "type": "string", + "description": "Key Management System" + }, + "type": { + "description": "Key type", + "type": "string", + "enum": [ + "Ed25519", + "Secp256k1" + ] + }, + "publicKeyHex": { + "type": "string", + "description": "Public key" + }, + "privateKeyHex": { + "type": "string", + "description": "Optional. Private key" + }, + "meta": { + "type": "object", + "description": "Optional. Key metadata. Can be used to store auth data to access remote kms" + } + }, + "required": [ + "kid", + "kms", + "type", + "publicKeyHex" + ], + "additionalProperties": false, + "description": "Cryptographic key" + }, + "description": "Array of managed keys" + }, + "services": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID" + }, + "type": { + "type": "string", + "description": "Service type" + }, + "serviceEndpoint": { + "type": "string", + "description": "Endpoint URL" + }, + "description": { + "type": "string", + "description": "Optional. Description" + } + }, + "required": [ + "id", + "type", + "serviceEndpoint" + ], + "additionalProperties": false, + "description": "Identity service" + }, + "description": "Array of services" + } + }, + "required": [ + "did", + "provider", + "controllerKeyId", + "keys", + "services" + ], + "additionalProperties": false, + "description": "Identity interface" } } } @@ -1963,7 +543,18 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IIdentityManagerDeleteIdentityArgs" + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "DID" + } + }, + "required": [ + "did" + ], + "additionalProperties": false, + "description": "Input arguments for {@link IIdentityManager.identityManagerDeleteIdentity | identityManagerDeleteIdentity}" } } } @@ -1990,7 +581,19 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IIdentityManagerGetIdentitiesArgs" + "type": "object", + "properties": { + "alias": { + "type": "string", + "description": "Optional. Alias" + }, + "provider": { + "type": "string", + "description": "Optional. Provider" + } + }, + "additionalProperties": false, + "description": "Input arguments for {@link IIdentityManager.identityManagerGetIdentities | identityManagerGetIdentities}" } } } @@ -2003,7 +606,111 @@ export const openApiSchema: OpenAPIV3.Document = { "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/IIdentity" + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "Decentralized identifier" + }, + "alias": { + "type": "string", + "description": "Optional. Identity alias. Can be used to reference an object in an external system" + }, + "provider": { + "type": "string", + "description": "Identity provider name" + }, + "controllerKeyId": { + "type": "string", + "description": "Controller key id" + }, + "keys": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + }, + "kms": { + "type": "string", + "description": "Key Management System" + }, + "type": { + "description": "Key type", + "type": "string", + "enum": [ + "Ed25519", + "Secp256k1" + ] + }, + "publicKeyHex": { + "type": "string", + "description": "Public key" + }, + "privateKeyHex": { + "type": "string", + "description": "Optional. Private key" + }, + "meta": { + "type": "object", + "description": "Optional. Key metadata. Can be used to store auth data to access remote kms" + } + }, + "required": [ + "kid", + "kms", + "type", + "publicKeyHex" + ], + "additionalProperties": false, + "description": "Cryptographic key" + }, + "description": "Array of managed keys" + }, + "services": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID" + }, + "type": { + "type": "string", + "description": "Service type" + }, + "serviceEndpoint": { + "type": "string", + "description": "Endpoint URL" + }, + "description": { + "type": "string", + "description": "Optional. Description" + } + }, + "required": [ + "id", + "type", + "serviceEndpoint" + ], + "additionalProperties": false, + "description": "Identity service" + }, + "description": "Array of services" + } + }, + "required": [ + "did", + "provider", + "controllerKeyId", + "keys", + "services" + ], + "additionalProperties": false, + "description": "Identity interface" } } } @@ -2020,7 +727,18 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IIdentityManagerGetIdentityArgs" + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "DID" + } + }, + "required": [ + "did" + ], + "additionalProperties": false, + "description": "Input arguments for {@link IIdentityManager.identityManagerGetIdentity | identityManagerGetIdentity}" } } } @@ -2031,7 +749,111 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IIdentity" + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "Decentralized identifier" + }, + "alias": { + "type": "string", + "description": "Optional. Identity alias. Can be used to reference an object in an external system" + }, + "provider": { + "type": "string", + "description": "Identity provider name" + }, + "controllerKeyId": { + "type": "string", + "description": "Controller key id" + }, + "keys": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + }, + "kms": { + "type": "string", + "description": "Key Management System" + }, + "type": { + "description": "Key type", + "type": "string", + "enum": [ + "Ed25519", + "Secp256k1" + ] + }, + "publicKeyHex": { + "type": "string", + "description": "Public key" + }, + "privateKeyHex": { + "type": "string", + "description": "Optional. Private key" + }, + "meta": { + "type": "object", + "description": "Optional. Key metadata. Can be used to store auth data to access remote kms" + } + }, + "required": [ + "kid", + "kms", + "type", + "publicKeyHex" + ], + "additionalProperties": false, + "description": "Cryptographic key" + }, + "description": "Array of managed keys" + }, + "services": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID" + }, + "type": { + "type": "string", + "description": "Service type" + }, + "serviceEndpoint": { + "type": "string", + "description": "Endpoint URL" + }, + "description": { + "type": "string", + "description": "Optional. Description" + } + }, + "required": [ + "id", + "type", + "serviceEndpoint" + ], + "additionalProperties": false, + "description": "Identity service" + }, + "description": "Array of services" + } + }, + "required": [ + "did", + "provider", + "controllerKeyId", + "keys", + "services" + ], + "additionalProperties": false, + "description": "Identity interface" } } } @@ -2047,7 +869,22 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IIdentityManagerGetIdentityByAliasArgs" + "type": "object", + "properties": { + "alias": { + "type": "string", + "description": "Alias" + }, + "provider": { + "type": "string", + "description": "Optional provider" + } + }, + "required": [ + "alias" + ], + "additionalProperties": false, + "description": "Input arguments for {@link IIdentityManager.identityManagerGetIdentityByAlias | identityManagerGetIdentityByAlias}" } } } @@ -2058,7 +895,111 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IIdentity" + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "Decentralized identifier" + }, + "alias": { + "type": "string", + "description": "Optional. Identity alias. Can be used to reference an object in an external system" + }, + "provider": { + "type": "string", + "description": "Identity provider name" + }, + "controllerKeyId": { + "type": "string", + "description": "Controller key id" + }, + "keys": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + }, + "kms": { + "type": "string", + "description": "Key Management System" + }, + "type": { + "description": "Key type", + "type": "string", + "enum": [ + "Ed25519", + "Secp256k1" + ] + }, + "publicKeyHex": { + "type": "string", + "description": "Public key" + }, + "privateKeyHex": { + "type": "string", + "description": "Optional. Private key" + }, + "meta": { + "type": "object", + "description": "Optional. Key metadata. Can be used to store auth data to access remote kms" + } + }, + "required": [ + "kid", + "kms", + "type", + "publicKeyHex" + ], + "additionalProperties": false, + "description": "Cryptographic key" + }, + "description": "Array of managed keys" + }, + "services": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID" + }, + "type": { + "type": "string", + "description": "Service type" + }, + "serviceEndpoint": { + "type": "string", + "description": "Endpoint URL" + }, + "description": { + "type": "string", + "description": "Optional. Description" + } + }, + "required": [ + "id", + "type", + "serviceEndpoint" + ], + "additionalProperties": false, + "description": "Identity service" + }, + "description": "Array of services" + } + }, + "required": [ + "did", + "provider", + "controllerKeyId", + "keys", + "services" + ], + "additionalProperties": false, + "description": "Identity interface" } } } @@ -2074,7 +1015,30 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IIdentityManagerGetOrCreateIdentityArgs" + "type": "object", + "properties": { + "alias": { + "type": "string", + "description": "Identity alias. Can be used to reference an object in an external system" + }, + "provider": { + "type": "string", + "description": "Optional. Identity provider" + }, + "kms": { + "type": "string", + "description": "Optional. Key Management System" + }, + "options": { + "type": "object", + "description": "Optional. Identity provider specific options" + } + }, + "required": [ + "alias" + ], + "additionalProperties": false, + "description": "Input arguments for {@link IIdentityManager.identityManagerGetOrCreateIdentity | identityManagerGetOrCreateIdentity}" } } } @@ -2085,7 +1049,111 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IIdentity" + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "Decentralized identifier" + }, + "alias": { + "type": "string", + "description": "Optional. Identity alias. Can be used to reference an object in an external system" + }, + "provider": { + "type": "string", + "description": "Identity provider name" + }, + "controllerKeyId": { + "type": "string", + "description": "Controller key id" + }, + "keys": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + }, + "kms": { + "type": "string", + "description": "Key Management System" + }, + "type": { + "description": "Key type", + "type": "string", + "enum": [ + "Ed25519", + "Secp256k1" + ] + }, + "publicKeyHex": { + "type": "string", + "description": "Public key" + }, + "privateKeyHex": { + "type": "string", + "description": "Optional. Private key" + }, + "meta": { + "type": "object", + "description": "Optional. Key metadata. Can be used to store auth data to access remote kms" + } + }, + "required": [ + "kid", + "kms", + "type", + "publicKeyHex" + ], + "additionalProperties": false, + "description": "Cryptographic key" + }, + "description": "Array of managed keys" + }, + "services": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID" + }, + "type": { + "type": "string", + "description": "Service type" + }, + "serviceEndpoint": { + "type": "string", + "description": "Endpoint URL" + }, + "description": { + "type": "string", + "description": "Optional. Description" + } + }, + "required": [ + "id", + "type", + "serviceEndpoint" + ], + "additionalProperties": false, + "description": "Identity service" + }, + "description": "Array of services" + } + }, + "required": [ + "did", + "provider", + "controllerKeyId", + "keys", + "services" + ], + "additionalProperties": false, + "description": "Identity interface" } } } @@ -2100,7 +1168,9 @@ export const openApiSchema: OpenAPIV3.Document = { "requestBody": { "content": { "application/json": { - "schema": {} + "schema": { + "type": "object" + } } } }, @@ -2129,7 +1199,111 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IIdentity" + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "Decentralized identifier" + }, + "alias": { + "type": "string", + "description": "Optional. Identity alias. Can be used to reference an object in an external system" + }, + "provider": { + "type": "string", + "description": "Identity provider name" + }, + "controllerKeyId": { + "type": "string", + "description": "Controller key id" + }, + "keys": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + }, + "kms": { + "type": "string", + "description": "Key Management System" + }, + "type": { + "description": "Key type", + "type": "string", + "enum": [ + "Ed25519", + "Secp256k1" + ] + }, + "publicKeyHex": { + "type": "string", + "description": "Public key" + }, + "privateKeyHex": { + "type": "string", + "description": "Optional. Private key" + }, + "meta": { + "type": "object", + "description": "Optional. Key metadata. Can be used to store auth data to access remote kms" + } + }, + "required": [ + "kid", + "kms", + "type", + "publicKeyHex" + ], + "additionalProperties": false, + "description": "Cryptographic key" + }, + "description": "Array of managed keys" + }, + "services": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID" + }, + "type": { + "type": "string", + "description": "Service type" + }, + "serviceEndpoint": { + "type": "string", + "description": "Endpoint URL" + }, + "description": { + "type": "string", + "description": "Optional. Description" + } + }, + "required": [ + "id", + "type", + "serviceEndpoint" + ], + "additionalProperties": false, + "description": "Identity service" + }, + "description": "Array of services" + } + }, + "required": [ + "did", + "provider", + "controllerKeyId", + "keys", + "services" + ], + "additionalProperties": false, + "description": "Identity interface" } } } @@ -2140,7 +1314,111 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IIdentity" + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "Decentralized identifier" + }, + "alias": { + "type": "string", + "description": "Optional. Identity alias. Can be used to reference an object in an external system" + }, + "provider": { + "type": "string", + "description": "Identity provider name" + }, + "controllerKeyId": { + "type": "string", + "description": "Controller key id" + }, + "keys": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + }, + "kms": { + "type": "string", + "description": "Key Management System" + }, + "type": { + "description": "Key type", + "type": "string", + "enum": [ + "Ed25519", + "Secp256k1" + ] + }, + "publicKeyHex": { + "type": "string", + "description": "Public key" + }, + "privateKeyHex": { + "type": "string", + "description": "Optional. Private key" + }, + "meta": { + "type": "object", + "description": "Optional. Key metadata. Can be used to store auth data to access remote kms" + } + }, + "required": [ + "kid", + "kms", + "type", + "publicKeyHex" + ], + "additionalProperties": false, + "description": "Cryptographic key" + }, + "description": "Array of managed keys" + }, + "services": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID" + }, + "type": { + "type": "string", + "description": "Service type" + }, + "serviceEndpoint": { + "type": "string", + "description": "Endpoint URL" + }, + "description": { + "type": "string", + "description": "Optional. Description" + } + }, + "required": [ + "id", + "type", + "serviceEndpoint" + ], + "additionalProperties": false, + "description": "Identity service" + }, + "description": "Array of services" + } + }, + "required": [ + "did", + "provider", + "controllerKeyId", + "keys", + "services" + ], + "additionalProperties": false, + "description": "Identity interface" } } } @@ -2156,7 +1434,27 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IIdentityManagerRemoveKeyArgs" + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "DID" + }, + "kid": { + "type": "string", + "description": "Key ID" + }, + "options": { + "type": "object", + "description": "Optional. Identity provider specific options" + } + }, + "required": [ + "did", + "kid" + ], + "additionalProperties": false, + "description": "Input arguments for {@link IIdentityManager.identityManagerRemoveKey | identityManagerRemoveKey}" } } } @@ -2166,7 +1464,9 @@ export const openApiSchema: OpenAPIV3.Document = { "description": "Removes a key from a DID Document", "content": { "application/json": { - "schema": {} + "schema": { + "type": "object" + } } } } @@ -2181,7 +1481,27 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IIdentityManagerRemoveServiceArgs" + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "DID" + }, + "id": { + "type": "string", + "description": "Service ID" + }, + "options": { + "type": "object", + "description": "Optional. Identity provider specific options" + } + }, + "required": [ + "did", + "id" + ], + "additionalProperties": false, + "description": "Input arguments for {@link IIdentityManager.identityManagerRemoveService | identityManagerRemoveService}" } } } @@ -2191,7 +1511,9 @@ export const openApiSchema: OpenAPIV3.Document = { "description": "Removes a service from a DID Document", "content": { "application/json": { - "schema": {} + "schema": { + "type": "object" + } } } } @@ -2206,7 +1528,44 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IHandleMessageArgs" + "type": "object", + "properties": { + "raw": { + "type": "string", + "description": "Raw message data" + }, + "metaData": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type" + }, + "value": { + "type": "string", + "description": "Optional. Value" + } + }, + "required": [ + "type" + ], + "additionalProperties": false, + "description": "Message meta data" + }, + "description": "Optional. Message meta data" + }, + "save": { + "type": "boolean", + "description": "Optional. If set to `true`, the message will be saved using {@link IDataStore.dataStoreSaveMessage | dataStoreSaveMessage}" + } + }, + "required": [ + "raw" + ], + "additionalProperties": false, + "description": "Input arguments for {@link IMessageHandler.handleMessage | handleMessage}" } } } @@ -2217,7 +1576,224 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IMessage" + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique message ID" + }, + "type": { + "type": "string", + "description": "Message type" + }, + "createdAt": { + "type": "string", + "description": "Optional. Creation date (ISO 8601)" + }, + "expiresAt": { + "type": "string", + "description": "Optional. Expiration date (ISO 8601)" + }, + "threadId": { + "type": "string", + "description": "Optional. Thread ID" + }, + "raw": { + "type": "string", + "description": "Optional. Original message raw data" + }, + "data": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ], + "description": "Optional. Parsed data" + }, + "replyTo": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. List of DIDs to reply to" + }, + "replyUrl": { + "type": "string", + "description": "Optional. URL to post a reply message to" + }, + "from": { + "type": "string", + "description": "Optional. Sender DID" + }, + "to": { + "type": "string", + "description": "Optional. Recipient DID" + }, + "metaData": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type" + }, + "value": { + "type": "string", + "description": "Optional. Value" + } + }, + "required": [ + "type" + ], + "additionalProperties": false, + "description": "Message meta data" + }, + "description": "Optional. Array of message metadata" + }, + "credentials": { + "type": "array", + "items": { + "description": "Verifiable Credential {@link https://github.com/decentralized-identity/did-jwt-vc}", + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "credentialSubject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "credentialStatus": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "id", + "type" + ] + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "issuer": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + } + }, + "required": [ + "@context", + "credentialSubject", + "issuanceDate", + "issuer", + "proof", + "type" + ] + }, + "description": "Optional. Array of attached verifiable credentials" + }, + "presentations": { + "type": "array", + "items": { + "description": "Verifiable Presentation {@link https://github.com/decentralized-identity/did-jwt-vc}", + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "holder": { + "type": "string" + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "verifier": { + "type": "object", + "properties": {} + }, + "verifiableCredential": { + "type": "object", + "properties": {} + } + }, + "required": [ + "@context", + "holder", + "proof", + "type", + "verifiableCredential", + "verifier" + ] + }, + "description": "Optional. Array of attached verifiable presentations" + } + }, + "required": [ + "id", + "type" + ], + "additionalProperties": false, + "description": "DIDComm message" } } } @@ -2233,7 +1809,224 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IMessage" + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique message ID" + }, + "type": { + "type": "string", + "description": "Message type" + }, + "createdAt": { + "type": "string", + "description": "Optional. Creation date (ISO 8601)" + }, + "expiresAt": { + "type": "string", + "description": "Optional. Expiration date (ISO 8601)" + }, + "threadId": { + "type": "string", + "description": "Optional. Thread ID" + }, + "raw": { + "type": "string", + "description": "Optional. Original message raw data" + }, + "data": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ], + "description": "Optional. Parsed data" + }, + "replyTo": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. List of DIDs to reply to" + }, + "replyUrl": { + "type": "string", + "description": "Optional. URL to post a reply message to" + }, + "from": { + "type": "string", + "description": "Optional. Sender DID" + }, + "to": { + "type": "string", + "description": "Optional. Recipient DID" + }, + "metaData": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type" + }, + "value": { + "type": "string", + "description": "Optional. Value" + } + }, + "required": [ + "type" + ], + "additionalProperties": false, + "description": "Message meta data" + }, + "description": "Optional. Array of message metadata" + }, + "credentials": { + "type": "array", + "items": { + "description": "Verifiable Credential {@link https://github.com/decentralized-identity/did-jwt-vc}", + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "credentialSubject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "credentialStatus": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "id", + "type" + ] + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "issuer": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + } + }, + "required": [ + "@context", + "credentialSubject", + "issuanceDate", + "issuer", + "proof", + "type" + ] + }, + "description": "Optional. Array of attached verifiable credentials" + }, + "presentations": { + "type": "array", + "items": { + "description": "Verifiable Presentation {@link https://github.com/decentralized-identity/did-jwt-vc}", + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "holder": { + "type": "string" + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "verifier": { + "type": "object", + "properties": {} + }, + "verifiableCredential": { + "type": "object", + "properties": {} + } + }, + "required": [ + "@context", + "holder", + "proof", + "type", + "verifiableCredential", + "verifier" + ] + }, + "description": "Optional. Array of attached verifiable presentations" + } + }, + "required": [ + "id", + "type" + ], + "additionalProperties": false, + "description": "DIDComm message" } } } @@ -2260,7 +2053,78 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VerifiableCredential" + "description": "Verifiable Credential {@link https://github.com/decentralized-identity/did-jwt-vc}", + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "credentialSubject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "credentialStatus": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "id", + "type" + ] + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "issuer": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + } + }, + "required": [ + "@context", + "credentialSubject", + "issuanceDate", + "issuer", + "proof", + "type" + ] } } } @@ -2287,7 +2151,55 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VerifiablePresentation" + "description": "Verifiable Presentation {@link https://github.com/decentralized-identity/did-jwt-vc}", + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "holder": { + "type": "string" + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "verifier": { + "type": "object", + "properties": {} + }, + "verifiableCredential": { + "type": "object", + "properties": {} + } + }, + "required": [ + "@context", + "holder", + "proof", + "type", + "verifiableCredential", + "verifier" + ] } } } @@ -2314,7 +2226,31 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IKeyManagerCreateKeyArgs" + "type": "object", + "properties": { + "type": { + "description": "Key type", + "type": "string", + "enum": [ + "Ed25519", + "Secp256k1" + ] + }, + "kms": { + "type": "string", + "description": "Key Management System" + }, + "meta": { + "type": "object", + "description": "Optional. Key meta data" + } + }, + "required": [ + "type", + "kms" + ], + "additionalProperties": false, + "description": "Input arguments for {@link IKeyManager.keyManagerCreateKey | keyManagerCreateKey}" } } } @@ -2325,7 +2261,45 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IKey" + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + }, + "kms": { + "type": "string", + "description": "Key Management System" + }, + "type": { + "description": "Key type", + "type": "string", + "enum": [ + "Ed25519", + "Secp256k1" + ] + }, + "publicKeyHex": { + "type": "string", + "description": "Public key" + }, + "privateKeyHex": { + "type": "string", + "description": "Optional. Private key" + }, + "meta": { + "type": "object", + "description": "Optional. Key metadata. Can be used to store auth data to access remote kms" + } + }, + "required": [ + "kid", + "kms", + "type", + "publicKeyHex" + ], + "additionalProperties": false, + "description": "Cryptographic key" } } } @@ -2341,7 +2315,23 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IKeyManagerDecryptJWEArgs" + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + }, + "data": { + "type": "string", + "description": "Encrypted data" + } + }, + "required": [ + "kid", + "data" + ], + "additionalProperties": false, + "description": "Input arguments for {@link IKeyManager.keyManagerDecryptJWE | keyManagerDecryptJWE}" } } } @@ -2368,7 +2358,18 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IKeyManagerDeleteKeyArgs" + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + } + }, + "required": [ + "kid" + ], + "additionalProperties": false, + "description": "Input arguments for {@link IKeyManager.keyManagerDeleteKey | keyManagerDeleteKey}" } } } @@ -2395,7 +2396,60 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IKeyManagerEncryptJWEArgs" + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID to use for encryption" + }, + "to": { + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + }, + "type": { + "description": "Key type", + "type": "string", + "enum": [ + "Ed25519", + "Secp256k1" + ] + }, + "publicKeyHex": { + "type": "string", + "description": "Public key" + }, + "privateKeyHex": { + "type": "string", + "description": "Optional. Private key" + }, + "meta": { + "type": "object", + "description": "Optional. Key metadata. Can be used to store auth data to access remote kms" + } + }, + "required": [ + "kid", + "type", + "publicKeyHex" + ], + "additionalProperties": false, + "description": "Recipient key object" + }, + "data": { + "type": "string", + "description": "Data to encrypt" + } + }, + "required": [ + "kid", + "to", + "data" + ], + "additionalProperties": false, + "description": "Input arguments for {@link IKeyManager.keyManagerEncryptJWE | keyManagerEncryptJWE}" } } } @@ -2422,7 +2476,18 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IKeyManagerGetKeyArgs" + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + } + }, + "required": [ + "kid" + ], + "additionalProperties": false, + "description": "Input arguments for {@link IKeyManager.keyManagerGetKey | keyManagerGetKey}" } } } @@ -2433,7 +2498,45 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IKey" + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + }, + "kms": { + "type": "string", + "description": "Key Management System" + }, + "type": { + "description": "Key type", + "type": "string", + "enum": [ + "Ed25519", + "Secp256k1" + ] + }, + "publicKeyHex": { + "type": "string", + "description": "Public key" + }, + "privateKeyHex": { + "type": "string", + "description": "Optional. Private key" + }, + "meta": { + "type": "object", + "description": "Optional. Key metadata. Can be used to store auth data to access remote kms" + } + }, + "required": [ + "kid", + "kms", + "type", + "publicKeyHex" + ], + "additionalProperties": false, + "description": "Cryptographic key" } } } @@ -2448,7 +2551,9 @@ export const openApiSchema: OpenAPIV3.Document = { "requestBody": { "content": { "application/json": { - "schema": {} + "schema": { + "type": "object" + } } } }, @@ -2477,7 +2582,45 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IKey" + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + }, + "kms": { + "type": "string", + "description": "Key Management System" + }, + "type": { + "description": "Key type", + "type": "string", + "enum": [ + "Ed25519", + "Secp256k1" + ] + }, + "publicKeyHex": { + "type": "string", + "description": "Public key" + }, + "privateKeyHex": { + "type": "string", + "description": "Optional. Private key" + }, + "meta": { + "type": "object", + "description": "Optional. Key metadata. Can be used to store auth data to access remote kms" + } + }, + "required": [ + "kid", + "kms", + "type", + "publicKeyHex" + ], + "additionalProperties": false, + "description": "Cryptographic key" } } } @@ -2504,7 +2647,23 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IKeyManagerSignEthTXArgs" + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + }, + "transaction": { + "type": "object", + "description": "Ethereum transaction object" + } + }, + "required": [ + "kid", + "transaction" + ], + "additionalProperties": false, + "description": "Input arguments for {@link IKeyManager.keyManagerSignEthTX | keyManagerSignEthTX}" } } } @@ -2531,7 +2690,23 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IKeyManagerSignJWTArgs" + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + }, + "data": { + "type": "string", + "description": "Data to sign" + } + }, + "required": [ + "kid", + "data" + ], + "additionalProperties": false, + "description": "Input arguments for {@link IKeyManager.keyManagerSignJWT | keyManagerSignJWT}" } } } @@ -2558,7 +2733,95 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ICreateVerifiableCredentialArgs" + "type": "object", + "properties": { + "credential": { + "description": "The json payload of the Credential according to the\n{@link https://www.w3.org/TR/vc-data-model/#credentials | canonical model}\n\nThe signer of the Credential is chosen based on the `issuer.id` property\nof the `credential`", + "type": "object", + "properties": { + "@context": { + "type": "array", + "items": { + "type": "string" + } + }, + "type": { + "type": "array", + "items": { + "type": "string" + } + }, + "issuer": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + }, + "id": { + "type": "string" + }, + "credentialSubject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "credentialStatus": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "additionalProperties": false + } + }, + "required": [ + "@context", + "credentialSubject", + "issuanceDate", + "issuer", + "type" + ] + }, + "save": { + "type": "boolean", + "description": "If this parameter is true, the resulting VerifiablePresentation is sent to the\n{@link daf-core#IDataStore | storage plugin} to be saved" + }, + "proofFormat": { + "description": "The desired format for the VerifiablePresentation to be created.\nCurrently, only JWT is supported", + "type": "string", + "enum": [ + "jwt" + ] + } + }, + "required": [ + "credential", + "proofFormat" + ], + "additionalProperties": false, + "description": "Encapsulates the parameters required to create a\n{@link https://www.w3.org/TR/vc-data-model/#credentials | W3C Verifiable Credential}" } } } @@ -2569,7 +2832,78 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VerifiableCredential" + "description": "Verifiable Credential {@link https://github.com/decentralized-identity/did-jwt-vc}", + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "credentialSubject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "credentialStatus": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "id", + "type" + ] + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "issuer": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + } + }, + "required": [ + "@context", + "credentialSubject", + "issuanceDate", + "issuer", + "proof", + "type" + ] } } } @@ -2585,7 +2919,146 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ICreateVerifiablePresentationArgs" + "type": "object", + "properties": { + "presentation": { + "description": "The json payload of the Presentation according to the\n{@link https://www.w3.org/TR/vc-data-model/#presentations | canonical model}.\n\nThe signer of the Presentation is chosen based on the `holder` property\nof the `presentation`", + "type": "object", + "properties": { + "@context": { + "type": "array", + "items": { + "type": "string" + } + }, + "type": { + "type": "array", + "items": { + "type": "string" + } + }, + "verifier": { + "type": "array", + "items": { + "type": "string" + } + }, + "verifiableCredential": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "credentialSubject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "credentialStatus": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "id", + "type" + ] + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "issuer": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + } + }, + "required": [ + "@context", + "credentialSubject", + "issuanceDate", + "issuer", + "proof", + "type" + ], + "description": "Represents a readonly representation of a verifiable object, including the {@link Proof}\nproperty that can be used to verify it." + } + }, + "id": { + "type": "string" + }, + "holder": { + "type": "string" + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + } + }, + "required": [ + "@context", + "holder", + "type", + "verifiableCredential", + "verifier" + ] + }, + "save": { + "type": "boolean", + "description": "If this parameter is true, the resulting VerifiablePresentation is sent to the\n{@link daf-core#IDataStore | storage plugin} to be saved" + }, + "proofFormat": { + "description": "The desired format for the VerifiablePresentation to be created.\nCurrently, only JWT is supported", + "type": "string", + "enum": [ + "jwt" + ] + } + }, + "required": [ + "presentation", + "proofFormat" + ], + "additionalProperties": false, + "description": "Encapsulates the parameters required to create a\n{@link https://www.w3.org/TR/vc-data-model/#presentations | W3C Verifiable Presentation}" } } } @@ -2596,7 +3069,55 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VerifiablePresentation" + "description": "Verifiable Presentation {@link https://github.com/decentralized-identity/did-jwt-vc}", + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "holder": { + "type": "string" + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "verifier": { + "type": "object", + "properties": {} + }, + "verifiableCredential": { + "type": "object", + "properties": {} + } + }, + "required": [ + "@context", + "holder", + "proof", + "type", + "verifiableCredential", + "verifier" + ] } } } @@ -2612,7 +3133,108 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ICreateSelectiveDisclosureRequestArgs" + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "issuer": { + "type": "string", + "description": "The issuer of the request" + }, + "subject": { + "type": "string", + "description": "The target of the request" + }, + "replyUrl": { + "type": "string", + "description": "The URL where the response should be sent back" + }, + "tag": { + "type": "string" + }, + "claims": { + "type": "array", + "items": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "Motive for requiring this credential." + }, + "essential": { + "type": "boolean", + "description": "If it is essential. A response that does not include this credential is not sufficient." + }, + "credentialType": { + "type": "string", + "description": "The credential type. See {@link https://www.w3.org/TR/vc-data-model/#types | W3C Credential Types}" + }, + "credentialContext": { + "type": "string", + "description": "The credential context. See {@link https://www.w3.org/TR/vc-data-model/#contexts | W3C Credential Context}" + }, + "claimType": { + "type": "string", + "description": "The name of the claim property that the credential should express." + }, + "claimValue": { + "type": "string", + "description": "The value of the claim that the credential should express." + }, + "issuers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "The DID of the issuer of a requested credential." + }, + "url": { + "type": "string", + "description": "A URL where a credential of that type can be obtained." + } + }, + "required": [ + "did", + "url" + ], + "additionalProperties": false, + "description": "Used for requesting Credentials using Selective Disclosure.\nRepresents an accepted issuer of a credential." + }, + "description": "A list of accepted Issuers for this credential." + } + }, + "required": [ + "claimType" + ], + "additionalProperties": false, + "description": "Describes a particular credential that is being requested" + }, + "description": "A list of claims that are being requested" + }, + "credentials": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of issuer credentials that the target will use to establish trust" + } + }, + "required": [ + "issuer", + "claims" + ], + "additionalProperties": false, + "description": "Represents the Selective Disclosure request parameters." + } + }, + "required": [ + "data" + ], + "additionalProperties": false, + "description": "Contains the parameters of a Selective Disclosure Request." } } } @@ -2639,7 +3261,107 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IGetVerifiableCredentialsForSdrArgs" + "type": "object", + "properties": { + "sdr": { + "type": "object", + "properties": { + "subject": { + "type": "string", + "description": "The target of the request" + }, + "replyUrl": { + "type": "string", + "description": "The URL where the response should be sent back" + }, + "tag": { + "type": "string" + }, + "claims": { + "type": "array", + "items": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "Motive for requiring this credential." + }, + "essential": { + "type": "boolean", + "description": "If it is essential. A response that does not include this credential is not sufficient." + }, + "credentialType": { + "type": "string", + "description": "The credential type. See {@link https://www.w3.org/TR/vc-data-model/#types | W3C Credential Types}" + }, + "credentialContext": { + "type": "string", + "description": "The credential context. See {@link https://www.w3.org/TR/vc-data-model/#contexts | W3C Credential Context}" + }, + "claimType": { + "type": "string", + "description": "The name of the claim property that the credential should express." + }, + "claimValue": { + "type": "string", + "description": "The value of the claim that the credential should express." + }, + "issuers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "The DID of the issuer of a requested credential." + }, + "url": { + "type": "string", + "description": "A URL where a credential of that type can be obtained." + } + }, + "required": [ + "did", + "url" + ], + "additionalProperties": false, + "description": "Used for requesting Credentials using Selective Disclosure.\nRepresents an accepted issuer of a credential." + }, + "description": "A list of accepted Issuers for this credential." + } + }, + "required": [ + "claimType" + ], + "additionalProperties": false, + "description": "Describes a particular credential that is being requested" + }, + "description": "A list of claims that are being requested" + }, + "credentials": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of issuer credentials that the target will use to establish trust" + } + }, + "required": [ + "claims" + ], + "additionalProperties": false, + "description": "The Selective Disclosure Request (issuer is omitted)" + }, + "did": { + "type": "string", + "description": "The DID of the subject" + } + }, + "required": [ + "sdr" + ], + "additionalProperties": false, + "description": "Encapsulates the params needed to gather credentials to fulfill a Selective disclosure request." } } } @@ -2652,7 +3374,139 @@ export const openApiSchema: OpenAPIV3.Document = { "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/ICredentialsForSdr" + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "Motive for requiring this credential." + }, + "essential": { + "type": "boolean", + "description": "If it is essential. A response that does not include this credential is not sufficient." + }, + "credentialType": { + "type": "string", + "description": "The credential type. See {@link https://www.w3.org/TR/vc-data-model/#types | W3C Credential Types}" + }, + "credentialContext": { + "type": "string", + "description": "The credential context. See {@link https://www.w3.org/TR/vc-data-model/#contexts | W3C Credential Context}" + }, + "claimType": { + "type": "string", + "description": "The name of the claim property that the credential should express." + }, + "claimValue": { + "type": "string", + "description": "The value of the claim that the credential should express." + }, + "issuers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "The DID of the issuer of a requested credential." + }, + "url": { + "type": "string", + "description": "A URL where a credential of that type can be obtained." + } + }, + "required": [ + "did", + "url" + ], + "additionalProperties": false, + "description": "Used for requesting Credentials using Selective Disclosure.\nRepresents an accepted issuer of a credential." + }, + "description": "A list of accepted Issuers for this credential." + }, + "credentials": { + "type": "array", + "items": { + "description": "Verifiable Credential {@link https://github.com/decentralized-identity/did-jwt-vc}", + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "credentialSubject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "credentialStatus": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "id", + "type" + ] + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "issuer": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + } + }, + "required": [ + "@context", + "credentialSubject", + "issuanceDate", + "issuer", + "proof", + "type" + ] + } + } + }, + "required": [ + "claimType", + "credentials" + ], + "additionalProperties": false, + "description": "The credentials that make up a response of a Selective Disclosure" } } } @@ -2669,7 +3523,160 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IValidatePresentationAgainstSdrArgs" + "type": "object", + "properties": { + "presentation": { + "description": "Verifiable Presentation {@link https://github.com/decentralized-identity/did-jwt-vc}", + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "holder": { + "type": "string" + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "verifier": { + "type": "object", + "properties": {} + }, + "verifiableCredential": { + "type": "object", + "properties": {} + } + }, + "required": [ + "@context", + "holder", + "proof", + "type", + "verifiableCredential", + "verifier" + ] + }, + "sdr": { + "type": "object", + "properties": { + "issuer": { + "type": "string", + "description": "The issuer of the request" + }, + "subject": { + "type": "string", + "description": "The target of the request" + }, + "replyUrl": { + "type": "string", + "description": "The URL where the response should be sent back" + }, + "tag": { + "type": "string" + }, + "claims": { + "type": "array", + "items": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "Motive for requiring this credential." + }, + "essential": { + "type": "boolean", + "description": "If it is essential. A response that does not include this credential is not sufficient." + }, + "credentialType": { + "type": "string", + "description": "The credential type. See {@link https://www.w3.org/TR/vc-data-model/#types | W3C Credential Types}" + }, + "credentialContext": { + "type": "string", + "description": "The credential context. See {@link https://www.w3.org/TR/vc-data-model/#contexts | W3C Credential Context}" + }, + "claimType": { + "type": "string", + "description": "The name of the claim property that the credential should express." + }, + "claimValue": { + "type": "string", + "description": "The value of the claim that the credential should express." + }, + "issuers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "The DID of the issuer of a requested credential." + }, + "url": { + "type": "string", + "description": "A URL where a credential of that type can be obtained." + } + }, + "required": [ + "did", + "url" + ], + "additionalProperties": false, + "description": "Used for requesting Credentials using Selective Disclosure.\nRepresents an accepted issuer of a credential." + }, + "description": "A list of accepted Issuers for this credential." + } + }, + "required": [ + "claimType" + ], + "additionalProperties": false, + "description": "Describes a particular credential that is being requested" + }, + "description": "A list of claims that are being requested" + }, + "credentials": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of issuer credentials that the target will use to establish trust" + } + }, + "required": [ + "issuer", + "claims" + ], + "additionalProperties": false, + "description": "Represents the Selective Disclosure request parameters." + } + }, + "required": [ + "presentation", + "sdr" + ], + "additionalProperties": false, + "description": "A tuple used to verify a Selective Disclosure Response.\nEncapsulates the response(`presentation`) and the corresponding request (`sdr`) that made it." } } } @@ -2680,7 +3687,156 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IPresentationValidationResult" + "type": "object", + "properties": { + "valid": { + "type": "boolean" + }, + "claims": { + "type": "array", + "items": { + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "Motive for requiring this credential." + }, + "essential": { + "type": "boolean", + "description": "If it is essential. A response that does not include this credential is not sufficient." + }, + "credentialType": { + "type": "string", + "description": "The credential type. See {@link https://www.w3.org/TR/vc-data-model/#types | W3C Credential Types}" + }, + "credentialContext": { + "type": "string", + "description": "The credential context. See {@link https://www.w3.org/TR/vc-data-model/#contexts | W3C Credential Context}" + }, + "claimType": { + "type": "string", + "description": "The name of the claim property that the credential should express." + }, + "claimValue": { + "type": "string", + "description": "The value of the claim that the credential should express." + }, + "issuers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "The DID of the issuer of a requested credential." + }, + "url": { + "type": "string", + "description": "A URL where a credential of that type can be obtained." + } + }, + "required": [ + "did", + "url" + ], + "additionalProperties": false, + "description": "Used for requesting Credentials using Selective Disclosure.\nRepresents an accepted issuer of a credential." + }, + "description": "A list of accepted Issuers for this credential." + }, + "credentials": { + "type": "array", + "items": { + "description": "Verifiable Credential {@link https://github.com/decentralized-identity/did-jwt-vc}", + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "credentialSubject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "credentialStatus": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "id", + "type" + ] + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "issuer": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + } + }, + "required": [ + "@context", + "credentialSubject", + "issuanceDate", + "issuer", + "proof", + "type" + ] + } + } + }, + "required": [ + "claimType", + "credentials" + ], + "additionalProperties": false, + "description": "The credentials that make up a response of a Selective Disclosure" + } + } + }, + "required": [ + "valid", + "claims" + ], + "additionalProperties": false, + "description": "The result of a selective disclosure response validation." } } } @@ -2696,7 +3852,54 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ISendMessageDIDCommAlpha1Args" + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "save": { + "type": "boolean" + }, + "data": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "from": { + "type": "string" + }, + "to": { + "type": "string" + }, + "type": { + "type": "string" + }, + "body": { + "anyOf": [ + { + "type": "object" + }, + { + "type": "string" + } + ] + } + }, + "required": [ + "from", + "to", + "type", + "body" + ], + "additionalProperties": false + } + }, + "required": [ + "data" + ], + "additionalProperties": false, + "description": "Input arguments for {@link IDIDComm.sendMessageDIDCommAlpha1}" } } } @@ -2707,7 +3910,224 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IMessage" + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique message ID" + }, + "type": { + "type": "string", + "description": "Message type" + }, + "createdAt": { + "type": "string", + "description": "Optional. Creation date (ISO 8601)" + }, + "expiresAt": { + "type": "string", + "description": "Optional. Expiration date (ISO 8601)" + }, + "threadId": { + "type": "string", + "description": "Optional. Thread ID" + }, + "raw": { + "type": "string", + "description": "Optional. Original message raw data" + }, + "data": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ], + "description": "Optional. Parsed data" + }, + "replyTo": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. List of DIDs to reply to" + }, + "replyUrl": { + "type": "string", + "description": "Optional. URL to post a reply message to" + }, + "from": { + "type": "string", + "description": "Optional. Sender DID" + }, + "to": { + "type": "string", + "description": "Optional. Recipient DID" + }, + "metaData": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type" + }, + "value": { + "type": "string", + "description": "Optional. Value" + } + }, + "required": [ + "type" + ], + "additionalProperties": false, + "description": "Message meta data" + }, + "description": "Optional. Array of message metadata" + }, + "credentials": { + "type": "array", + "items": { + "description": "Verifiable Credential {@link https://github.com/decentralized-identity/did-jwt-vc}", + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "credentialSubject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "credentialStatus": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "id", + "type" + ] + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "issuer": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + } + }, + "required": [ + "@context", + "credentialSubject", + "issuanceDate", + "issuer", + "proof", + "type" + ] + }, + "description": "Optional. Array of attached verifiable credentials" + }, + "presentations": { + "type": "array", + "items": { + "description": "Verifiable Presentation {@link https://github.com/decentralized-identity/did-jwt-vc}", + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "holder": { + "type": "string" + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "verifier": { + "type": "object", + "properties": {} + }, + "verifiableCredential": { + "type": "object", + "properties": {} + } + }, + "required": [ + "@context", + "holder", + "proof", + "type", + "verifiableCredential", + "verifier" + ] + }, + "description": "Optional. Array of attached verifiable presentations" + } + }, + "required": [ + "id", + "type" + ], + "additionalProperties": false, + "description": "DIDComm message" } } } @@ -2723,7 +4143,88 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FindIdentitiesArgs" + "type": "object", + "properties": { + "where": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "did", + "alias", + "provider" + ] + }, + "value": { + "type": "array", + "items": { + "type": "string" + } + }, + "not": { + "type": "boolean" + }, + "op": { + "type": "string", + "enum": [ + "LessThan", + "LessThanOrEqual", + "MoreThan", + "MoreThanOrEqual", + "Equal", + "Like", + "Between", + "In", + "Any", + "IsNull" + ] + } + }, + "required": [ + "column" + ], + "additionalProperties": false + } + }, + "order": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "did", + "alias", + "provider" + ] + }, + "direction": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + "required": [ + "column", + "direction" + ], + "additionalProperties": false + } + }, + "take": { + "type": "number" + }, + "skip": { + "type": "number" + } + }, + "additionalProperties": false } } } @@ -2736,7 +4237,111 @@ export const openApiSchema: OpenAPIV3.Document = { "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/IIdentity" + "type": "object", + "properties": { + "did": { + "type": "string", + "description": "Decentralized identifier" + }, + "alias": { + "type": "string", + "description": "Optional. Identity alias. Can be used to reference an object in an external system" + }, + "provider": { + "type": "string", + "description": "Identity provider name" + }, + "controllerKeyId": { + "type": "string", + "description": "Controller key id" + }, + "keys": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + }, + "kms": { + "type": "string", + "description": "Key Management System" + }, + "type": { + "description": "Key type", + "type": "string", + "enum": [ + "Ed25519", + "Secp256k1" + ] + }, + "publicKeyHex": { + "type": "string", + "description": "Public key" + }, + "privateKeyHex": { + "type": "string", + "description": "Optional. Private key" + }, + "meta": { + "type": "object", + "description": "Optional. Key metadata. Can be used to store auth data to access remote kms" + } + }, + "required": [ + "kid", + "kms", + "type", + "publicKeyHex" + ], + "additionalProperties": false, + "description": "Cryptographic key" + }, + "description": "Array of managed keys" + }, + "services": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID" + }, + "type": { + "type": "string", + "description": "Service type" + }, + "serviceEndpoint": { + "type": "string", + "description": "Endpoint URL" + }, + "description": { + "type": "string", + "description": "Optional. Description" + } + }, + "required": [ + "id", + "type", + "serviceEndpoint" + ], + "additionalProperties": false, + "description": "Identity service" + }, + "description": "Array of services" + } + }, + "required": [ + "did", + "provider", + "controllerKeyId", + "keys", + "services" + ], + "additionalProperties": false, + "description": "Identity interface" } } } @@ -2753,7 +4358,88 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FindIdentitiesArgs" + "type": "object", + "properties": { + "where": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "did", + "alias", + "provider" + ] + }, + "value": { + "type": "array", + "items": { + "type": "string" + } + }, + "not": { + "type": "boolean" + }, + "op": { + "type": "string", + "enum": [ + "LessThan", + "LessThanOrEqual", + "MoreThan", + "MoreThanOrEqual", + "Equal", + "Like", + "Between", + "In", + "Any", + "IsNull" + ] + } + }, + "required": [ + "column" + ], + "additionalProperties": false + } + }, + "order": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "did", + "alias", + "provider" + ] + }, + "direction": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + "required": [ + "column", + "direction" + ], + "additionalProperties": false + } + }, + "take": { + "type": "number" + }, + "skip": { + "type": "number" + } + }, + "additionalProperties": false } } } @@ -2780,7 +4466,102 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FindMessagesArgs" + "type": "object", + "properties": { + "where": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "from", + "to", + "id", + "createdAt", + "expiresAt", + "threadId", + "type", + "raw", + "replyTo", + "replyUrl" + ] + }, + "value": { + "type": "array", + "items": { + "type": "string" + } + }, + "not": { + "type": "boolean" + }, + "op": { + "type": "string", + "enum": [ + "LessThan", + "LessThanOrEqual", + "MoreThan", + "MoreThanOrEqual", + "Equal", + "Like", + "Between", + "In", + "Any", + "IsNull" + ] + } + }, + "required": [ + "column" + ], + "additionalProperties": false + } + }, + "order": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "from", + "to", + "id", + "createdAt", + "expiresAt", + "threadId", + "type", + "raw", + "replyTo", + "replyUrl" + ] + }, + "direction": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + "required": [ + "column", + "direction" + ], + "additionalProperties": false + } + }, + "take": { + "type": "number" + }, + "skip": { + "type": "number" + } + }, + "additionalProperties": false } } } @@ -2793,7 +4574,224 @@ export const openApiSchema: OpenAPIV3.Document = { "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/IMessage" + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique message ID" + }, + "type": { + "type": "string", + "description": "Message type" + }, + "createdAt": { + "type": "string", + "description": "Optional. Creation date (ISO 8601)" + }, + "expiresAt": { + "type": "string", + "description": "Optional. Expiration date (ISO 8601)" + }, + "threadId": { + "type": "string", + "description": "Optional. Thread ID" + }, + "raw": { + "type": "string", + "description": "Optional. Original message raw data" + }, + "data": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ], + "description": "Optional. Parsed data" + }, + "replyTo": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. List of DIDs to reply to" + }, + "replyUrl": { + "type": "string", + "description": "Optional. URL to post a reply message to" + }, + "from": { + "type": "string", + "description": "Optional. Sender DID" + }, + "to": { + "type": "string", + "description": "Optional. Recipient DID" + }, + "metaData": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type" + }, + "value": { + "type": "string", + "description": "Optional. Value" + } + }, + "required": [ + "type" + ], + "additionalProperties": false, + "description": "Message meta data" + }, + "description": "Optional. Array of message metadata" + }, + "credentials": { + "type": "array", + "items": { + "description": "Verifiable Credential {@link https://github.com/decentralized-identity/did-jwt-vc}", + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "credentialSubject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "credentialStatus": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "id", + "type" + ] + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "issuer": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + } + }, + "required": [ + "@context", + "credentialSubject", + "issuanceDate", + "issuer", + "proof", + "type" + ] + }, + "description": "Optional. Array of attached verifiable credentials" + }, + "presentations": { + "type": "array", + "items": { + "description": "Verifiable Presentation {@link https://github.com/decentralized-identity/did-jwt-vc}", + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "holder": { + "type": "string" + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "verifier": { + "type": "object", + "properties": {} + }, + "verifiableCredential": { + "type": "object", + "properties": {} + } + }, + "required": [ + "@context", + "holder", + "proof", + "type", + "verifiableCredential", + "verifier" + ] + }, + "description": "Optional. Array of attached verifiable presentations" + } + }, + "required": [ + "id", + "type" + ], + "additionalProperties": false, + "description": "DIDComm message" } } } @@ -2810,7 +4808,102 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FindMessagesArgs" + "type": "object", + "properties": { + "where": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "from", + "to", + "id", + "createdAt", + "expiresAt", + "threadId", + "type", + "raw", + "replyTo", + "replyUrl" + ] + }, + "value": { + "type": "array", + "items": { + "type": "string" + } + }, + "not": { + "type": "boolean" + }, + "op": { + "type": "string", + "enum": [ + "LessThan", + "LessThanOrEqual", + "MoreThan", + "MoreThanOrEqual", + "Equal", + "Like", + "Between", + "In", + "Any", + "IsNull" + ] + } + }, + "required": [ + "column" + ], + "additionalProperties": false + } + }, + "order": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "from", + "to", + "id", + "createdAt", + "expiresAt", + "threadId", + "type", + "raw", + "replyTo", + "replyUrl" + ] + }, + "direction": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + "required": [ + "column", + "direction" + ], + "additionalProperties": false + } + }, + "take": { + "type": "number" + }, + "skip": { + "type": "number" + } + }, + "additionalProperties": false } } } @@ -2837,7 +4930,96 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FindCredentialsArgs" + "type": "object", + "properties": { + "where": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "context", + "type", + "id", + "issuer", + "subject", + "expirationDate", + "issuanceDate" + ] + }, + "value": { + "type": "array", + "items": { + "type": "string" + } + }, + "not": { + "type": "boolean" + }, + "op": { + "type": "string", + "enum": [ + "LessThan", + "LessThanOrEqual", + "MoreThan", + "MoreThanOrEqual", + "Equal", + "Like", + "Between", + "In", + "Any", + "IsNull" + ] + } + }, + "required": [ + "column" + ], + "additionalProperties": false + } + }, + "order": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "context", + "type", + "id", + "issuer", + "subject", + "expirationDate", + "issuanceDate" + ] + }, + "direction": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + "required": [ + "column", + "direction" + ], + "additionalProperties": false + } + }, + "take": { + "type": "number" + }, + "skip": { + "type": "number" + } + }, + "additionalProperties": false } } } @@ -2850,7 +5032,78 @@ export const openApiSchema: OpenAPIV3.Document = { "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/VerifiableCredential" + "description": "Verifiable Credential {@link https://github.com/decentralized-identity/did-jwt-vc}", + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "credentialSubject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "credentialStatus": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "id", + "type" + ] + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "issuer": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + } + }, + "required": [ + "@context", + "credentialSubject", + "issuanceDate", + "issuer", + "proof", + "type" + ] } } } @@ -2867,7 +5120,102 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FindClaimsArgs" + "type": "object", + "properties": { + "where": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "context", + "credentialType", + "type", + "value", + "isObj", + "id", + "issuer", + "subject", + "expirationDate", + "issuanceDate" + ] + }, + "value": { + "type": "array", + "items": { + "type": "string" + } + }, + "not": { + "type": "boolean" + }, + "op": { + "type": "string", + "enum": [ + "LessThan", + "LessThanOrEqual", + "MoreThan", + "MoreThanOrEqual", + "Equal", + "Like", + "Between", + "In", + "Any", + "IsNull" + ] + } + }, + "required": [ + "column" + ], + "additionalProperties": false + } + }, + "order": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "context", + "credentialType", + "type", + "value", + "isObj", + "id", + "issuer", + "subject", + "expirationDate", + "issuanceDate" + ] + }, + "direction": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + "required": [ + "column", + "direction" + ], + "additionalProperties": false + } + }, + "take": { + "type": "number" + }, + "skip": { + "type": "number" + } + }, + "additionalProperties": false } } } @@ -2880,7 +5228,78 @@ export const openApiSchema: OpenAPIV3.Document = { "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/VerifiableCredential" + "description": "Verifiable Credential {@link https://github.com/decentralized-identity/did-jwt-vc}", + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "credentialSubject": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "credentialStatus": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "id", + "type" + ] + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "issuer": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + } + }, + "required": [ + "@context", + "credentialSubject", + "issuanceDate", + "issuer", + "proof", + "type" + ] } } } @@ -2897,7 +5316,102 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FindClaimsArgs" + "type": "object", + "properties": { + "where": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "context", + "credentialType", + "type", + "value", + "isObj", + "id", + "issuer", + "subject", + "expirationDate", + "issuanceDate" + ] + }, + "value": { + "type": "array", + "items": { + "type": "string" + } + }, + "not": { + "type": "boolean" + }, + "op": { + "type": "string", + "enum": [ + "LessThan", + "LessThanOrEqual", + "MoreThan", + "MoreThanOrEqual", + "Equal", + "Like", + "Between", + "In", + "Any", + "IsNull" + ] + } + }, + "required": [ + "column" + ], + "additionalProperties": false + } + }, + "order": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "context", + "credentialType", + "type", + "value", + "isObj", + "id", + "issuer", + "subject", + "expirationDate", + "issuanceDate" + ] + }, + "direction": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + "required": [ + "column", + "direction" + ], + "additionalProperties": false + } + }, + "take": { + "type": "number" + }, + "skip": { + "type": "number" + } + }, + "additionalProperties": false } } } @@ -2924,7 +5438,96 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FindCredentialsArgs" + "type": "object", + "properties": { + "where": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "context", + "type", + "id", + "issuer", + "subject", + "expirationDate", + "issuanceDate" + ] + }, + "value": { + "type": "array", + "items": { + "type": "string" + } + }, + "not": { + "type": "boolean" + }, + "op": { + "type": "string", + "enum": [ + "LessThan", + "LessThanOrEqual", + "MoreThan", + "MoreThanOrEqual", + "Equal", + "Like", + "Between", + "In", + "Any", + "IsNull" + ] + } + }, + "required": [ + "column" + ], + "additionalProperties": false + } + }, + "order": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "context", + "type", + "id", + "issuer", + "subject", + "expirationDate", + "issuanceDate" + ] + }, + "direction": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + "required": [ + "column", + "direction" + ], + "additionalProperties": false + } + }, + "take": { + "type": "number" + }, + "skip": { + "type": "number" + } + }, + "additionalProperties": false } } } @@ -2951,7 +5554,96 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FindPresentationsArgs" + "type": "object", + "properties": { + "where": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "context", + "type", + "id", + "holder", + "verifier", + "expirationDate", + "issuanceDate" + ] + }, + "value": { + "type": "array", + "items": { + "type": "string" + } + }, + "not": { + "type": "boolean" + }, + "op": { + "type": "string", + "enum": [ + "LessThan", + "LessThanOrEqual", + "MoreThan", + "MoreThanOrEqual", + "Equal", + "Like", + "Between", + "In", + "Any", + "IsNull" + ] + } + }, + "required": [ + "column" + ], + "additionalProperties": false + } + }, + "order": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "context", + "type", + "id", + "holder", + "verifier", + "expirationDate", + "issuanceDate" + ] + }, + "direction": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + "required": [ + "column", + "direction" + ], + "additionalProperties": false + } + }, + "take": { + "type": "number" + }, + "skip": { + "type": "number" + } + }, + "additionalProperties": false } } } @@ -2964,7 +5656,55 @@ export const openApiSchema: OpenAPIV3.Document = { "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/VerifiablePresentation" + "description": "Verifiable Presentation {@link https://github.com/decentralized-identity/did-jwt-vc}", + "type": "object", + "additionalProperties": false, + "properties": { + "proof": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + }, + "id": { + "type": "string" + }, + "holder": { + "type": "string" + }, + "issuanceDate": { + "type": "string" + }, + "expirationDate": { + "type": "string" + }, + "@context": { + "type": "object", + "properties": {} + }, + "type": { + "type": "object", + "properties": {} + }, + "verifier": { + "type": "object", + "properties": {} + }, + "verifiableCredential": { + "type": "object", + "properties": {} + } + }, + "required": [ + "@context", + "holder", + "proof", + "type", + "verifiableCredential", + "verifier" + ] } } } @@ -2981,7 +5721,96 @@ export const openApiSchema: OpenAPIV3.Document = { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FindPresentationsArgs" + "type": "object", + "properties": { + "where": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "context", + "type", + "id", + "holder", + "verifier", + "expirationDate", + "issuanceDate" + ] + }, + "value": { + "type": "array", + "items": { + "type": "string" + } + }, + "not": { + "type": "boolean" + }, + "op": { + "type": "string", + "enum": [ + "LessThan", + "LessThanOrEqual", + "MoreThan", + "MoreThanOrEqual", + "Equal", + "Like", + "Between", + "In", + "Any", + "IsNull" + ] + } + }, + "required": [ + "column" + ], + "additionalProperties": false + } + }, + "order": { + "type": "array", + "items": { + "type": "object", + "properties": { + "column": { + "type": "string", + "enum": [ + "context", + "type", + "id", + "holder", + "verifier", + "expirationDate", + "issuanceDate" + ] + }, + "direction": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + } + }, + "required": [ + "column", + "direction" + ], + "additionalProperties": false + } + }, + "take": { + "type": "number" + }, + "skip": { + "type": "number" + } + }, + "additionalProperties": false } } } diff --git a/report/daf-core.api.md b/report/daf-core.api.md index b3aff4ff8..be8b0e1ed 100644 --- a/report/daf-core.api.md +++ b/report/daf-core.api.md @@ -97,13 +97,13 @@ export interface IIdentityManager extends IPluginMethodMap { export interface IIdentityManagerAddKeyArgs { did: string; key: IKey; - options?: any; + options?: object; } // @public export interface IIdentityManagerAddServiceArgs { did: string; - options?: any; + options?: object; service: IService; } @@ -111,7 +111,7 @@ export interface IIdentityManagerAddServiceArgs { export interface IIdentityManagerCreateIdentityArgs { alias?: string; kms?: string; - options?: any; + options?: object; provider?: string; } @@ -141,7 +141,7 @@ export interface IIdentityManagerGetIdentityByAliasArgs { export interface IIdentityManagerGetOrCreateIdentityArgs { alias: string; kms?: string; - options?: any; + options?: object; provider?: string; } @@ -149,21 +149,21 @@ export interface IIdentityManagerGetOrCreateIdentityArgs { export interface IIdentityManagerRemoveKeyArgs { did: string; kid: string; - options?: any; + options?: object; } // @public export interface IIdentityManagerRemoveServiceArgs { did: string; id: string; - options?: any; + options?: object; } // @public export interface IKey { kid: string; kms: string; - meta?: Record; + meta?: object; privateKeyHex?: string; publicKeyHex: string; type: TKeyType; @@ -187,7 +187,7 @@ export interface IKeyManager extends IPluginMethodMap { // @public export interface IKeyManagerCreateKeyArgs { kms: string; - meta?: Record; + meta?: object; type: TKeyType; } @@ -230,7 +230,7 @@ export interface IKeyManagerSignJWTArgs { export interface IMessage { createdAt?: string; credentials?: VerifiableCredential[]; - data?: any; + data?: string | object; expiresAt?: string; from?: string; id: string; diff --git a/report/daf-did-comm.api.md b/report/daf-did-comm.api.md index 6fed83f90..7f048bf32 100644 --- a/report/daf-did-comm.api.md +++ b/report/daf-did-comm.api.md @@ -44,7 +44,7 @@ export interface ISendMessageDIDCommAlpha1Args { from: string; to: string; type: string; - body: any; + body: object | string; }; // (undocumented) save?: boolean; diff --git a/report/daf-typeorm.api.md b/report/daf-typeorm.api.md index 86a99294f..aae7d785e 100644 --- a/report/daf-typeorm.api.md +++ b/report/daf-typeorm.api.md @@ -118,7 +118,7 @@ export class DataStoreORM implements IAgentPlugin { } // @public (undocumented) -export const Entities: (typeof Key | typeof Identity | typeof Service | typeof Claim | typeof Credential_2 | typeof Presentation | typeof Message)[]; +export const Entities: (typeof Credential_2 | typeof Identity | typeof Claim | typeof Presentation | typeof Message | typeof Key | typeof Service)[]; // @public (undocumented) export interface FindArgs { diff --git a/scripts/generate-schemas.ts b/scripts/generate-schemas.ts index d14185b50..81d2ec03f 100644 --- a/scripts/generate-schemas.ts +++ b/scripts/generate-schemas.ts @@ -2,6 +2,7 @@ import { resolve } from 'path' import { writeFileSync, readFileSync } from 'fs' import * as TJS from 'ts-json-schema-generator' import { OpenAPIV3 } from 'openapi-types' +import SwaggerParser from '@apidevtools/swagger-parser' import { ApiModel, ApiPackage, @@ -78,7 +79,7 @@ function createSchema(generator: TJS.SchemaGenerator, symbol: string) { function getRequestBodySchema(parameters?: string): OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject { if (!parameters) { - return {} + return { type: 'object' } } else { return { $ref: '#/components/schemas/' + parameters, @@ -100,7 +101,7 @@ function getResponseSchema(response: string): OpenAPIV3.ReferenceObject | OpenAP } } if (response === 'any') { - return {} + return { type: 'object' } } if (['string', 'number', 'boolean', 'object', 'integer'].includes(response)) { @@ -154,13 +155,17 @@ for (const packageName of Object.keys(agentPlugins)) { method.description = method.description || '' if (method.parameters) { + //@ts-ignore openApi.components.schemas = { + //@ts-ignore ...openApi.components.schemas, ...createSchema(generator, method.parameters).components.schemas, } } + //@ts-ignore openApi.components.schemas = { + //@ts-ignore ...openApi.components.schemas, ...createSchema(generator, method.response).components.schemas, } @@ -185,7 +190,7 @@ for (const packageName of Object.keys(agentPlugins)) { }, responses: { 200: { - description: method.description, + description: method.description || '', content: { 'application/json': { schema: getResponseSchema(method.response), @@ -199,12 +204,22 @@ for (const packageName of Object.keys(agentPlugins)) { } } -console.log('Writing ' + outputFile) -writeFileSync( - outputFile, - "import { OpenAPIV3 } from 'openapi-types'\nexport const openApiSchema: OpenAPIV3.Document = " + - JSON.stringify(openApi, null, 2), -) +SwaggerParser.validate(openApi) + .then((validatedOpenApi) => { + console.log('Writing ' + outputFile) + const fixedOpenApi = validatedOpenApi + //@ts-ignore + fixedOpenApi['components']['schemas'] = {} + fixedOpenApi['paths']['/resolveDid']['post']['responses']['200']['content']['application/json']['schema'][ + 'properties' + ]['uportProfile'] = { type: 'object' } + writeFileSync( + outputFile, + "import { OpenAPIV3 } from 'openapi-types'\nexport const openApiSchema: OpenAPIV3.Document = " + + JSON.stringify(fixedOpenApi, null, 2), + ) + }) + .catch(console.log) let summary = '# Available agent methods\n' for (const packageName of Object.keys(agentPlugins)) { diff --git a/yarn.lock b/yarn.lock index e6193122c..7064c85af 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,37 @@ # yarn lockfile v1 +"@apidevtools/json-schema-ref-parser@^9.0.6": + version "9.0.6" + resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.6.tgz#5d9000a3ac1fd25404da886da6b266adcd99cf1c" + integrity sha512-M3YgsLjI0lZxvrpeGVk9Ap032W6TPQkH6pRAZz81Ac3WUNF79VQooAFnp8umjvVzUmD93NkogxEwbSce7qMsUg== + dependencies: + "@jsdevtools/ono" "^7.1.3" + call-me-maybe "^1.0.1" + js-yaml "^3.13.1" + +"@apidevtools/openapi-schemas@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@apidevtools/openapi-schemas/-/openapi-schemas-2.0.4.tgz#bae1cef77ebb2b3705c7cc6911281da5153c1ab3" + integrity sha512-ob5c4UiaMYkb24pNhvfSABShAwpREvUGCkqjiz/BX9gKZ32y/S22M+ALIHftTAuv9KsFVSpVdIDzi9ZzFh5TCA== + +"@apidevtools/swagger-methods@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@apidevtools/swagger-methods/-/swagger-methods-3.0.2.tgz#b789a362e055b0340d04712eafe7027ddc1ac267" + integrity sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg== + +"@apidevtools/swagger-parser@^10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@apidevtools/swagger-parser/-/swagger-parser-10.0.2.tgz#f4145afb7c3a3bafe0376f003b5c3bdeae17a952" + integrity sha512-JFxcEyp8RlNHgBCE98nwuTkZT6eNFPc1aosWV6wPcQph72TSEEu1k3baJD4/x1qznU+JiDdz8F5pTwabZh+Dhg== + dependencies: + "@apidevtools/json-schema-ref-parser" "^9.0.6" + "@apidevtools/openapi-schemas" "^2.0.4" + "@apidevtools/swagger-methods" "^3.0.2" + "@jsdevtools/ono" "^7.1.3" + call-me-maybe "^1.0.1" + z-schema "^4.2.3" + "@apollo/client@^3.0.2": version "3.2.0" resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.2.0.tgz#d16ea4384a2126bf60e7d87b0a6c6df00382220b" @@ -1380,6 +1411,11 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" +"@jsdevtools/ono@^7.1.3": + version "7.1.3" + resolved "https://registry.yarnpkg.com/@jsdevtools/ono/-/ono-7.1.3.tgz#9df03bbd7c696a5c58885c34aa06da41c8543796" + integrity sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg== + "@lerna/add@3.21.0": version "3.21.0" resolved "https://registry.yarnpkg.com/@lerna/add/-/add-3.21.0.tgz#27007bde71cc7b0a2969ab3c2f0ae41578b4577b" @@ -18224,6 +18260,11 @@ validator@^11.0.0: resolved "https://registry.yarnpkg.com/validator/-/validator-11.1.0.tgz#ac18cac42e0aa5902b603d7a5d9b7827e2346ac4" integrity sha512-qiQ5ktdO7CD6C/5/mYV4jku/7qnqzjrxb3C/Q5wR3vGGinHTgJZN/TdFT3ZX4vXhX2R1PXx42fB1cn5W+uJ4lg== +validator@^12.0.0: + version "12.2.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-12.2.0.tgz#660d47e96267033fd070096c3b1a6f2db4380a0a" + integrity sha512-jJfE/DW6tIK1Ek8nCfNFqt8Wb3nzMoAbocBF6/Icgg1ZFSBpObdnwVY2jQj6qUqzhx5jc71fpvBWyLGO7Xl+nQ== + validator@^8.0.0: version "8.2.0" resolved "https://registry.yarnpkg.com/validator/-/validator-8.2.0.tgz#3c1237290e37092355344fef78c231249dab77b9" @@ -19387,6 +19428,17 @@ z-schema@4.2.2: optionalDependencies: commander "^2.7.1" +z-schema@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-4.2.3.tgz#85f7eea7e6d4fe59a483462a98f511bd78fe9882" + integrity sha512-zkvK/9TC6p38IwcrbnT3ul9in1UX4cm1y/VZSs4GHKIiDCrlafc+YQBgQBUdDXLAoZHf2qvQ7gJJOo6yT1LH6A== + dependencies: + lodash.get "^4.4.2" + lodash.isequal "^4.5.0" + validator "^12.0.0" + optionalDependencies: + commander "^2.7.1" + z-schema@~3.18.3: version "3.18.4" resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-3.18.4.tgz#ea8132b279533ee60be2485a02f7e3e42541a9a2"